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

Visual Studio Code Server

Visual Studio Code Server は、デスクトップ PC や仮想マシン (VM) などのリモート開発マシンで実行できるサービスです。SSH を必要とせずに、ローカルの VS Code クライアントを介してどこからでもそのリモートマシンに安全に接続できます。

VS Code Server とは?

VS Code では、ユーザーが最も生産性を高める環境をシームレスに活用できるようにしたいと考えています。VS Code Remote Development 拡張機能を使用すると、Windows Subsystem for Linux (WSL)、SSH 経由のリモートマシン、および開発コンテナー内で VS Code から直接作業できます。これらの拡張機能はリモート環境にサーバーをインストールし、ローカルの VS Code がリモートのソースコードやランタイムとスムーズにやり取りできるようにします。

現在、スタンドアロンの「VS Code Server」を提供しています。これは、リモート拡張機能で使用される基盤となるサーバーと同じものに基づいて構築されたサービスで、インタラクティブな CLI や vscode.dev への安全な接続の促進などの追加機能が含まれています。

vscode.dev connected to the VS Code Server

アーキテクチャ

ローカル、リモート、デスクトップ、ブラウザなど、エディターをどのように使用しても、統一された VS Code エクスペリエンスを提供したいと考えています。

VS Code Server へのアクセスは、既存のcode CLIに組み込まれています。

CLI は、VS Code クライアントとリモートマシンの間にトンネルを確立します。トンネリングは、あるネットワークから別のネットワークにデータを安全に送信します。

The VS Code Server architecture

VS Code Server エクスペリエンスにはいくつかのコンポーネントが含まれています

  • VS Code Server: VS Code のリモートエクスペリエンスを可能にするバックエンドサーバー。
  • Remote - Tunnels 拡張機能: ローカルの VS Code クライアントに自動的にロードされ、リモートマシンへの接続を容易にします。

シナリオ

VS Code Server を使用すると、次のような新しい方法で VS Code を使用できます。

  • SSH サポートが制限されている、またはウェブベースのアクセスが必要なリモートマシンでの開発。
  • iPad / タブレットや Chromebook など、VS Code デスクトップのインストールをサポートしていないマシンでの開発。
  • すべてのコードをブラウザのサンドボックス内で実行できるクライアント側のセキュリティ上の利点を体験する。

はじめに

トンネリングを有効にするには 2 つの方法があり、それぞれのドキュメントで詳しく説明されています。

試すべきこと

ライセンスおよびその他のコマンド

VS Code Server を初めて実行すると、ライセンスの条項が表示されます。VS Code Server のライセンスはこちらで確認できます。

* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).

code -h を実行すると CLI のその他のコマンドを、code tunnel -help を実行するとトンネリングコマンドを詳しく調べることができます。

Output of tunnel help CLI command

拡張機能コマンド

CLI と同様に、VS Code Remote Tunnels 拡張機能には、VS Code でコマンドパレット (F1) を開き、「Remote Tunnels」と入力することで調べられる追加コマンドがあります。Remote Tunnels ドキュメントで詳細を確認できます。

テレメトリー

テレメトリを無効にしたい場合は、VS Code Server を起動するときに --disable-telemetry を渡すことができます: code tunnel --disable-telemetry。または、エラーのみを収集するなど、初期のテレメトリレベルを指定したい場合は、--telemetry-level の後にレベル (例: error) を渡すことができます。

CLI を介してテレメトリが無効化されていない場合、VS Code Server は、正常に接続するとクライアントのテレメトリ設定 (vscode.dev またはデスクトップのテレメトリ設定) を尊重し始めます。

よくある質問

VS Code Server は、複数のユーザーが同じリモートインスタンスにアクセスするように設計されていますか?

いいえ、サーバーのインスタンスは単一のユーザーがアクセスするように設計されています。

VS Code Server をサービスとしてホストできますか?

いいえ、VS Code Server ライセンスに規定されているとおり、サービスとしてホストすることは許可されていません。

VS Code Server が使用するエンドポイントのリストはありますか?

制限された環境で作業している場合は、VS Code Server が以下の記事に記載されているエンドポイントにアクセスできることを確認する必要がある場合があります。

他に拡張機能の制限はありますか?

ウェブベースの VS Code インスタンスを使用する場合、純粋な UI 拡張機能はサポートされていません。これについては、拡張機能作成者のリモート開発ガイドで詳しく知ることができます。

ブラウザの制限はありますか?

ブラウザで作業する場合、考慮すべき特定の制限と構成手順があります。VS Code for the Webドキュメントでこれについて詳しく読むことができます。

VS Code Server を最新の状態に保つにはどうすればよいですか?

アップデートが利用可能な場合、リモートマシンに接続すると VS Code で通知が表示され、この通知から直接アップデートできます。

キーリングストレージに関するエラーが表示されます。どうすればよいですか?

設定の同期には、設定の同期サーバーに対する認証が必要です。対応するシークレットはサーバーに永続化されます。これには、サーバーにキーリングを設定する必要があります。キーリングが設定されていない場合、VS Code Server はサーバーに格納されているインメモリのシークレットにフォールバックします。この場合、シークレットはサーバーの存続期間中のみ永続化されます。

この問題は、より多くのコンテキストを提供し、トラブルシューティングに役立つ場合があります。それでも問題が発生する場合は、VS Code Remote GitHub リポジトリに新しい問題を提出してください。

フィードバックを提供したり、問題を報告したりするにはどこにすればよいですか?

問題やフィードバックがある場合は、VS Code Remote GitHub リポジトリに問題を提出してください。問題を提出する際は、詳細なログを含めてください。これは、-v フラグを付けて VS Code Server を起動することで有効にできます: code -v tunnel

code-server ラベルを使用して、VS Code Server の問題のみをフィルタリングできます。