Visual Studio 2012 - Intellisense verschwindet manchmal / ist kaputt

133

Meine Kollegen und ich verwenden VS2012 seit einigen Wochen. Manchmal ist nach mehreren Stunden Arbeit die Intelligenz gebrochen. Nach dem Schließen aller geöffneten Registerkarten funktioniert es wieder.

Gibt es mehr Leute da draußen, die das gleiche Problem haben? Es kann kein Erweiterungsproblem sein, da ich zu Hause das gleiche Problem habe. Vielleicht gibt es dafür eine Problemumgehung?

KroaX
quelle
2
Funktioniert die Verwendung von Ctrl+, Spacenachdem dieses Problem aufgetreten ist?
SajjadHashmi
7
Kein Strg +
Leerzeichen
2
Das gleiche Problem haben
msbg
2
Visual Studio verwendet unabhängige Implementierungen von IntelliSense für jede der unterstützten Sprachen, sodass die Antwort wahrscheinlich von der jeweiligen verwendeten Sprache abhängt. Darüber hinaus ändern, erweitern oder ersetzen mehrere Visual Studio-Erweiterungen die IntelliSense-Funktionen für eine oder mehrere Sprachen, wodurch sich die hier angegebene Antwort wahrscheinlich ändert.
Sam Harwell
Bitte stimmen Sie in diesem Uservoice ab, um nach einem Soft-Reset-Akkord zu fragen, um dies zumindest zu mildern: visualstudio.uservoice.com/forums/121579-visual-studio/…
mattmanser

Antworten:

184

Dies sind die wenigen Top-Lösungen, um Visual Studio 2012 Intellisense wieder auf Kurs zu bringen. Probieren Sie sie nacheinander aus. Hoffen Sie, dass eine von ihnen das Problem löst:

When the problem occurs next time follow these: Beginnen Sie mit # 1 und fahren Sie mit dem nächsten fort, wenn der frühere für Sie nicht funktioniert

1: Close all the tabsund öffnen Sie Ihre Datei erneut. (Danke an russds)

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

3: Gehe zu : Edit> IntelliSense>Refresh Local Cache

4: Schließen Sie Visual Studio 2012 und löschen Sie diesen Ordner: %AppData%\Microsoft\VisualStudio\11.0\ReflectedSchemas

5: Gehe zu : TOOLS> Import and Export Settings>Reset all settings

6: .suoDatei im Projektordner löschen. (Danke an Jason Steele)

Ich hoffe, dass Ihr Problem durch einen der oben genannten sechs Schritte gelöst wird. Wenn dies nach all dem nicht der Fall ist, sollten Sie in Betracht ziehen, Ihren VS2012 neu zu installieren.

SajjadHashmi
quelle
6
Konnte nicht auf # 1 gesetzt werden, da dieser Menüpunkt in meinem VS2012 (?) Nicht vorhanden ist. Konnte nicht # 2 machen, da dieser Ordner nicht existiert. Nach dem Neustart von VS2012 verschwand das Problem.
Lasse Skindstad Ebert
20
Ich kann dort nirgendwo einen lokalen Cache aktualisieren finden.
MonsterMMORPG
6
Das gleiche ist mir passiert, keines der oben genannten hat funktioniert, aber das Schließen aller Registerkarten hat funktioniert. Das sollte Option eins in dieser Lösung sein.
Russds
1
4 hat für das Projekt in VS 2012 gearbeitet, aber der Ordner ist in VS 2013 nicht vorhanden, und ich habe dort immer noch das Problem. Ich habe stattdessen versucht, die ähnlich aussehenden GeneratedSchemas zu löschen, aber das hat auch nicht funktioniert.
Jason Steele
1
@SajjadHashmi, was halten Sie davon, Ihre Antwort so zu bearbeiten, dass sie einen Schritt zum Löschen der .suo-Datei enthält? Es gibt mehrere Kommentare und Antworten in diesem Thread, die darauf hindeuten, und es scheint, als würde es anderen helfen, sie in dieser Hauptliste zu haben. Ich habe heute eine Bearbeitung dieser Frage vorgeschlagen, um dies aufzunehmen, aber meine Bearbeitung wurde abgelehnt (aus Gründen, die mich ratlos und ein wenig entmutigt machen). Bitte berücksichtigen Sie diese geringfügige Ergänzung Ihrer Antwort.
Pettys
19

