1

Ich suche nach einigen Snippets, die im VS Code IntelliSense für eine bestimmte Sprache bedingt aufgeführt sind. Ich erwäge, eine Erweiterung zu erstellen, die Liste von CompletionItems abzufangen und alle Snippets zu entfernen, die meine Bedingungen nicht erfüllen, basierend auf LanguageId und Einstellungen/Konfiguration, die ich mit der Erweiterung beitragen werde. Ich suche nach der einfachsten Lösung, um dies zu erreichen, aber wenn ich einen Language Server brauche, dann sei es so. Wenn ich eine Snippets-Datei für eine bestimmte Sprach-ID dynamisch laden kann, wäre das noch besser. Ich brauche nur einen Startpunkt von jemandem, der mit der API vertrauter ist. Ich habe nicht einmal gefunden, wie man CompletionList abruft, um den Abschnitt zu starten - ich suchte das API-Dokument, fand aber nichts als seine Objektdefinition.VS Code Conditional Snippets

Antwort

0

Ab VSCode 1.14 können Sie nicht bedingte user snippets haben, aber eine Erweiterung kann bedingt bedingte Snippets beitragen. Versuchen Sie, eine CompletionItemProvider zu erstellen, die Fertigstellungselemente zurückgibt, deren kind auf CompletionItemKind.Snippet festgelegt ist.

Die JsDocCompletionProvider in der VSCode Codebasis ist ein Beispiel für dieses Muster. Es gibt nur jsdoc-Snippets zurück, wenn der Bereich um den Cursor mit einem regulären Ausdruck

übereinstimmt
Verwandte Themen