VS Codeのエージェントモードを拡張するには、を試してください!

提案されているAPIの使用

Visual Studio Codeでは、拡張機能APIの互換性を真剣に考えています。APIの破壊的な変更を避けるために最善を尽くしており、拡張機能の作者は公開された拡張機能が引き続き動作することを期待できます。しかし、これは私たちに大きな制約を与えます。一度APIを導入すると、簡単には変更できなくなるためです。

提案されたAPIは、この問題を解決します。提案されたAPIは、VS Codeに実装されているものの、安定版APIのように一般には公開されていない、一連の不安定なAPIです。これらは変更される可能性がありInsiders版でのみ利用可能であり、公開された拡張機能では使用できません。それにもかかわらず、拡張機能の作者はこれらの新しいAPIをローカル開発でテストし、VS CodeチームがAPIを改善するためのフィードバックを提供できます。最終的には、提案されたAPIは安定版APIに組み込まれ、すべての拡張機能で利用可能になります。

提案されたAPIの使用

以下は、ローカル拡張機能開発で提案されたAPIをテストするための手順です。

  • VS CodeのInsiders版を使用します。
  • package.json"enabledApiProposals": ["<proposalName>"]を追加します。
  • 対応するvscode.proposed.<proposalName>.d.tsファイルをプロジェクトのソースロケーションにコピーします。

@vscode/dts CLIユーティリティを使用すると、拡張機能開発用の最新のvscode.proposed.<proposalName>.d.tsを素早くダウンロードできます。これは、package.jsonファイルにリストされている提案に基づいて定義ファイルをダウンロードします。

> 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://vscode.dokyumento.jp/api/advanced-topics/using-proposed-api

提案されたAPIを使用するサンプルは次のとおりです: proposed-api-sample

提案されたAPIの非互換性

メインブランチでは、vscode.proposed.<proposalName>.d.tsは常にvscode.d.tsと互換性があります。ただし、@types/vscodeを使用するプロジェクトにvscode.proposed.<proposal>.d.tsを追加する場合、最新のvscode.proposed.<proposal>.d.ts@types/vscodeのバージョンと互換性がない可能性があります。

この問題は、次のいずれかの方法で解決できます。

  • @types/vscodeへの依存関係を削除し、npx @vscode/dts mainを使用してmicrosoft/vscodeのメインブランチからvscode.d.tsをダウンロードします。
  • @types/vscode@<version>を使用し、さらにnpx @vscode/dts dev <version>を使用してmicrosoft/vscodeの古いブランチからvscode.proposed.<proposal>.d.tsをダウンロードします。ただし、VS Code Insidersの最新バージョンではAPIが変更されている可能性があるため、注意してください。

提案されたAPIを使用する拡張機能の共有

提案されたAPIを使用する拡張機能をマーケットプレイスに公開することはできませんが、拡張機能をパッケージ化して共有することで、同僚と共有することは可能です。

拡張機能をパッケージ化するには、vsce packageを実行して拡張機能のVSIXファイルを作成します。その後、このVSIXファイルを他のユーザーと共有して、そのユーザーのVS Codeに拡張機能をインストールしてもらうことができます。

VSIXファイルから拡張機能をインストールするには、拡張機能ビューに移動し、... (三点リーダー)の「ビューとその他のアクション」ボタンを選択し、「VSIXからインストール」を選択します。

「VSIXからインストール」メニュー項目の選択は、以下の短いビデオに示されています。

Demo showing a user going into the Extensions view to find the Install from VSIX menu item

提案されたAPIを使用する拡張機能の場合、拡張機能を有効にするためにさらにいくつかの手順が必要です。VSIXからインストールした後、プロジェクトフォルダー内でcode-insiders . --enable-proposed-api=<YOUR-EXTENSION-ID>コマンドを使用して、VS Code Insidersを終了し、コマンドラインから再起動する必要があります。

提案されたAPIを使用する拡張機能がVS Code Insidersを起動するたびに常に利用できるように設定したい場合は、「基本設定: ランタイム引数の構成」コマンドを実行して.vscode-insiders/argv.jsonファイルを編集し、有効な拡張機能のリストを設定できます。

{
    ...
    "enable-proposed-api": ["<YOUR-EXTENSION-ID>"]
}