Visual Studio 2012 - Intellisense disparaît parfois / est cassé

133

Mes collègues et moi utilisons VS2012 depuis quelques semaines maintenant. Parfois, après plusieurs heures de travail, l'intellisense est cassé. Après avoir fermé tous les onglets ouverts, cela fonctionne à nouveau.

Y a-t-il plus de gens qui ont le même problème? Cela ne peut pas être un problème d'extension car j'ai le même problème à la maison. Il existe peut-être une solution de contournement pour cela?

KroaX
la source
2
L'utilisation de Ctrl+ Spacefonctionne- t-elle après l'apparition de ce problème?
SajjadHashmi
7
Pas de Ctrl + Espace n'a aucun effet
KroaX
2
Avoir le même problème
msbg
2
Visual Studio utilise des implémentations indépendantes d'IntelliSense pour chacune de ses langues prises en charge, de sorte que la réponse dépendra probablement de la langue particulière utilisée. De plus, plusieurs extensions de Visual Studio modifient, augmentent ou même remplacent complètement les fonctionnalités d'IntelliSense pour une ou plusieurs langues, ce qui est susceptible de modifier la réponse fournie ici.
Sam Harwell
Veuillez voter dans ce menu d'utilisateur pour demander un accord de réinitialisation logicielle pour au moins atténuer ce problème
...

Réponses:

184

Voici les quelques meilleures solutions pour remettre Visual Studio 2012 intellisense sur les rails, essayez-les une par une, en espérant que l'une d'entre elles résoudra le problème:

When the problem occurs next time follow these: commencez à partir du n ° 1 et passez au suivant lorsque le précédent ne fonctionne pas pour vous

1: Close all the tabset ouvrez à nouveau votre fichier. (Merci à russds)

2: Clean the Build> Close the Solution> Restart Visual Studio> Open the Solutionnouveau

3: Aller à : Edit> IntelliSense>Refresh Local Cache

4: Fermez Visual Studio 2012 et supprimez ce dossier: %AppData%\Microsoft\VisualStudio\11.0\ReflectedSchemas

5: Aller à : TOOLS> Import and Export Settings>Reset all settings

6: Supprimer le .suofichier dans le dossier du projet. (Merci à Jason Steele)

J'espère que votre problème sera résolu par l'une des six étapes ci-dessus. Mais si ce n'est pas le cas après tout cela, je pense que vous devriez envisager de réinstaller votre VS2012.

SajjadHashmi
la source
6
Impossible de n ° 1 car cet élément de menu n'existe pas dans mon VS2012 (?). Impossible de faire # 2 car ce dossier n'existe pas. Mais après le redémarrage de VS2012, le problème a disparu.
Lasse Skindstad Ebert
20
je ne trouve nulle part actualiser le cache local en dessous?
MonsterMMORPG
6
La même chose m'est arrivée, aucune de ces solutions n'a fonctionné, mais la fermeture de tous les onglets a fonctionné. Cela devrait être la première option de cette solution.
russds
1
4 a travaillé pour le projet dans VS 2012, mais le dossier n'est pas là dans VS 2013 et j'ai toujours le problème là-bas. J'ai essayé de supprimer les GeneratedSchemas similaires mais cela n'a pas fonctionné non plus.
Jason Steele
1
@SajjadHashmi, que pensez-vous de la modification de votre réponse pour inclure une étape de suppression du fichier .suo? Il y a plusieurs commentaires et réponses votées dans ce fil qui suggèrent, et il semble donc que cela aiderait les autres à l'avoir dans cette liste principale. J'ai proposé une modification à cette question aujourd'hui pour l'inclure, mais ma modification a été rejetée (pour des raisons qui me laissent perplexe et un peu découragée). Quoi qu'il en soit, veuillez considérer cet ajout mineur à votre réponse.
pettys
19

J'utilise Visual Studio 2012 et j'ai le même problème. Ti le réparer (quand Intellisense ne fonctionne plus), je dois juste fermer l'onglet actuel (dans lequel Intellisense ne fonctionne pas) et le réouvrir ... et tout va bien ... pas besoin de fermer Visual Studio ou de tout fermer Onglets.

H_He
la source
2
Cela a fonctionné pour moi. Beats recharger l'ensemble de la solution ou redémarrer Visual Studio.
Howard Renollet
Merci! C'est aussi mon cas.
Hong
13

J'ai tout essayé. La seule chose que TRAVAILLE supprime le fichier SUO. Il s'agit d'un fichier caché appelé SolutionName.v11.suo dans le répertoire solution:

  1. Fermer la solution
  2. Assurez-vous que vous pouvez voir les fichiers cachés.
  3. Effacez le fichier suo.
  4. Rouvrir la solution.

Vous perdrez le bureau de la solution (aucun fichier ne sera ouvert automatiquement dans l'éditeur), mais c'est un petit prix à payer pour récupérer intellisense :)

