Visual Studio Code⁠Copilot Chatのターミナルコマンドの自動承認機能を実験的に追加 —⁠—MCPサーバーの管理はmcp.jsonとして設定へ

Visual Studio Code(以下VS Code)は2025年7月10日に、バージョン1.102(June 2025)を一般提供を開始した。多数の新機能と改善を含んでおり、特に「Automatically approve selected terminal commands(選択したターミナルコマンドの自動承認⁠⁠」機能が実験的に(⁠⁠試験段階」として)追加されている。

ターミナルコマンドの自動承認

ターミナルコマンドの自動承認機能(実験的)は、Copilot Chatのエージェントモードにおいて、特定のターミナルコマンドをユーザーの明示的な承認なしで自動実行できる仕組み。設定はallowList(許可リスト)denyList(拒否リスト)で制御し、許可リストに登録されたコマンドは自動承認され、拒否リストに登録されたコマンドは明示的な承認が必要となる。

allowList・denyListのコマンド指定は、正規表現でも記述可能。設定例は以下のとおり。

"github.copilot.chat.agent.terminal.allowList": {
  "npm run test": true,
  "/^git (status|log)$/": true
},
"github.copilot.chat.agent.terminal.denyList": {
  "npm run danger": true
}

許可・拒否リストはユーザー設定とワークスペース設定の両方で適用される。これらの設定はsettings.jsonに記述するが、デフォルトの拒否リストはVS Code内部で既定値として保持されている。ユーザーが明示的に上書きしない限り、これらの危険なコマンドは自動的に拒否リストとして扱われる。

microsoft/vscode-copilot-chat/src/platform/configuration/common/configurationService.ts#L758
  export const TerminalDenyList = defineSetting<{ [key: string]: boolean }>('chat.agent.terminal.denyList', {
      "rm": true,
      "rmdir": true,
      "del": true,
      "kill": true,
      "curl": true,
      "wget": true,
      "eval": true,
      "chmod": true,
      "chown": true,
      "Remove-Item": true
  });

なお、検討中の許可リストとして、以下のようなコマンドが挙げられている。

許可リスト(allowList)
echo, cd, ls, cat, pwd, Write-Host, Set-Location, Get-ChildItem, Get-Content, Get-Location

今後のリリースでは、UIからの追加やLLMによる安全性評価のオプションも予定されている。

Copilot Chatのオープンソース化

GitHub Copilot Chat拡張がMITライセンスで公開されたことを改めて紹介した。これにより、コミュニティによる開発やカスタマイズ、AIチャット体験の拡張が可能となった。ソースコードはGitHubのmicrosoft/vscode-copilot-chatで公開されている。

カスタムチャットモードの強化

chatmode.mdファイルのmodelメタデータで利用するAIモデルを指定できるようになった。たとえば、"model": "gpt-4.1"のようにモデルを明示できる。

また、外部リンク(例: gist)からチャットモードファイルをインポートすることもでき、インポート時には保存先やファイル名を指定できる(新機能⁠⁠。たとえば、以下のようなリンクからインポートできる。

<a href="vscode:chat-mode/install?url=https://raw.githubusercontent.com/github/awesome-copilot/refs/heads/main/chatmodes/4.1-Beast.chatmode.md" target="_blank">GPT 4.1 Beast Mode (VS Code)</a>

GPT 4.1 Beast Modeのchatmodeファイルには、model: GPT-4.1の指定や、コーディングエージェントとして自律的に問題解決を進めるための詳細なワークフロー指示が記載されている。

MCPサポートの一般提供

MCPサーバーの管理・操作が、今回のアップデートで大幅に強化された。

MCPサーバーは「ファーストクラスリソース」となり、各プロファイルごとに専用のmcp.jsonで一元管理されるようになった。これまでのsettings.jsonからの自動移行がサポートされている。設定内容はSettings Sync機能によって他の環境と同期できる。

新たに、拡張機能の管理パネルに「MCPサーバー」の項が追加され、ここでインストール済みMCPサーバーの一覧管理(起動・停止・設定・アンインストール、認証情報の管理等)ができるほか、⁠MCPサーバーの参照」ボタンからVS Codeが紹介しているMCPサーバー一覧サイトを開けるようになった(これまでどおり、MCPサーバーのURLなどを直接指定して、手動で追加可能⁠⁠。

また、Dev Containerのdevcontainer.jsonやdevcontainer-feature.jsonでもMCPサーバー設定がサポートされ、コンテナ環境でも自動的にMCPサーバーを構成できるようになった。


このほか、エディタではWindowsアクセントカラーのサポート、AIによる設定検索(プレビュー⁠⁠、ミドルクリックによるスクロール(実験的⁠⁠、インライン補完の一時停止(Snooze)など、使い勝手を向上させる機能が追加された。

ターミナルでは、foo && barのように1行に複数のコマンドを記述した場合でもそれぞれのコマンドごとにサジェストが効く機能(プレビュー⁠⁠、シンボリックリンク情報の表示(プレビュー⁠⁠、Git Bashのサジェスト強化(プレビュー)などが強化された。タスクも一括再実行や設定の即時反映などが可能になった。

さらに、エディタ内での編集保持やチャットのユーザーアクション通知音、GitHub認証フローの刷新など、アクセシビリティや拡張機能連携の面でも強化されている。

おすすめ記事

記事・ニュース一覧