Maybaygiare.org

Blog Network

IntelliSense

IntelliSense ist ein allgemeiner Begriff für verschiedene Codebearbeitungsfunktionen, einschließlich: Codevervollständigung, Parameterinformationen, Schnellinformationen und Mitgliederlisten. IntelliSense-Funktionen werden manchmal unter anderen Namen wie „Codevervollständigung“, „Inhaltsassistent“ und „Code-Hinweis“ aufgerufen.“

IntelliSense Demo

IntelliSense für Ihre Programmiersprache

Visual Studio Code IntelliSense ist für JavaScript, TypeScript, JSON, HTML, CSS, SCSS und weniger aus der Box zur Verfügung gestellt. VS Code unterstützt wortbasierte Vervollständigungen für jede Programmiersprache, kann jedoch auch so konfiguriert werden, dass IntelliSense durch die Installation einer Spracherweiterung erweitert wird.

Nachfolgend finden Sie die beliebtesten Spracherweiterungen auf dem Markt. Klicken Sie unten auf eine Erweiterungskachel, um die Beschreibung und Bewertungen zu lesen und zu entscheiden, welche Erweiterung für Sie am besten geeignet ist.

IntelliSense-Funktionen

VS Code IntelliSense-Funktionen werden von einem Sprachdienst bereitgestellt. Ein Sprachdienst bietet intelligente Codevervollständigungen basierend auf der Sprachsemantik und einer Analyse Ihres Quellcodes. Wenn ein Sprachdienst mögliche Vervollständigungen kennt, werden die IntelliSense-Vorschläge während der Eingabe angezeigt. Wenn Sie weiterhin Zeichen eingeben, wird die Liste der Mitglieder (Variablen, Methoden usw.) wird gefiltert, um nur Mitglieder einzuschließen, die Ihre eingegebenen Zeichen enthalten. Durch Drücken der Tabulatortaste oder der Eingabetaste wird das ausgewählte Element eingefügt.

Sie können IntelliSense in einem beliebigen Editorfenster auslösen, indem Sie ⌃Leertaste (Windows, Linux Strg+Leertaste) oder ein Auslösezeichen (z. B. das Punktzeichen (.) in JavaScript).

intellisense im Paket json

Tipp: Das Vorschläge-Widget unterstützt die camelCase-Filterung, d. h. Sie können die Buchstaben eingeben, die in einem Methodennamen in Großbuchstaben stehen, um die Vorschläge einzuschränken. Zum Beispiel wird „cra“ schnell „createApplication“ aufrufen.

Wenn Sie möchten, können Sie IntelliSense während der Eingabe deaktivieren. Siehe Anpassen von IntelliSense unten, um zu erfahren, wie Sie die IntelliSense-Funktionen von VS Code deaktivieren oder anpassen.

Wie vom Sprachdienst bereitgestellt, können Sie schnelle Informationen für jede Methode anzeigen, indem Sie entweder ⌃Leertaste (Windows, Linux Strg + Leertaste) drücken oder auf das Info-Symbol klicken. Die begleitende Dokumentation zur Methode wird nun zur Seite erweitert. Die erweiterte Dokumentation bleibt dabei und wird aktualisiert, wenn Sie durch die Liste navigieren. Sie können dies schließen, indem Sie erneut ⌃Leertaste (Windows, Linux Strg + Leertaste) drücken oder auf das Symbol Schließen klicken.

quick info

Nachdem Sie eine Methode ausgewählt haben, erhalten Sie Parameterinformationen.

Parameter info

Falls zutreffend, zeigt ein Sprachdienst die zugrunde liegenden Typen in den Quickinfos und Methodensignaturen an. Im obigen Bild sehen Sie mehrere any -Typen. Da JavaScript dynamisch ist und keine Typen benötigt oder erzwingt, schlägt any vor, dass die Variable von jedem Typ sein kann.

Arten von Fertigstellungen

Der folgende JavaScript-Code veranschaulicht IntelliSense-Fertigstellungen. IntelliSense gibt sowohl abgeleitete Vorschläge als auch die globalen Bezeichner des Projekts an. Die abgeleiteten Symbole werden zuerst angezeigt, gefolgt von den globalen Bezeichnern (angezeigt durch das Wortsymbol).

intellisense icons

VS Code IntelliSense bietet verschiedene Arten von Vervollständigungen, einschließlich Vorschläge für Sprachserver, Snippets und einfache wortbasierte Textvervollständigungen.