Ich verwende Visual Studio 2012 und habe das gleiche Problem. Um das Problem zu beheben (wenn Intellisense nicht mehr funktioniert), muss ich nur die aktuelle Registerkarte schließen (in der Intellisense nicht funktioniert) und es erneut ausführen ... und alles ist in Ordnung ... Sie müssen Visual Studio nicht schließen oder alle schließen Tabs.

H_He
quelle
2
Das hat bei mir tatsächlich funktioniert. Beats, die gesamte Lösung neu zu laden oder Visual Studio neu zu starten.
Howard Renollet
Vielen Dank! Dies ist auch mein Fall.
Hong
13

Versuchte alles. Das, was funktioniert hat, ist das Löschen der SUO-Datei. Es ist eine versteckte Datei namens SolutionName.v11.suo im Lösungsverzeichnis:

  1. Schließen Sie die Lösung
  2. Stellen Sie sicher, dass Sie versteckte Dateien sehen können.
  3. Löschen Sie die Suo-Datei.
  4. Lösung erneut öffnen.

Sie verlieren den Lösungsdesktop (im Editor werden keine Dateien automatisch geöffnet), aber das ist ein geringer Preis, um Intellisense zurückzubekommen :)

Alon Gingold
quelle
Irgendwelche Ideen, warum dies geschieht? Ich lösche jetzt meine Sou-Dateien 3 oder mehr Mal pro Tag. Ich habe keine Plug-Ins isoliert, aber ich vermute, es handelt sich um Web Essentials oder Power Tools.
Skowronek
1
@Alon Gingold - ist das nicht genau das, was ich am 13. November gesagt habe? Wie auch immer, ich habe die Xamarin-Tools installiert und mich gefragt, ob jemand anderes, der ein Problem mit der .suo-Datei hat, auch dieses Problem hat.
Jason Steele
Ich habe Xamarin installiert und habe jeden Tag nichts als dieses Problem mit Visual Studio 2013
TombMedia
13

Sie müssen Visual Studio nicht neu starten. Schließen Sie stattdessen die aktuelle Lösung und öffnen Sie sie erneut. Ich hoffe, es gab eine einfachere Lösung.

Update 4/16 : Für XAML-Benutzer ist eine funktionierende Lösung so einfach wie das absichtliche Brechen Ihres Codes. Dies sollte ausreichen, um Intellisense zurückzugewinnen. Mehr hier .

Es konnte nicht überprüft werden, ob dies auch für andere Codetypen funktioniert. Wenn dies jedoch der Fall ist, hinterlassen Sie bitte einen Kommentar.

nützlichBee
quelle
7
Sie müssen die aktuelle Lösung nicht schließen. Stattdessen einfach WINDOW> Alle Dokumente schließen.
Jojo
12

Löschen Sie die .suo-Datei. Versuchen Sie dies, es hat bei mir funktioniert, nachdem alles andere fehlgeschlagen ist.

Jason Steele
quelle
Erinnert mich an die alten Zeiten, als Sie die .ncb-Datei schreibgeschützt machen mussten, damit VS 2005 sie nicht verwenden und auflegen konnte, während Sie 30 Minuten lang an C ++ - Headern herumwirbelten.
Jon Harbour
6

Ich habe das gleiche Problem. Wenn ich das Ende der allerletzten Zeile der Datei auswähle und dann die Datei speichere (Strg-S), wird das Problem behoben.

ColinBurke
quelle
2

Ich sollte zuerst beachten, dass mir dies seit dem Upgrade meines RAM auf 16 GB nicht mehr passiert ist.

Dies scheint zu passieren, wenn ich Steuerelemente auf einer Seite kopiere / einfüge. Ein weiterer Nebeneffekt davon ist, dass die Datei designer.vb nicht sofort aktualisiert wird und ich keinen Zugriff auf diese Steuerelemente im Code dahinter habe.

Dies ist die Reihenfolge der Schritte, die ich durchlaufe:

  • Wenn nur 1 Datei / Fenster betroffen zu sein scheint, schließen Sie diese Datei / öffnen Sie sie erneut.

In Visual Studio:

  1. Klicken Sie auf Extras-> Optionen-> Texteditor-> Alle Sprachen-> Allgemein
  2. Deaktivieren Sie "Mitglieder automatisch auflisten".
  3. Deaktivieren Sie "Parameterinformationen"
  4. Aktivieren Sie "Mitglieder der automatischen Liste" (ja, die, die Sie gerade deaktiviert haben).
  5. Aktivieren Sie "Parameterinformationen" (erneut die, die Sie gerade deaktiviert haben).
  6. OK klicken

