Verwendung der vorgeschlagenen API
Bei Visual Studio Code nehmen wir die Kompatibilität der Extension API ernst. Wir bemühen uns nach Kräften, um API-Änderungen zu vermeiden, die Kompatibilität beeinträchtigen, und Extension-Autoren können davon ausgehen, dass veröffentlichte Extensions weiterhin funktionieren. Dies schränkt uns jedoch stark ein: Sobald wir eine API einführen, können wir sie nicht mehr einfach ändern.
Vorgeschlagene APIs lösen dieses Problem für uns. Vorgeschlagene APIs sind eine Reihe von instabilen APIs, die in VS Code implementiert, aber nicht öffentlich als stabile APIs freigegeben sind. Sie unterliegen Änderungen, sind nur in der Insiders-Distribution verfügbar und dürfen nicht in veröffentlichten Extensions verwendet werden. Nichtsdestotrotz können Extension-Autoren diese neuen APIs in der lokalen Entwicklung testen und Feedback für das VS Code-Team geben, damit es eine API weiterentwickeln kann. Letztendlich finden vorgeschlagene APIs ihren Weg in die stabile API und werden für alle Extensions verfügbar.
Verwendung einer vorgeschlagenen API
Dies sind die Schritte zum Testen einer vorgeschlagenen API in der lokalen Extension-Entwicklung
- Verwenden Sie die Insiders-Version von VS Code.
- Fügen Sie Ihrer
package.jsondie Zeile"enabledApiProposals": ["<proposalName>"]hinzu. - Kopieren Sie die entsprechenden vscode.proposed.<proposalName>.d.ts-Dateien in den Quellcode-Speicherort Ihres Projekts.
Das @vscode/dts CLI-Dienstprogramm ermöglicht es Ihnen, schnell die neuesten vscode.proposed.<proposalName>.d.ts für die Extension-Entwicklung herunterzuladen. Es lädt Definitionen für die in Ihrer package.json-Datei aufgeführten Vorschläge herunter.
> npx @vscode/dts dev
Downloading vscode.proposed.languageStatus.d.ts
To: /Users/Me/Code/MyExtension/vscode.proposed.languageStatus.d.ts
From: https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatus.d.ts
Read more about proposed API at: https://visualstudiocode.de/api/advanced-topics/using-proposed-api
Es gibt ein Beispiel für die Verwendung vorgeschlagener APIs: proposed-api-sample.
Inkompatibilität vorgeschlagener APIs
Auf dem Hauptbranch ist vscode.proposed.<proposalName>.d.ts immer mit vscode.d.ts kompatibel. Wenn Sie jedoch vscode.proposed.<proposal>.d.ts zu Ihrem Projekt hinzufügen, das @types/vscode verwendet, kann die neueste vscode.proposed.<proposal>.d.ts mit der Version in @types/vscode inkompatibel sein.
Sie können dieses Problem lösen, indem Sie entweder
- die Abhängigkeit von
@types/vscodeentfernen undnpx @vscode/dts mainverwenden, umvscode.d.tsvom Hauptbranch vonmicrosoft/vscodeherunterzuladen. @types/vscode@<version>verwenden und auchnpx @vscode/dts dev <version>verwenden, um dievscode.proposed.<proposal>.d.tsvon einem alten Branch vonmicrosoft/vscodeherunterzuladen. Seien Sie jedoch vorsichtig, da sich die API in der neuesten Version von VS Code Insiders geändert haben könnte.
Teilen von Extensions, die die vorgeschlagene API verwenden
Obwohl Sie Extensions, die die vorgeschlagene API verwenden, nicht im Marketplace veröffentlichen können, können Sie Ihre Extension dennoch mit Ihren Kollegen teilen, indem Sie Ihre Extension packen und weitergeben.
Um Ihre Extension zu packen, können Sie vsce package ausführen, um eine VSIX-Datei Ihrer Extension zu erstellen. Sie können diese VSIX-Datei dann an andere weitergeben, damit diese die Extension in ihrem VS Code installieren können.
Um eine Extension aus einer VSIX-Datei zu installieren, gehen Sie zur Ansicht "Extensions", wählen Sie die Schaltfläche **...** (Ellipsen) **Ansicht und weitere Aktionen** und wählen Sie **Aus VSIX installieren**.
Das Auswählen des Menüelements **Aus VSIX installieren** wird im kurzen Video unten gezeigt.

Für Extensions, die die vorgeschlagene API verwenden, sind ein paar zusätzliche Schritte erforderlich, um Ihre Extension zu aktivieren. Nach der Installation aus Ihrer VSIX-Datei müssen Sie VS Code Insiders beenden und von der Befehlszeile neu starten mit code-insiders . --enable-proposed-api=<IHRE-EXTENSION-ID> in Ihrem Projektordner.
Wenn Sie möchten, dass Ihre Extension, die die vorgeschlagene API verwendet, bei jedem Start von VS Code Insiders immer verfügbar ist, können Sie den Befehl **Einstellungen: Laufzeitargumente konfigurieren** ausführen, um die Datei .vscode-insiders/argv.json zu bearbeiten und eine Liste der aktivierten Extensions festzulegen.
{
...
"enable-proposed-api": ["<YOUR-EXTENSION-ID>"]
}