Aktualisieren der Datenbank für die automatische Vervollständigung (IntelliSense) in Visual Studio

Lesezeit: 6 Minuten

Aktualisieren der Datenbank fur die automatische Vervollstandigung IntelliSense in Visual
Sebi

Mir ist aufgefallen, dass die automatische Vervollständigungsfunktion in Visuelles Studio funktioniert nicht mehr richtig, wenn mein Projekt eine bestimmte Größe erreicht hat (in meinem Fall ~4.100 Codezeilen). Ich habe auch festgestellt, dass die Leistung auch abnimmt, wenn die Anzahl der Bibliotheken von Drittanbietern zunimmt (Namespaces und Klassenattribute und Methoden sind nicht mehr sichtbar).

Gibt es eine Möglichkeit, die Datenbank für die automatische Vervollständigung manuell zu aktualisieren oder eine neue für ein vorhandenes Projekt zu erstellen?

Ich arbeite derzeit unter Visual Studio 2008, aber ich habe dieses Problem in erlebt Visual Studio 2010 sowie.

  • Mögliches Duplikat: VS2010 IDE Einige Intellisense funktionieren nicht.

    – Inspektionsfähig

    17. August 13 um 14:55 Uhr

  • Intellisense ist für immer kaputt. Entfernen Sie die NCB-Datei und es wird für eine Weile funktionieren.

    – Brian Beuning

    17. August 13 um 15:47 Uhr

  • Oder im Fall von VS2010 und höher die .sdf-Datei. MS verwendet ab VS2010 eine SQL Desktop-Datenbank für ihre Intellisense-Datenbank. Schließen Sie Ihre Lösung, löschen Sie die .sdf-Datei und öffnen Sie die Lösung erneut. Lassen Sie es eine Weile kochen, und es sollte Ihr Projekt scannen (und alle Kopfzeilen einschließlich Systemkopfzeilen).

    – WhozCraig

    17. August 13 um 17:29 Uhr

  • @WhozCraig ist richtig.

    Benutzer152949

    17. August 13 um 17:43 Uhr

1642796407 597 Aktualisieren der Datenbank fur die automatische Vervollstandigung IntelliSense in Visual
Konstantin

Schließen Sie für VS2015, 2017 und VS2019 Visual Studio, und löschen Sie den Ordner „.vs“ im selben Ordner wie die Lösung. Es enthält unter anderem die Intellisense-Datenbank (es sollte möglich sein, nur die für Intellisense spezifischen Dateien zu löschen, wenn wir wüssten, welche). Beachten Sie, dass Sie Ihre Fensterlayoutkonfigurationen usw. verlieren, wenn Sie den gesamten Ordner löschen.

Schließen Sie für frühere Versionen Visual Studio, und navigieren Sie zu Ihrem Projektordner. Die *.sdf-Datei dort enthält die Intellisense-Datenbank. Wenn Sie diese Dateien löschen und Ihr Projekt in Visual Studio erneut öffnen, wird der Cache neu erstellt.

Das Löschen der sdf-Datei löste das Problem für mich.

Manchmal wird die Arbeit mit einer großen Lösung (hauptsächlich C++-Projekte) unerträglich langsam. Um das Problem zu beheben, müssen Sie die Lösung schließen und die .SDF-Datei löschen. Danach kehrt es für etwa eine Woche wieder zum Normalzustand zurück, bis Sie es erneut tun müssen.

Die zugrunde liegende Ursache ist, dass die SDF-Datei fragmentiert wird und VS laut xperf-Profiling, das ich durchgeführt habe, manchmal mehr als 20.000 zufällige Lesevorgänge daraus durchführt, wenn zwischen Debug und Release gewechselt wird. Das Ablegen der SDF-Dateien auf eine SSD behebt das Problem, sollte aber nicht erforderlich sein. VS muss die SDF-Datei effizienter nutzen und darf niemals SDF-Operationen blockieren.

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

  • Unter VS2015 und 2017 erstellt es jetzt einen .vs-Ordner im selben Ordner wie die Lösung. Das ist der Ordner, der unter anderem den Intellisense enthält. Das Löschen behebt das Problem.

    – Körbe

    18. Mai 17 um 21:24 Uhr

  • Ich stimme dem zu .vs Ordner löschen. Dies ist manchmal auch eine Lösung für IntelliSense-PCH-Probleme, aber Vorsicht – Sie verlieren Ihre Fensterlayoutkonfigurationen usw.

    – Benutzer35443

    18. Juni 17 um 16:34 Uhr

  • Dies funktioniert auch mit Visual Studio 2019 – ich hatte ein Projekt, bei dem einer Quelldatei eine Header-Datei hinzugefügt wurde, und obwohl es korrekt erstellt wurde, zeigte das Intellisense für diese Quelldatei rechts zahlreiche rote Markierungen. Nichts, was ich versuchte, konnte es beheben, bis ich die Lösung schloss, den .vs-Ordner löschte, die Lösung erneut öffnete und neu erstellte.

    – dgnuff

    10. Juni 19 um 22:02 Uhr

  • @ggcg Der Ordner “.vs” ist standardmäßig ausgeblendet – haben Sie “versteckte Elemente anzeigen” in Windows aktiviert? Welche Version von Visual Studio verwendest du?

    – Konstantin

    5. November 19 um 1:27 Uhr

  • Wenn Sie die darin enthaltene .suo-Datei nicht löschen, bleibt das Layout erhalten. Das heißt, wir wissen vielleicht nicht genau, welche Dateien im .vs-Verzeichnis für Intellisense sind (obwohl es wahrscheinlich die .db-Dateien sind), aber wir wissen, dass .suo für lösungsspezifische Optionen pro Benutzer vorgesehen ist.

    – stijn

    11. März 20 um 12:46 Uhr

