Visual Studio Code Intellisense ist sehr langsam - Kann ich etwas tun?


76

Bearbeiten: Pylance scheint dies viel besser zu können und hat bisher alle Probleme mit dem vorherigen Python-Sprachserver von Microsoft gelöst.

Ich verwende VS-Code und es ist wunderbar, dass alle Bereiche außer der Code-Vervollständigung nur zu langsam sind, um von Nutzen zu sein. Dieses Beispiel zeigt, wie lange Intellisense gebraucht hat, um eine lokale Variable zu finden. Dies geschieht erst, nachdem ich dazu aufgefordert wurde, nachdem ich Strg + Eingabetaste gedrückt habe.

Geben Sie hier die Bildbeschreibung ein

Ich konnte noch keine Lösung dafür finden, daher bin ich hier, um zu fragen, ob jemand ein ähnliches Problem hatte und wie er es überwunden hat.


5
Irgendeine Lösung für dieses Problem? Ich stehe vor dem gleichen. VsCode v1.33 und geschieht auch mit allen deaktivierten Erweiterungen.
Entwickler

Gleicher Fehler. Mit v1.33 wurde es an meinem Ende wirklich schlimmer. Ich verwende Windows 10 Pro 64bit auf einer 250 GB SSD, 16 GB RAM und einer i5-4460-CPU. Ich denke nicht, dass es ein Hardwareproblem ist, da es imo viel zu sein scheint. Es wurde versucht, eine vollständige Neuinstallation durchzuführen, nachdem die entsprechenden Dateien unter% userprofile% und% appdata% gelöscht wurden. Das Deaktivieren aller Erweiterungen hilft auch nicht. Wenn diese Option aktiviert ist, verzögern sich die Jobs aller Erweiterungen erheblich länger als im Screenshot dargestellt.
ZeferiniX

Ich hatte besseres Glück mit dem neuen Microsoft Python Language Server. Dies mag eine dumme Sache sein, aber stellen Sie sicher, dass Sie das verwenden. Versuchen Sie es mit einem völlig neuen Projekt, da einige Einstellungen möglicherweise in der Arbeitsbereichsdatei definiert sind, nicht im% userprofile%
Anti-Distinctlyminty

1
Ich habe auch dieses Problem. Das Auftauchen dauert 7 Sekunden. Ich habe einen brandneuen Laptop und es ist schlimmer als auf meinem alten Laptop, der wirklich alt und langsam ist.
MadMac

1
@dhirajsuvarna Wenn Sie das Problem reproduzieren können, melden Sie einen Fehler unter github.com/microsoft/vscode-python/issues (oder prüfen Sie, ob das Problem dort bereits gemeldet wurde). Es ist ein wenig mühsam, aber es ist der einzige Weg, um Dinge zu reparieren.
Anti-Distinctlyminty

Antworten:


7

Vielleicht ist es Jedi . Ich meine, es ist großartig, aber ... Wenn ich selbst an Jedi auf größeren Codebasen bastele, kann ich bestätigen, dass es manchmal sehr langsam ist und es ziemlich schwierig ist, die Probleme herauszufinden ...: /

Die Lösung könnte darin bestehen, zu einem anderen Sprachserver zu wechseln! Die VSCode Python-Erweiterung hat eine "Language Server" -Einstellung:

Geben Sie hier die Bildbeschreibung ein

aka python.languageServer.

Pylance ist ein MS-eigener neuer Sprachserver. Ich habe es gerade versucht und alles scheint etwas schneller. Ab heute ist dies als Vorschau markiert . Es könnte also Verbesserungen um die Ecke geben.


1
Das hat es für mich gelöst! Die Verzögerung war zu ärgerlich, Pylance scheint viel besser zu funktionieren und bietet in einigen Fällen eine bessere Fehlerprüfung.
Quanta

1
Für mich scheint Pylance eine Tonne besser zu sein als Jedi.
JThistle

Um fair zu sein, Jedi ist 8 Jahre alt und vielseitig! Ja, vielleicht war es Zeit für etwas Neues;)
ewerybody

31

Es stellte sich heraus, dass es eine bestimmte VS-Code-Erweiterung für mich war.
Angular Language Service. Durch Deaktivieren wurde es blitzschnell.

Versuchen Sie dies, um festzustellen, ob es sich um eine bestimmte Erweiterung handelt.

  • Befehlspalette öffnen (Strg + Umschalt + P)
  • Geben Sie "Alle installierten Erweiterungen deaktivieren" ein.
  • Aktivieren Sie sie einzeln oder in Gruppen und testen Sie die Intellisense-Geschwindigkeit

23

Das Problem liegt möglicherweise in einer falschen Einstellungskonfiguration.
Möglicherweise möchten Sie sicherstellen, dass diese Einstellungen aktiviert sind:

Steuert, ob Vorschläge während der Eingabe automatisch angezeigt werden sollen

"editor.quickSuggestions": {
  "other": true,
  "comments": false,
  "strings": false
},

Steuert die Verzögerung in ms, nach der schnelle Vorschläge angezeigt werden

"editor.quickSuggestionsDelay": 10,

13

Meine Antwort ist für C ++, aber immer noch irgendwie verwandt.

Ich verwende die C / C ++ - Erweiterung von Microsoft, und als ich die Intelli Sense EngineEinstellung von Default"kontextsensitive Ergebnisse" auf Tag Parser"unscharfe Ergebnisse, die nicht kontextsensitiv sind" änderte, wurden sofort IntelliSense-Optionen angezeigt anstatt 5+ Sekunden zu verzögern.

Überprüfen Sie daher möglicherweise die speziellen Optionen der Erweiterung (en) Ihrer Sprache oder Umgebung.


3
Ich fand auch die "C_Cpp.intelliSenseCacheSize": 0, Einstellung nützlich
Kevinf

@kevinf Guter Fund! Es wird nicht in den Einstellungen angezeigt
Andrew

6

Ich hatte das gleiche Problem mit Python auf VS Code. In meinem Fall hat das Deaktivieren von Jedi für IntelliSence die Dinge schneller gemacht.

Setzen Sie einfach "python.jediEnabled": false in den Optionen.

Da der Speicher für mich kein Problem darstellt, habe ich auch die Codeanalyse aktiviert, um Parser-Bäume im Speicher zu halten: "python.analysis.memory.keepLibraryAst": true


2

Befehlspalette öffnen ( Ctrl+ Shift+ P)

Befehlspalette

Wählen Sie Entwickler: Laufende Erweiterung anzeigen

Sie erhalten die Liste der Erweiterungen und die Neustartzeit aufführen

Wenn die Aktivierung der Erweiterung mehr als 500 ms dauert, scheint ein Problem damit zu bestehen

Sie können mit der rechten Maustaste klicken und es stoppen

Rechtsklick

mehr Details...


0

Für mich hatte ich die Arduino-Erweiterung installiert.
Dies war problematisch, da es dachte, dass es jedes Mal verwendet werden sollte, wenn ich in C ++ codierte, so dass es die Autovervollständigungen wirklich verlangsamte.

Ich habe es gerade für meinen Arbeitsbereich deaktiviert und alles funktioniert sehr schnell

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.