Wenn dies nicht funktioniert, versuchen Sie es noch einmal:

  1. Wenn dies immer noch nicht funktioniert, schließen Sie alle Fenster und öffnen Sie sie erneut
  2. Wenn dies immer noch nicht funktioniert, schließen Sie die Lösung und öffnen Sie sie erneut
  3. Wenn dies immer noch nicht funktioniert, starten Sie VS neu.

Für C ++ - Projekte:
MSDN hat einige Dinge zu versuchen: MSDN-Vorschläge

Die beschädigte .ncbDatei scheint am wahrscheinlichsten.

Von MSDN:

  1. Schließen Sie die Lösung.
  2. Löschen Sie die .ncbDatei.
  3. Öffnen Sie die Lösung erneut. (Dadurch wird eine neue .ncbDatei erstellt.)

(Ich habe noch nicht herausgefunden, warum in einigen Fällen drastischere Schritte erforderlich sind.)

  • Getestet in VS 2013/15
  • Ich hatte diese Probleme seit dem Upgrade meines RAM nicht mehr
Tony L.
quelle
1

Ich hatte einen schlechten XAML-Code. Beim Kompilieren wurde kein Fehler ausgegeben, aber es verhinderte immer noch, dass der IntelliSense in der xaml-Datei ordnungsgemäß funktioniert.

Ich habe den folgenden Code entfernt, um das Problem zu beheben: Binding = "{Binding ReturnCode & Info}"

Das '&' ist das Problem

Eitern
quelle
1

Nichts davon hat bei mir funktioniert, aber ich habe es endlich zum Laufen gebracht, indem ich Resharper deaktiviert habe. Ich bin mir nicht sicher, warum es notwendig war, weil ich eine andere LS-Lösung habe, bei der Intellisense gut funktioniert. Ich dachte nur, ich würde es posten, falls jemand anderes das gleiche Problem hat, das ich hatte.

Adam47
quelle
1

Ich stoße auf das gleiche Problem und löse es. Beachten Sie, dass bei der Arbeit mit Silverlight jeder falsche XAML-Code IntelliSense zum Absturz bringen kann. Ich schlage vor, wenn Sie mit Silverlight arbeiten, kompilieren Sie Ihr Projekt, um falsche XAML-Codes zu erkennen, und lösen Sie diese im ersten Schritt. Wenn das Problem weiterhin besteht, führen Sie die obigen Schritte aus.

Cem Sönmez
quelle
1

Das Problem liegt bei den .vcproj-Dateien.

Sie werden feststellen, wenn Sie vom Debug-Modus in den Release-Modus wechseln, erstellen und dann Intellisense ausprobieren, funktioniert dies häufig.

Schließen Sie Visual Studio. Wenn Sie in Ihrem Projekt nach den .vcproj-Dateien suchen, bearbeiten Sie sie und suchen Sie nach den ersten beiden Instanzen von AdditionalIncludeDirectories. Der Wert dafür sollte eher wie ".. \, .... \" als wie "../ .." aussehen.

Öffnen Sie Ihr Projekt erneut, lassen Sie das Intellisense-Gebäude fertig stellen, dann sollte es repariert werden.

Aaron Middleton
quelle
Dies hat es für mich nach der Neuinstallation von VS nicht behoben.
SB2055
1