In VS2017 stoße ich oft auf diese Situation, wenn ich Interop verwende, um CPP von C# aus aufzurufen, wenn sich auf der CPP-Seite etwas ändert. z. B. Konstruktorargumente.

Das Entladen und Neuladen des CPP-Projekts in der Lösung hilft, die roten Linien zu lösen.

  • kannst du genau erklären was du gemacht hast? Ich leide unter genau der gleichen Situation. Ich verwende derzeit CMake, um die Projekte zu erstellen, daher weiß ich nicht, was das Neuladen des CPP-Projekts genau bedeutet.

    – KimHajun

    1. Januar 20 um 11:18 Uhr


  • Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie im Menü „Entladen“ aus. Klicken Sie dann erneut mit der rechten Maustaste, Neu laden. Rote Linien verschwanden. Aber das ist vor 1 Jahr, vielleicht wurden diese Intellisense-Markierungsprobleme in VS2019 gelöst? Ich bin auf einige Fälle gestoßen (z. B. könnte ein Tippfehler in einer .csproj-Datei dies verursachen) und um das zu lösen, siehe Constantins Antwort oben. Das Löschen der .vs scheint ein “Wundermittel” zu sein, um Probleme mit dem VS-State-Cache zu lösen.

    – Leckereien

    24. Januar 20 um 3:17 Uhr


  • Dies funktioniert auch für andere Projekttypen und VS-Versionen, habe dies gerade für eine .NET Standard-Klassenbibliothek in VS2019 getan.

    – StevoInco

    13. Dezember 2020 um 5:44 Uhr

Ich verwende Visual Studio 2019 und hatte neben anderen Funktionen auch Probleme mit Intellisense. Ich könnte ungefähr 2 oder 3 Aktualisierungen an einer Datei durchführen, bevor Intellisense nicht mehr zusammen mit der Codeformatierung funktioniert.

Die einzige Möglichkeit, die Dinge wieder zum Laufen zu bringen, bestand darin, Visual Studio neu zu starten. Ich habe versucht, sowohl den Intellisense-Ordner als auch das Ganze zu entfernen .vs Ordner, aber das hat das Problem nicht gelöst, es hat geholfen, aber etwas anderes war los.

Ich konnte das endlich beheben, indem ich das ausschaltete Track changes Option unter

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

Geben Sie hier die Bildbeschreibung ein

  • Änderungen verfolgen: Wenn der Code-Editor ausgewählt ist, erscheint eine vertikale gelbe Linie am Auswahlrand, um Code zu markieren, der sich seit dem letzten Speichern der Datei geändert hat. Wenn Sie die Änderungen speichern, werden die vertikalen Linien grün.

    – Simon_Weaver

    4. Mai 21 um 6:52 Uhr

Schließen Sie für Visual Studio 2017 (und ich denke auch Visual Studio 2019) Visual Studio, wechseln Sie in den Ordner .vs in Ihrem Projektordner und löschen Sie alle Inhalte außer der .suo-Datei, und öffnen Sie dann Visual Studio erneut.

Auf diese Weise können Sie den Intellisense-Cache neu erstellen, ohne Ihre Einstellungen zu verlieren.

1642796407 844 Aktualisieren der Datenbank fur die automatische Vervollstandigung IntelliSense in Visual
Digby Jones

Klicken Sie mit der rechten Maustaste auf die Lösung und drücken Sie „Lösung erneut scannen“. Es schien für mich zu funktionieren.
Screenshot des Menüs mit hervorgehobener Aktion

1642796408 331 Aktualisieren der Datenbank fur die automatische Vervollstandigung IntelliSense in Visual
E. Einfalt

Nachdem ich die Ergebnisse von daniol vom 15. März überprüft hatte, ging ich in den .vs-Ordner -> {MyProject}-Ordner -> DesignTimeBuild-Ordner und löschte die .dbtcache-Datei und Intellisense funktioniert jetzt „intelligent“ ohne Verlust des Fensterlayouts oder anderer .suo-Informationen. Ich vermute, dass der von eq_ am 4. Januar angebotene Befehl „Diagnostics.DTBBLog“ dasselbe getan hat, aber dieser Befehl scheint nicht mehr verfügbar zu sein, zumindest unter diesem Namen.

1642796408 671 Aktualisieren der Datenbank fur die automatische Vervollstandigung IntelliSense in Visual
eq_

Für Visual Studio 2017 (und hauptsächlich mit C#-Projekten) hat Folgendes immer für mich funktioniert:

  • Öffnen Sie ein Befehlsfenster (Ansicht/Andere Fenster/Befehlsfenster) [Ctrl+W,A]
  • Geben Sie den Befehl “Diagnostics.DTBBLog” ein und drücken Sie die Eingabetaste

Es ist nicht erforderlich, die Lösung zu schließen und neu zu laden usw. Es war niederschmetternd herauszufinden, dass dieser Befehl für Visual Studio 2019 entfernt wurde …

  • “Befehl “Diagnostics.DTBBLog” ist ungültig”

    – Daniol

    15. März 21 um 12:58 Uhr

.

580410cookie-checkAktualisieren der Datenbank für die automatische Vervollständigung (IntelliSense) in Visual Studio

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy