Visual Studio Code⁠AGENTS.md対応⁠言語モデルの自動選択機能の追加⁠拡張機能から言語モデルを提供するAPIを実装 —⁠—Hugging Faceなどの拡張機能からも最新のオープンモデルが使えるように

Visual Studio Code(以下VS Code)は2025年9月11日、August 2025(version 1.104)をリリースした。AGENTS.mdへの対応、言語モデルの自動選択機能の追加、拡張機能から言語モデルを提供するAPIが実装などが行われている。ここでは、今回追加された機能のうち注目されそうなものを取り上げる。

特定のプロジェクトにおけるチャットにおいて、エージェント向けのREADME(コンテキストと指示)を提供するAGENTS.mdに実験的に対応し、デフォルトで有効になった(設定のchat.useAgentsMdFileで制御可能⁠⁠。ワークスペースルートにAGENTS.mdが存在すると自動的にチャットのコンテキストとして取り込まれる。複数AIエージェントを使うチームにとって便利なものと言及されている。AGENTS.mdの詳細についてはagents.mdを参照のこと。

言語モデルを提供するサービスプロバイダ(クラウドホスト)のAPIキーを持ち込むことができるBYOK(Bring Your Own Key)に続き、Language Model Chat Provider APIが完成した(詳細については公式ドキュメントを参照のこと⁠⁠。これにより、拡張機能がクラウドホストまたはローカルの言語モデル(LLM)を提供できるようになった。それらの拡張機能をインストールすると、チャットのモデルピッカーからこれらのモデルを選択できるようになる。既に以下の拡張機能がこのAPIを利用してVS Codeのチャットに追加モデルを追加する拡張をおこなっている。ただし、このAPIを通じて提供されるモデルは、現在、GitHub Copilotの個人プランのユーザーのみしか利用できない。

VS CodeのXアカウントは、AI Toolkitの拡張機能からモデルを選択する方法を動画で簡単に取り上げている。

Hugging Face CEOのClem Delangue氏は、Hugging Faceの拡張機能から最新のオープンモデル(たとえばKimi K2, Qwen3 Next, gpt-oss, Aya, GLM 4.5, Deepseek 3.1, Hermes 4を含む数百のモデルと、毎日追加されるモデル)が利用できるようになったことなどを紹介している。

プレビュー機能として、チャットのモデルピッカーでAutoを選ぶとVS Codeが最適なモデルを自動選択しレート制限回避を図る機能を、今後数週間をかけて全GitHub Copilotユーザーへ(個人プランから)段階的に提供を始める。AutoではClaude Sonnet 4, GPT-5, GPT-5 mini, GPT-4.1, Gemini Pro 2.5のいずれかが使われ、使われたモデルのプレミアムリクエスト乗数で処理される。なお有料プランのユーザーの場合、Autoを使うことで10%のリクエスト割引が適用される。チャットの応答文にマウスをホバーすると、選択されたモデルとそのリクエスト乗数を確認できる。

エージェントモードでエージェントが設定ファイルなどの重要なファイルを誤って削除しないように、特定のファイルを編集する前に、ユーザーに明示的に確認できるようになった。chat.tools.edits.autoApproveで設定するが、デフォルトでは**/*trueで、**/.vscode/*.json**/.git/****/(package.json,package-lock.json,server.xml,build.rs,web.config,.gitattributes,.env)**/*.(csproj,fsproj,vbproj)falseに設定されている。項目は追加できる。なお、共通のシステムフォルダ、ドットファイル、およびワークスペース外のファイルは、デフォルトで確認が必要になった。

VS Codeでは変更されたファイルリストがチャットの入力欄上部に表示されるが、チャットでの会話スペースを確保するため、変更されたファイルリストはデフォルトで折りたたまれるようになった。なお折りたたまれている状態で、変更されたファイル数と追加・削除された行数は確認でき、展開すると各ファイルごとに追加・削除された行数を確認できるようになった。また、提案された変更を維持または承認すると、そのファイルは変更されたファイルリストから削除されるようになった。そのほか、ソース管理ビューを使ってファイルをステージングまたはコミットすると、提案されたファイルの変更は、自動的に承認されるようになった。

再利用可能なチャットプロンプトを記述するプロンプトファイルの実行に使用するチャットモードで、独自のチャットモードを指定できるようになった。以前はプロンプトファイルではagenteditaskなどの組み込みチャットモードのみを使用できたもの。プロンプトファイルを実行するには、チャット入力欄で/と入力して、プロンプ​​トファイル名を入力すればよい。

実験的機能として、チャットのウェルカムビューにプロンプトファイルを掲示することが可能になった。これはsettings.jsonで条件付けする形になる。設定は以下のようになり、値は単純なブール値または条件を指定できる。これにより、必要なワークフローを文脈に応じて提示し、プロンプトファイルの発見性を向上できるようになる。

{
  "chat.promptFilesRecommendations": {
    "plan": true, // Always suggest
    "a11y-audit": "resourceExtname == .html", // Only for HTML files
    "document": "resourceLangId == markdown", // Only for Markdown files
    "debug": false // Never suggest
  }
}

チャットの「ツールの選択」から表示できるツールピッカーで、VS Codeに組み込まれている各ツールセットの各ツールが表示されるようになった。ここから各ツールを個別に有効化または無効化できる。

また、チャット上でツール呼び出し確認時にスキップを選び、処理を続行させることが可能になった。

チャットの書体chat.fontFamilyとフォントサイズchat.fontSizeを指定できるようになった。なお現時点では、リストコンテンツへの適用はまだ未対応。

コーディングエージェントにタスクを委任し、バックグラウンドで作業させることができるが、その際、複数のエージェントを並行して作業させることもできる。今回、コーディングエージェントとのコラボレーションをより効果的にするために、チャットセッションがより改善された。

設定からチャットセッションビュー(chat.agentSessionsViewLocation)を有効にすると、サイドバーに「チャットセッションビュー」のアイコンが表示され、それをクリックすると、サイドバーのすぐ隣にパネル(ビュー)が表示される。このビューには「LOCAL CHAT SESSIONS」⁠GITHUB COPILOT CODING AGENT」⁠はじめに」の項目がある。⁠LOCAL CHAT SESSIONS」では、現在のワークスペースで開いているすべてのチャットセッションの表示と、履歴を見ることができる。GitHub COPILOT CODING AGENTでは、チャットセッションの統合を改善し、よりスムーズで直感的な操作を実現した。

なお、ステータスバーのCopilotアイコンから直接、複数のコーディングエージェントの進捗状況を確認できる。

VS Code内のローカルタスクをCopilotコーディングエージェントに委任する方法も拡張された。エディタ上でTODOで始まるコメントで、コードアクション「コーディングエージェントに委任にする」が表示されるようになった。

また、実験的機能であるチャットからの委任の設定(githubPullRequests.codingAgent.uiIntegration)を有効にすることで、チャット上で「コーディングエージェントに委任にする」アクションを実行した際に、ファイル参照などの追加コンテキストがGitHubコーディングエージェントに転送されるようになった。これにより、コーディングエージェントにタスクを引き継いで完了させる前に、タスクを正確に計画できるようになる。なお新しいチャットエディターが開き、コーディングエージェントの進捗状況がリアルタイムで表示される。

タスク実行周りの操作性も向上した。

  • 実行中のプロセスがユーザー入力を要求した場合、エージェントがそれを自動検出してチャット上で入力を促し、チャットから直接応答できる(端末で入力するとチャットのプロンプトは自動で隠れる⁠⁠。
  • problem matcherを使うタスクでは、その検出結果に基づいてエラーを収集・報告し、チャットの進捗メッセージ内のドロップダウンで問題一覧を表示して該当箇所へジャンプできるようにする(言語モデルによる出力解析に依存しない⁠⁠。
  • 複合タスク(compound task)を実行すると、各依存タスクごとに進捗・出力・ユーザー入力プロンプトを個別に表示・追跡でき、複数段階のワークフローの可視化と操作が容易になる。

ターミナルでのコマンド実行の自動承認について、いくつかの改善が加えられ、使いやすさとセキュリティが向上した。まず、設定(chat.tools.terminal.enableAutoApprove)で、ターミナルの自動承認を有効または無効にできるようになった。自動承認を有効にしていない場合には、チャットビューのドロップダウンから明示的に許可する必要がある。また、チャットビューから、実行するコマンドの自動承認ルールを簡単に追加したり、設定を開くこともできる。自動承認コマンドの透明性を高めるため、チャットビューに適用されたルールを表示し、そのルールを設定できるようにもなった。

自動承認のデフォルト設定も改善された。デフォルト値を確認するには、settings.jsonのchat.tools.terminal.autoApproveを参照することになる。また自動承認の設定において、バックスラッシュまたはスラッシュ文字を含む非正規表現ルールはパスとして扱われるようになった。./プレフィックスも承認されるようになる。そのほか、エージェントがcurlwgetInvoke-RestMethodInvoke-WebRequestを使用してインターネットからコンテンツを取得しようとすると、プロンプトインジェクション攻撃も考慮する必要があるため、警告を表示するようになった。

ワークスペースのすべてのツールに対するグローバルな自動承認(YOLO;You Only Live Onceモード)はv1.99以降、実験的設定となっている。この設定を有効にした場合の結果を十分に検討していないことが確認されているとして、よりユーザーの保護を強化するため、グローバル自動承認を初めて使用しようとした際に、ダイアログで警告を表示するようになった。グローバル自動承認の設定もchat.tools.global.autoApproveに変更されたが、自動移行は行われないため、すべてのユーザーが明示的に再度設定する必要がある。

MCP関連では、MCPサーバーのインストラクションをVS Codeが読み込み、ベースプロンプトに含めるようになった。また、他アプリにインストールされたMCPサーバーの自動検出がデフォルトで無効になった。また従来chat.mcp.enabledで制御していた有効化はchat.mcp.accessに移行した(値もall/noneで指定する⁠⁠。


このほか、コード管理における新機能として、ワークツリー内のファイルをソース管理の変更ビューで右クリックして「ワークスペースと比較する(Compare with Workspace⁠⁠」を選ぶと、そのワークツリーのファイルと現在のワークスペースとの差分をプレビューできるようになった。差分を確認したうえで、コマンドパレットの「ワークツリーの変更を移行する(Migrate Worktree Changes...⁠⁠」を使えば、ワークツリーの変更を現在のワークスペースへまとめて(または選択的に)マージできる。複数のワークツリーをまたいだ作業から必要な変更だけを取り込むのが簡単になる。


この記事で取り上げる新機能は以上になるが、ほかにもさまざまな機能の改善や追加が行われている。詳しくは公式情報を参照のこと。

おすすめ記事

記事・ニュース一覧