VS Code 1.112がリリースされました。正直に言うと、.NETの世界で日々過ごしているなら、このリリースは一味違います。公式リリースノートには多くの内容がありますが、スクロールの手間を省いて、私たちにとって本当に重要なことに焦点を当てましょう。
Copilot CLIがずっと便利になった
今回のリリースの大きなテーマはエージェントの自律性 — Copilotにもっと自由にやらせて、あなたが一つ一つのステップを見守る必要をなくすことです。
メッセージのステアリングとキューイング
Copilot CLIがタスクの途中で、何か言い忘れたことに気づく瞬間を知っていますか?以前は待つしかありませんでした。今はリクエストがまだ実行中でもメッセージを送れます — 現在のレスポンスを方向付けるか、フォローアップの指示をキューに入れるかのどちらかです。
dotnetのスキャフォールディングの長いタスクで、Copilotがプロジェクトをセットアップしているのを見ながら「あ、待って、MassTransitも必要だった」と思う時に、これは最高です。
パーミッションレベル
これが一番ワクワクするものです。Copilot CLIセッションが3つのパーミッションレベルをサポートするようになりました:
- デフォルトパーミッション — ツールが実行前に確認を求める通常のフロー
- 承認バイパス — すべてを自動承認し、エラー時にリトライ
- オートパイロット — 完全に自律:ツールを承認し、自分の質問に答え、タスクが完了するまで続行
ASP.NET Core APIをEntity Framework、マイグレーション、Dockerセットアップで新規作成するなら — オートパイロットモードは欲しいものを説明してコーヒーを取りに行くだけ。なんとかしてくれます。
chat.autopilot.enabled設定でオートパイロットを有効にできます。
デリゲーション前の変更プレビュー
Copilot CLIにタスクをデリゲートすると、ワークツリーが作成されます。以前は、コミットしていない変更がある場合、ソースコントロールを確認して何が影響されるかを見る必要がありました。今はチャットビューで保留中の変更がすぐそこに表示され、コピー、移動、無視を決められます。
小さなことですが、「待って、何をステージしてたっけ?」というモーメントから救ってくれます。
VS Codeを離れずにWebアプリをデバッグ
統合ブラウザがフルデバッグをサポートするようになりました。ブレークポイントの設定、コードのステップスルー、変数の検査 — すべてVS Code内で。Edge DevToolsに切り替える必要はもうありません。
新しいeditor-browserデバッグタイプがあり、既存のmsedgeやchromeのランチ設定がある場合、移行はlaunch.jsonのtypeフィールドを変更するだけです:
{
"type": "editor-browser",
"request": "launch",
"name": "Debug Blazor App",
"url": "https://localhost:5001"
}
Blazor開発者にとって、これはゲームチェンジャーです。すでにターミナルでdotnet watchを実行しています — デバッグも同じウィンドウに留まります。
ブラウザには独立したズームレベル(やっと)、適切な右クリックコンテキストメニュー、Webサイトごとにズームが記憶される機能も追加されました。
MCPサーバーのサンドボックス
これは思っている以上に重要です。MCPサーバーを使っている場合 — Azureリソースやデータベースクエリ用にカスタムのものを設定しているかもしれません — これまでVS Codeプロセスと同じ権限で実行されていました。つまり、ファイルシステム、ネットワーク、すべてへのフルアクセスです。
今はサンドボックス化できます。mcp.jsonで:
{
"servers": {
"my-azure-tools": {
"command": "node",
"args": ["./mcp-server.js"],
"sandboxEnabled": true
}
}
}
サンドボックス化されたサーバーが持っていないものへのアクセスが必要な場合、VS Codeが権限の付与を促します。「誰も変なことをしないことを祈る」アプローチよりずっと良いです。
注意: サンドボックスは現在macOSとLinuxで利用可能です。Windowsサポートは準備中 — WSLのようなリモートシナリオは動作します。
モノレポのカスタマイゼーション発見
モノレポで作業している場合(正直に言うと、多くのエンタープライズ.NETソリューションはモノレポになります)、これは本当の痛みのポイントを解決します。
以前は、リポジトリのサブフォルダを開いた場合、リポジトリルートにあるcopilot-instructions.md、AGENTS.md、カスタムスキルをVS Codeが見つけませんでした。chat.useCustomizationsInParentRepositories設定により、.gitルートまで遡ってすべてを発見するようになりました。
これはチームがエージェントの指示、プロンプトファイル、カスタムツールをモノレポ内のすべてのプロジェクト間で共有できることを意味します。全員がルートフォルダを開く必要はありません。
エージェントデバッグ用の/troubleshoot
カスタム指示やスキルを設定して、なぜ検出されないか不思議に思ったことはありますか?新しい/troubleshootスキルはエージェントのデバッグログを読んで何が起きたかを教えてくれます — どのツールが使われたかスキップされたか、なぜ指示がロードされなかったか、何が遅い応答を引き起こしているか。
次の設定で有効にします:
{
"github.copilot.chat.agentDebugLog.enabled": true,
"github.copilot.chat.agentDebugLog.fileLogging.enabled": true
}
チャットで/troubleshoot why is my custom skill not loading?と入力するだけです。
これらのデバッグログのエクスポートとインポートもできるようになり、何かが期待通りに動作しない場合にチームと共有するのに最適です。
画像とバイナリファイルのサポート
エージェントがディスクから画像ファイルとバイナリファイルをネイティブに読めるようになりました。バイナリファイルはhexdump形式で表示され、画像出力(統合ブラウザからのスクリーンショットなど)はカルーセルビューに表示されます。
.NET開発者の場合:UIバグのスクリーンショットをチャットに貼り付けてエージェントに何が問題かを理解させたり、Blazorコンポーネントのレンダリング出力を分析させたりできます。
自動シンボル参照
小さなクオリティオブライフの改善:シンボル名(クラス、メソッドなど)をコピーしてチャットに貼り付けると、VS Codeが自動的に#sym:Name参照に変換するようになりました。手動で追加することなく、エージェントにそのシンボルの完全なコンテキストを提供します。
プレーンテキストが欲しい場合はCtrl+Shift+Vを使用してください。
プラグインの有効/無効切り替え
以前はMCPサーバーやプラグインを無効にするには、アンインストールする必要がありました。今はオン/オフを切り替えられます — グローバルにもワークスペースごとにも。拡張機能ビューまたはカスタマイゼーションビューで右クリックするだけです。
npmとpypiのプラグインも自動更新できるようになりましたが、更新はマシン上で新しいコードを実行することを意味するので、まず承認を求めます。
まとめ
VS Code 1.112は明らかにエージェント体験を強力に推進しています — より多くの自律性、より良いデバッグ、より厳密なセキュリティ。.NET開発者にとって、統合ブラウザデバッグとCopilot CLIの改善が際立った機能です。
.NETプロジェクトでCopilot CLIのフルセッションをオートパイロットモードで試したことがないなら、このリリースが始めるのに良いタイミングです。パーミッションを設定して、あとはお任せしましょう。
VS Code 1.112をダウンロードするか、VS Code内からヘルプ > 更新の確認で更新してください。
