web-dev-qa-db-fra.com

Actualisation de la base de données de saisie semi-automatique (IntelliSense) dans Visual Studio

J'ai remarqué que la fonction de saisie semi-automatique dans Visual Studio ne fonctionne plus correctement une fois que mon projet a atteint une certaine taille (dans mon cas ~ 4 100 lignes de code). J'ai également remarqué que les performances se dégradent également lorsque le nombre de bibliothèques tierces augmente (les espaces de noms et les attributs et méthodes de classe ne sont plus visibles).

Existe-t-il un moyen de mettre à jour manuellement la base de données de complétion automatique ou d'en créer une nouvelle pour un projet existant?

Je travaille actuellement sous Visual Studio 2008 , mais j'ai également rencontré ce problème dans Visual Studio 201 .

23
Sebi

Pour VS2015, 2017 et VS2019, fermez Visual Studio et supprimez le dossier .vs dans le même dossier que la solution. Il contient entre autres la base de données intellisense (il devrait être possible de supprimer uniquement les fichiers spécifiques à intellisense, si nous savions lesquels). Notez que si vous supprimez le dossier entier, vous perdrez vos configurations de disposition de fenêtre, etc.

Pour les versions précédentes, fermez Visual Studio et accédez à votre dossier de projet. Le fichier * .sdf contient la base de données intellisense - si vous supprimez ces fichiers et rouvrez votre projet dans Visual Studio, il reconstruit le cache.

La suppression du fichier sdf a résolu le problème pour moi.

Parfois, travailler avec une grande solution (principalement des projets C++) devient insupportablement lent. Pour y remédier, vous devez fermer la solution et aller supprimer le fichier .SDF. Après cela, il revient à la normale, pendant environ une semaine, ou jusqu'à ce que vous deviez recommencer.

La cause sous-jacente est que le fichier SDF est fragmenté et, selon le profilage xperf que j'ai fait, VS effectuera parfois plus de 20000 lectures aléatoires lors du passage du débogage à la version. Placer les fichiers SDF sur un SSD résout le problème mais ne devrait pas être nécessaire. VS doit utiliser le fichier SDF plus efficacement et ne jamais bloquer les opérations SDF.

Source: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2255455-fix-the-delete-sdf-file-problem

16
Constantin

Dans VS2017, je rencontre souvent cette situation lorsque j'utilise l'interopérabilité pour appeler CPP à partir de C #, lorsque quelque chose change du côté CPP. arguments du constructeur.

Décharger et recharger le projet CPP dans la solution permet de résoudre les lignes rouges.

6
Goodies

Pour Visual Studio 2017 (et je pense que Visual Studio 2019 aussi), fermez Visual Studio, allez dans le dossier .vs dans votre dossier de projets et supprimez tout le contenu en dehors du fichier .suo, puis rouvrez Visual Studio.

De cette façon, vous pouvez reconstruire le cache Intellisense sans perdre vos préférences.

2
Aidan

J'utilise Visual Studio 2019 et j'ai également rencontré des problèmes avec Intellisense avec d'autres fonctionnalités. Je serais en mesure de passer à travers environ 2 ou 3 mises à jour d'un fichier avant qu'Intellisense ne cesse de fonctionner avec la mise en forme du code.

La seule façon dont j'ai pu faire fonctionner les choses à nouveau était de redémarrer Visual Studio, j'ai essayé de supprimer à la fois le dossier intellisense et l'ensemble .vs dossier mais cela n'a pas résolu le problème, cela a aidé mais quelque chose d'autre se passait.

J'ai finalement pu résoudre ce problème en désactivant le Track changes option sous

Tools->Options->Text Editor->General.

enter image description here

0
Andy Braham