Alon Gingold
la source
Des idées sur pourquoi cela se produit? Je supprime maintenant mes fichiers sou 3 fois ou plus par jour. Je n'ai pas isolé de plug-ins, mais je suppose que c'est Web Essentials ou Power Tools.
Skowronek
1
@Alon Gingold - n'est-ce pas simplement ce que j'ai dit le 13 novembre? Quoi qu'il en soit, j'ai installé les outils Xamarin et je me suis demandé si quelqu'un d'autre avec un problème avec le fichier .suo avait également ce problème?
Jason Steele
J'ai installé xamarin et je n'ai que ce problème tous les jours avec Visual Studio 2013
TombMedia
13

Vous n'avez pas besoin de redémarrer Visual Studio. Au lieu de cela, fermez la solution actuelle, puis rouvrez-la. J'espère cependant qu'il y avait une solution plus simple.

Mise à jour 4/16 : Pour les utilisateurs XAML, une solution qui fonctionne est aussi simple que de casser intentionnellement votre code; cela devrait être suffisant pour récupérer l'intellisense. Plus ici .

Impossible de vérifier si cela fonctionne également pour d'autres types de code, mais si c'est le cas, veuillez laisser un commentaire.

utileBee
la source
7
Vous n'avez pas besoin de fermer la solution actuelle. Au lieu de cela, juste WINDOW> Fermer tous les documents.
yoyo
12

Supprimez le fichier .suo. Essayez ceci, cela a fonctionné pour moi après tout échec.

Jason Steele
la source
Cela me rappelle l'ancien temps où vous deviez rendre le fichier .ncb en lecture seule pour que VS 2005 ne puisse pas l'utiliser et raccrocher pendant 30 minutes sur les en-têtes C ++.
Jon Harbour
6

J'ai le même problème. Pour moi, sélectionner la fin de la toute dernière ligne du fichier, puis enregistrer le fichier (ctrl-s) résout le problème.

ColinBurke
la source
2

Je dois d'abord noter que cela ne m'est pas arrivé depuis la mise à niveau de ma RAM à 16 Go.

Cela semble se produire lorsque je copie / colle des contrôles sur une page. Un autre effet secondaire de ceci est que le fichier designer.vb n'est pas mis à jour tout de suite et je n'ai pas accès à ces contrôles dans le code derrière.

Voici l'ordre des étapes que je passe:

  • Si un seul fichier / fenêtre semble être affecté, fermez / rouvrez ce fichier.

Dans Visual Studio:

  1. Cliquez sur Outils-> Options-> Éditeur de texte-> Toutes les langues-> Général
  2. Décochez "Liste automatique des membres"
  3. Décochez "Informations sur les paramètres"
  4. Cochez "Liste automatique des membres" (oui, celui que vous venez de décocher)
  5. Cochez "Informations sur les paramètres" (encore une fois, celle que vous venez de décocher)
  6. Cliquez sur OK

Si cela ne fonctionne pas, voici quelques étapes supplémentaires à essayer:

  1. Si cela ne fonctionne toujours pas, fermez toutes les fenêtres et rouvrez
  2. Si cela ne fonctionne toujours pas, fermez / rouvrez la solution
  3. Si cela ne fonctionne toujours pas, redémarrez VS.

Pour les projets C ++:
MSDN a quelques choses à essayer: suggestions MSDN

Le .ncbfichier corrompu semble le plus probable.

Depuis MSDN:

  1. Fermez la solution.
  2. Supprimez le .ncbfichier.
  3. Rouvrez la solution. (Cela crée un nouveau .ncbfichier.)