Schritte zum folgen:

  1. Gehen Sie zum Menü Extras
  2. Klicken Sie auf "Einstellungen importieren und exportieren".
  3. Wählen Sie "Alle Einstellungen zurücksetzen". Weiter klicken
  4. Sichern Sie Ihre Einstellungen. Weiter klicken
  5. Wählen Sie Ihre Umgebungseinstellungen aus (z. B. Visual C # -Entwicklungseinstellungen). Klicken Sie auf Fertig stellen.

Visual Studio muss nicht neu gestartet werden.

ViPuL5
quelle
1

Ich hatte ein Problem mit dem Rasiermesser Intellisense, das in einem meiner Projekte überhaupt nicht funktioniert hat. Keine der oben genannten Korrekturen hat bei mir funktioniert. Ich konnte das Problem endlich beheben, indem ich die Webseitenversion in der Webkonfiguration auf 2.0.0.0 anstatt auf 3.0.0.0 änderte (siehe unten):

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

Ich hoffe das hilft jemand anderem.

Brad Germain
quelle
0

Keiner der oben genannten Punkte hat dazu beigetragen, Intellisense auf meiner Devbox (VS2012) zu reparieren. Ich habe sogar "devenv / resetuserdata" ausprobiert, was dazu führte, dass alle Plugins neu installiert werden mussten.

In C ++ - Projekten bleibt der Code in #if ABC ... #endif-Blöcken jedoch ausgegraut.

Als vorübergehende Problemumgehung ändere ich #if ABC in #if 1 // ABC und setze die Änderung zurück, nachdem ich den Block bearbeitet habe. Nervig...

EDIT: Wenige Stunden später fand ich eine bessere Lösung. Ich habe "#define ABC 1" in der Header-Datei auskommentiert und "ABC = 1;" hinzugefügt. zu den Projekteigenschaften-> C / C ++ -> Präprozessor-> Präprozessordefinitionen. Dann fing Intellisense an, richtig zu arbeiten! Die Codeblöcke sind nicht ausgegraut.

Terry
quelle
Visual Studio-Standardeinstellungen wird grau-out aller Code , dass der Compiler aufgrund Compiler - Direktiven wie überspringen wird #if. Wenn sich die definierten Konstanten ändern, wenn sich Ihre aktive Konfiguration ändert (z. B. #define debugwird die häufig im Debug-Modus festgelegt, während sie im Release-Modus nicht vorhanden ist), ändert sich der abgeblendete Teil des Codes.
Zarepheth
0

Ich hatte ein ähnliches Problem in Visual Studio 2013, habe gerade die Lösung bereinigt und dann 4: Visual Studio 2013 schließen und diesen Ordner löschen: %AppData%\Microsoft\VisualStudio\12.0und das Problem wurde behoben.

KevinBBurns
quelle
0

Ich habe meine Probleme so isoliert, dass VS Power Tools die * .suo beschädigt. Das Schließen von VS, das Löschen der .suo-Datei und das erneute Öffnen beheben das Problem. Außerdem werden alle persönlichen Einstellungen für diese Lösung gelöscht.

Eine andere, weniger zerstörerische Lösung, auf die ich gestoßen bin, besteht darin, den Energiebefehl "Projektdatei bearbeiten" zu verwenden und das Projekt dann neu zu laden, damit Intellisense wieder funktioniert.

Hoffentlich hilft das anderen.

Skowronek
quelle
0

Für VS2013 - ASP.NET MVC 5-Projekt bestand eine einfache Möglichkeit, dies zu beheben, darin, das jeweilige Projekt zu entladen und neu zu laden.

Nikos Tsokos
quelle
0

Bei einem Python-Projekt habe ich schließlich den versteckten .vs-Ordner, die .sln-Datei und die .pyproj-Datei gelöscht. Ich habe das Projekt dann aus vorhandenem Code neu erstellt und Intellisense funktioniert wieder.

Mike Bourbeau
quelle
0

Das Schließen der Registerkarte, die nicht funktioniert, hat es für mich getan.

ps Ich würde vorher speichern, nur für den Fall, dass VS komisch ist;)

Oh, und die Verknüpfung lautet Strg + Alt + Leertaste (um zwischen Vorschlags- und Standardabschlussmodus umzuschalten).

James Heffer
quelle
0

Ich war mehrmals mit diesen Problemen konfrontiert und bin auch immer noch damit konfrontiert.

Die Lösung, die für mich funktioniert hat, bestand darin, die Länge des Pfades zu reduzieren, auf dem sich die Lösung befindet. Ich habe die Lösung näher an Laufwerk C platziert (c: /code/your_project.sln) und sie hat gerade das Intellisense-Problem gelöst. Dies löst immer das Problem.

Md Naushad
quelle
-1

Keines der oben genannten hat bei mir funktioniert. Bei näherer Betrachtung bemerkte ich, dass Intellisense bei einigen Dateien, aber nicht bei allen Dateien funktionierte. Und dann entdeckt, dass es nur eine Datei war. Schließlich öffnete die .proj-Datei, die enthielt:

  <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" />

Natürlich funktioniert Intellisense nicht für Dateien, die nicht als kompiliert markiert sind.

Pitchmatt
quelle