method icon Methods and Functions methodfunctionconstructor
variable icon Variables variable
field icon Fields field
type parameter Type parameters typeParameter
constant Constants constant
class Classes class
interface Interfaces interface
structure Structures struct
event Events event
operator Operators operator
module Modules module
property Properties and Attributes property
enumeration icon Values and Enumerations valueenum
reference reference
keyword Keywords keyword
file Files file
folder Folders folder
color Colors color
unit Unit unit
a square with ellipses forming the bottom show snippet prefix Snippet prefixes snippet
a square with letters abc word completion Words text

Customizing IntelliSense

You can customize your IntelliSense experience in settings and key bindings.

Einstellungen

Die unten gezeigten Einstellungen sind die Standardeinstellungen. Sie können diese Einstellungen in Ihrer settings.json -Datei ändern, wie unter Benutzer- und Arbeitsbereichseinstellungen beschrieben.

{ // Controls if quick suggestions should show up while typing "editor.quickSuggestions": { "other": true, "comments": false, "strings": false }, // Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character. "editor.acceptSuggestionOnCommitCharacter": true, // Controls if suggestions should be accepted on 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions. The value 'smart' means only accept a suggestion with Enter when it makes a textual change "editor.acceptSuggestionOnEnter": "on", // Controls the delay in ms after which quick suggestions will show up. "editor.quickSuggestionsDelay": 10, // Controls if suggestions should automatically show up when typing trigger characters "editor.suggestOnTriggerCharacters": true, // Controls if pressing tab inserts the best suggestion and if tab cycles through other suggestions "editor.tabCompletion": "off", // Controls whether sorting favours words that appear close to the cursor "editor.suggest.localityBonus": true, // Controls how suggestions are pre-selected when showing the suggest list "editor.suggestSelection": "recentlyUsed", // Enable word based suggestions "editor.wordBasedSuggestions": true, // Enable parameter hints "editor.parameterHints.enabled": true,}

Tab-Vervollständigung

Der Editor unterstützt die „Tab-Vervollständigung“, die beim Drücken der Tabulatortaste die am besten passende Vervollständigung einfügt. Dies funktioniert unabhängig davon, ob das Suggest-Widget angezeigt wird oder nicht. Wenn Sie nach dem Einfügen eines Vorschlags die Tabulatortaste drücken, wird der nächstbeste Vorschlag eingefügt.

Tab-Vervollständigung

Standardmäßig ist die Tab-Vervollständigung deaktiviert. Verwenden Sie die Einstellung editor.tabCompletion, um sie zu aktivieren. Diese Werte sind vorhanden:

  • off – (Standard) Die Tabulatorvervollständigung ist deaktiviert.
  • on – Tabulatorvervollständigung ist für alle Vorschläge aktiviert und wiederholte Aufrufe fügen den nächstbesten Vorschlag ein.
  • onlySnippets – Tab completion fügt nur statische Snippets ein, deren Präfix mit dem aktuellen Zeilenpräfix übereinstimmt.

Lokalitätsbonus

Die Sortierung von Vorschlägen hängt von den Erweiterungsinformationen ab und davon, wie gut sie mit dem aktuellen Wort übereinstimmen, das Sie eingeben. Darüber hinaus können Sie den Editor bitten, Vorschläge, die näher an der Cursorposition angezeigt werden, mithilfe der Einstellung editor.suggest.localityBonus zu verbessern.

Sortiert nach Ort

In den obigen Bildern können Sie sehen, dass countcontext und colocated basierend auf den Bereichen sortiert sind, in denen sie erscheinen (Schleife, Funktion, Datei).

Vorschlagsauswahl

Standardmäßig wählt VS Code den zuvor verwendeten Vorschlag in der Vorschlagsliste vor. Dies ist sehr nützlich, da Sie dieselbe Vervollständigung schnell mehrmals einfügen können. Wenn Sie ein anderes Verhalten wünschen, z. B. immer das oberste Element in der Vorschlagsliste auswählen, können Sie die Einstellung editor.suggestSelection .

Die verfügbaren editor.suggestSelection Werte sind:

  • first – Wählen Sie immer das oberste Listenelement aus.
  • recentlyUsed – (Standard) Das zuvor verwendete Element wird ausgewählt, es sei denn, ein Präfix (zu wählender Typ) wählt ein anderes Element aus.
  • recentlyUsedByPrefix – Wählen Sie Elemente basierend auf früheren Präfixen aus, die diese Vorschläge abgeschlossen haben.

„Type to select“ bedeutet, dass das aktuelle Präfix (ungefähr der Text links vom Cursor) zum Filtern und Sortieren von Vorschlägen verwendet wird. Wenn dies geschieht und wenn sein Ergebnis vom Ergebnis von recentlyUsed abweicht, wird ihm Vorrang eingeräumt.

Bei Verwendung der letzten Option recentlyUsedByPrefix merkt sich VS Code, welches Element für ein bestimmtes Präfix (Teiltext) ausgewählt wurde. Wenn Sie beispielsweise co eingegeben und dann console ausgewählt haben, wird bei der nächsten Eingabe von co der Vorschlag console vorgewählt. Auf diese Weise können Sie schnell verschiedene Präfixe verschiedenen Vorschlägen zuordnen, z. B. co>console und con>const.

Snippets in suggestions

Standardmäßig zeigt VS Code Snippets und Vervollständigungsvorschläge in einem Widget an. Sie können das Verhalten mit der Einstellung editor.snippetSuggestions steuern. Um Snippets aus dem Vorschläge-Widget zu entfernen, setzen Sie den Wert auf "none". Wenn Sie Snippets sehen möchten, können Sie die Reihenfolge relativ zu Vorschlägen angeben. oben ("top"), unten ("bottom") oder inline alphabetisch sortiert ("inline"). Der Standardwert ist "inline".

Tastenbelegung

Die unten gezeigten Tastenbelegungen sind die Standard-Tastenbelegungen. Sie können diese in Ihrer keybindings.json -Datei ändern, wie in Tastenkombinationen beschrieben.

Hinweis: Es gibt viele weitere Tastenkombinationen in Bezug auf IntelliSense. Öffnen Sie die Standardtastaturkürzel (Datei > Einstellungen > Tastaturkürzel) und suchen Sie nach „Vorschlagen“.

Fehlerbehebung

Wenn Sie feststellen, dass IntelliSense nicht mehr funktioniert, wird der Sprachdienst möglicherweise nicht ausgeführt. Versuchen Sie, VS Code neu zu starten, und dies sollte das Problem lösen. Wenn Ihnen nach der Installation einer Spracherweiterung immer noch IntelliSense-Funktionen fehlen, öffnen Sie ein Problem im Repository der Spracherweiterung.

Tipp: Informationen zur Konfiguration und Fehlerbehebung von JavaScript IntelliSense finden Sie in der JavaScript-Dokumentation.

Eine bestimmte Spracherweiterung unterstützt möglicherweise nicht alle VS Code IntelliSense-Funktionen. Lesen Sie die README-Datei der Erweiterung, um herauszufinden, was unterstützt wird. Wenn Sie der Meinung sind, dass Probleme mit einer Spracherweiterung vorliegen, finden Sie das Problem-Repository für eine Erweiterung normalerweise über den VS Code Marketplace. Navigieren Sie zur Detailseite der Erweiterung und klicken Sie auf den Link Support.

IntelliSense ist nur eine der leistungsstarken Funktionen von VS Code. Lesen Sie weiter, um mehr zu erfahren:

  • JavaScript – Holen Sie das Beste aus Ihrer JavaScript-Entwicklung heraus, einschließlich der Konfiguration von IntelliSense.
  • Knoten.js – Sehen Sie sich ein Beispiel für IntelliSense in Aktion im Knoten an.js Komplettlösung.
  • Debugging – Erfahren Sie, wie Sie das Debugging für Ihre Anwendung einrichten.
  • Spracherweiterungen erstellen – Erfahren Sie, wie Sie Erweiterungen erstellen, die IntelliSense für neue Programmiersprachen hinzufügen.

Häufige Fragen

Warum erhalte ich keine Vorschläge?

Bild von IntelliSense funktioniert nicht

Dies kann verschiedene Ursachen haben. Versuchen Sie zunächst, VS Code neu zu starten. Wenn das Problem weiterhin besteht, konsultieren Sie die Dokumentation der Spracherweiterung. JavaScript-spezifische Fehlerbehebungen finden Sie im Thema JavaScript-Sprache.

Warum sehe ich keine Methoden- und Variablenvorschläge?

Bild von IntelliSense zeigt keine nützlichen Vorschläge

Dieses Problem wird durch fehlende Typdeklarationsdateien (Typings) in JavaScript verursacht. Sie können überprüfen, ob ein Typdeklarationsdateipaket für eine bestimmte Bibliothek verfügbar ist, indem Sie die TypeSearch-Site verwenden. Weitere Informationen zu diesem Problem finden Sie im Thema JavaScript-Sprache. Für andere Sprachen konsultieren Sie bitte die Dokumentation der Erweiterung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.