(Je n'ai pas encore compris pourquoi des étapes plus drastiques sont nécessaires dans certains cas.)

  • Testé dans VS 2013/15
  • Je n'ai pas eu ce problème depuis la mise à niveau de ma RAM
Tony L.
la source
1

J'avais un mauvais code xaml. Cela ne donnait pas d'erreur lors de la compilation, mais cela empêchait toujours l'intelliSense de fonctionner correctement dans le fichier xaml.

J'ai supprimé le code suivant pour résoudre le problème: Binding = "{Binding ReturnCode & Info}"

le '&' étant le problème

Suppurer
la source
1

Aucun de ceux-ci n'a fonctionné pour moi, mais je l'ai finalement fait fonctionner en désactivant Resharper. Je ne sais pas pourquoi c'était nécessaire car j'ai une autre solution LS où intellisense fonctionne bien. Je pensais juste que je le publierais au cas où quelqu'un d'autre aurait le même problème que moi.

Adam47
la source
1

Je rencontre le même problème et je le résolve. Gardez cela à l'esprit, si vous travaillez avec Silverlight, tout code XAML incorrect peut planter IntelliSense. Je suggère que si vous travaillez avec Silverlight, compilez votre projet pour détecter les codes XAML incorrects et résolvez-les dans la première étape et si le problème persiste, utilisez les étapes ci-dessus.

Cem Sönmez
la source
1

Le problème vient des fichiers .vcproj.

Vous constaterez que si vous passez en mode libération du mode débogage, construisez, puis essayez intellisense, cela fonctionne souvent.

Fermez Visual Studio. Si vous recherchez les fichiers .vcproj dans votre projet, modifiez-les et recherchez les deux premières instances de AdditionalIncludeDirectories. La valeur de ceci devrait ressembler à quelque chose comme ".. \, .... \" plutôt que "../ ..".

Rouvrez votre projet, laissez l'Intellisense terminer la construction, puis il devrait être corrigé.

Aaron Middleton
la source
Cela a résolu le problème pour moi après la réinstallation de VS.
SB2055
1

Étapes à suivre:

  1. Aller au menu Outils
  2. Cliquez sur "Importer et exporter les paramètres"
  3. Sélectionnez «Réinitialiser tous les paramètres». Cliquez sur Suivant
  4. Sauvegardez vos paramètres. Cliquez sur Suivant
  5. Sélectionnez vos paramètres d'environnement (par exemple, Paramètres de développement Visual C #). Cliquez sur Terminer.

Pas besoin de redémarrer Visual Studio.

ViPuL5
la source
1

J'ai eu un problème avec le rasoir Intellisense qui ne fonctionnait pas du tout dans l'un de mes projets. Aucun des correctifs ci-dessus n'a fonctionné pour moi. J'ai finalement pu résoudre le problème en changeant la version des pages Web dans la configuration Web en 2.0.0.0 au lieu de 3.0.0.0 ci-dessous:

<appSettings>
   <add key="webpages:Version" value="2.0.0.0" />
   ...
</appSettings>

J'espère que ça aidera quelqu'un d'autre.

Brad Germain
la source
0

Rien de ce qui précède n'a aidé à réparer Intellisense sur ma devbox (VS2012). J'ai même essayé "devenv / resetuserdata" qui a entraîné la nécessité de réinstaller tous les plugins.

Pourtant, dans les projets C ++, le code des blocs #if ABC ... #endif reste grisé.

En guise de solution de contournement temporaire, je modifie #if ABC en #if 1 // ABC, puis je rétablis la modification après avoir fini de modifier le bloc. Énervant...

EDIT: Quelques heures plus tard, j'ai trouvé une meilleure solution. J'ai commenté "#define ABC 1" dans le fichier d'en-tête et ajouté "ABC = 1;" aux Propriétés du projet-> C / C ++ -> Préprocesseur-> Définitions du préprocesseur. Ensuite, Intellisense a commencé à fonctionner correctement! Les blocs de code ne sont pas grisés.

Terry
la source
Les paramètres par défaut de Visual Studio griseront tout le code que le compilateur ignorera en raison des directives du compilateur telles que #if. Si les constantes définies changent lorsque votre configuration active change (par exemple, le #define debugest souvent défini en mode Débogage alors qu'il n'est pas présent en mode Release), alors la partie du code qui est grisée changera.
Zarepheth
0

J'avais un problème similaire dans Visual Studio 2013, je viens de nettoyer la solution puis de supprimer 4: Fermez Visual Studio 2013 et supprimez ce dossier: %AppData%\Microsoft\VisualStudio\12.0et cela a résolu le problème.

KevinBBurns
la source
0

J'ai isolé mes problèmes pour être avec VS Power Tools corrompant le * .suo. La fermeture de VS, la suppression du .suo, puis la réouverture résout le problème. Il supprime également tous les paramètres personnels de cette solution.

Une autre solution moins destructrice que j'ai rencontrée consiste à utiliser la commande d'alimentation "Modifier le fichier de projet", puis à recharger le projet pour que Intellisense fonctionne à nouveau.

Espérons que cela aide les autres.

Skowronek
la source
0

pour VS2013 - Projet ASP.NET MVC 5, un moyen simple de résoudre ce problème consistait à décharger et recharger le projet spécifique.

Nikos Tsokos
la source
0

Pour un projet Python, j'ai fini par supprimer le dossier caché .vs, le fichier .sln et le fichier .pyproj. J'ai ensuite recréé le projet à partir du code existant et Intellisense fonctionne à nouveau.

Mike Bourbeau
la source
0

Fermer l'onglet qui ne fonctionne pas l'a fait pour moi.

ps j'économiserais avant, juste au cas où VS serait bizarre;)

Oh, et le raccourci est Ctrl + Alt + Espace (pour basculer entre les modes de suggestion et d'achèvement standard)

James Heffer
la source
0

J'ai fait face à ces problèmes plusieurs fois et j'y suis toujours confronté.

La solution qui a fonctionné pour moi a été de réduire la longueur du chemin où la solution est placée. J'ai placé la solution plus près du lecteur C (c: /code/your_project.sln) et il vient de résoudre le problème intellisense Cela résout toujours le problème.

Md Naushad
la source
-1

Aucune de ces réponses n'a fonctionné pour moi. En examinant de plus près, j'ai remarqué qu'intellisense fonctionnait sur certains fichiers mais pas sur tous les fichiers. Et puis j'ai découvert que ce n'était qu'un seul fichier. Enfin ouvert le fichier .proj qui contenait:

  <ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
<Compile Include="Generator.cs" />
<Compile Include="PDFDocument2.cs" />
<None Include="PDFDocument.cs" />
<Compile Include="PdfDaemon.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

Bien sûr, intellisense ne fonctionne pas sur le fichier qui n'est pas marqué comme étant compilé.

Pitchmatt
la source