エージェント型開発を探求する -

2025年8月 (バージョン 1.104)

リリース日: 2025年9月11日

更新 1.104.1: この更新では、こちらの問題に対処しています。

更新 1.104.2: この更新では、こちらの問題に対処しています。

更新 1.104.3: この更新では、こちらの問題に対処しています。

ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Visual Studio Code 2025年8月リリースへようこそ。このバージョンには、皆様に喜んでいただけるようなアップデートが数多く含まれています。主なハイライトは以下の通りです。


これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comアップデートにアクセスしてください。

Insiders: 新機能をいち早く試したいですか?
毎晩のInsidersビルドをダウンロードして、最新のアップデートが利用可能になり次第試すことができます。
Insiders をダウンロード

チャット

自動モデル選択 (プレビュー)

今回のイテレーションでは、チャットにおける自動モデル選択を導入しました。モデルピッカーでAutoモデルを選択すると、VS Codeが自動的にモデルを選択し、最適なパフォーマンスを得つつレート制限を抑えるようにします。

自動モデル選択は現在プレビュー段階であり、今後数週間かけて、GitHub Copilotの個人プランから順次、VS CodeのすべてのGitHub Copilotユーザーに向けてロールアウトされます。

Screenshot that shows the model picker in the Chat view, showing the Auto option.

組織によってこれらのモデルへのアクセスが無効化されていない限り、AutoはClaude Sonnet 4、GPT-5、GPT-5 mini、GPT-4.1の中から選択します。自動モデル選択を使用する場合、VS Codeは選択されたモデルに基づいて可変のモデル乗数を使用します。有料ユーザーの場合、Autoは10%のリクエスト割引を適用します。

チャットビューでレスポンスにカーソルを合わせることで、選択されたモデルとモデル乗数を確認できます。

Screenshot of a chat response, showing the selected model on hover.

VS Codeにおける自動モデル選択の詳細をご覧ください。

機密ファイルの編集を承認する

設定: chat.tools.edits.autoApprove VS Codeで開く VS Code Insidersで開く

エージェントモードでは、エージェントがワークスペース内のファイルを自律的に編集できます。これには、設定ファイルなどの重要なファイルが誤って、あるいは悪意を持って変更・削除される可能性が含まれており、マシンに即座に悪影響を及ぼす可能性があります。AIを活用した開発ツールを使用する際のセキュリティ上の考慮事項について詳細をご覧ください。

今回のリリースでは、エージェントが特定のファイルを編集する前にユーザーに明示的に確認を求めるようになりました。これにより、エージェントモード使用時の安全性が一段と高まります。 chat.tools.edits.autoApprove VS Codeで開く VS Code Insidersで開く 設定を使用して、どのファイルに確認が必要かを示すファイルパターンを構成できます。

一般的なシステムフォルダー、ドットファイル、ワークスペース外のファイルには、デフォルトで確認が必要となります。

Screenshot showing the confirmation dialog for sensitive file edits in the Chat view.

AGENTS.mdファイルのサポート (実験的)

設定: chat.useAgentsMdFile VS Codeで開く VS Code Insidersで開く

AGENTS.mdファイルを使用すると、エージェントに対するコンテキストや指示を提供できます。今回のリリースから、ワークスペースのルートにAGENTS.mdファイルが存在する場合、チャットリクエストのコンテキストとして自動的に読み込まれるようになりました。これは複数のAIエージェントを使用するチームにとって便利です。

AGENTS.mdファイルのサポートはデフォルトで有効になっており、 chat.useAgentsMdFile VS Codeで開く VS Code Insidersで開く 設定で制御できます。AGENTS.mdファイルに関する詳細については、https://agents.md/を参照してください。

実践やチームのワークフローに合わせてVS Codeのチャットをカスタマイズする方法の詳細をご覧ください。

変更されたファイルの操作体験の向上

今回のイテレーションでは、変更されたファイルのリストが改良され、利便性を高める機能がいくつか追加されました。これらの変更により、エージェントモードでの操作性が向上するはずです!

  • 変更されたファイルのリストはデフォルトで折りたたまれるようになり、チャットの会話スペースが広がりました。折りたたまれた状態でも、変更されたファイルの数と、追加または削除された行数を確認できます。

  • 提案された変更を保持または承認すると、そのファイルは変更されたファイルリストから削除されます。

  • ソース管理ビューを使用してファイルをステージまたはコミットすると、提案されたファイル変更が自動的に承認されます。

  • ファイルごとの変更(追加または削除された行数)がリスト内の各項目に表示されるようになりました。

プロンプトファイルでカスタムチャットモードを使用する

プロンプトファイルは、再利用可能なチャットプロンプトを記述するためのMarkdownファイルです。プロンプトファイルを実行するには、チャット入力フィールドで/の後にプロンプトファイル名を入力するか、エディターでプロンプトファイルを開いた状態で再生ボタンを使用します。

プロンプトファイルの実行に使用するチャットモードを指定できるようになりました。以前は、agenteditaskといった組み込みのチャットモードしか使用できませんでしたが、これからはプロンプトファイルでカスタムチャットモードを参照することも可能です。

Screenshot showing IntelliSense for custom chat modes in prompt files.

プロンプトファイル、チャットモード、カスタム指示を使用してVS Codeのチャットをカスタマイズする方法の詳細をご覧ください。

プロンプトファイルの提案を構成する (実験的)

設定: chat.promptFilesRecommendations VS Codeで開く VS Code Insidersで開く

チームがAIワークフローを標準化するためにカスタムプロンプトファイルを作成することはよくありますが、ユーザーが最も必要とする時にそれらのプロンプトを見つけるのが難しい場合があります。これからは、文脈条件に基づいてチャットのウェルカムビューにどのプロンプトファイルを提案として表示するかを構成できます。

新しい chat.promptFilesRecommendations VS Codeで開く VS Code Insidersで開く 設定は、単純なブール値と、コンテキストを考慮した提案のためのwhen句式の両方をサポートしています。

{
  "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
  }
}

これにより、チームが適切なタイミングで適切なAIワークフローを提示できるようになり、カスタムプロンプトの発見可能性とワークスペースやファイルタイプに対する関連性が向上します。

ツールセットからツールを選択する

ツールセットは関連するツールをグループ化する便利な方法であり、VS Codeにはeditsearchといったいくつかの組み込みツールセットがあります。

ツールピッカーで、各ツールセットにどのツールが含まれているかが表示されるようになり、各ツールを個別に有効化または無効化できます。ツールピッカーには、チャットビューのConfigure Tools...ボタンからアクセスできます。

Screenshot showing the tools picker with an expanded edit tool set, listing all available tools.

チャットで使用されるフォントを構成する

設定: chat.fontFamily VS Codeで開く VS Code Insidersで開く , chat.fontSize VS Codeで開く VS Code Insidersで開く

VS Codeではエディター全体で使用するフォントを選択できますが、チャットビューにはその設定機能がありませんでした。今回、チャットメッセージのフォントファミリー( chat.fontFamily VS Codeで開く VS Code Insidersで開く )とフォントサイズ( chat.fontSize VS Codeで開く VS Code Insidersで開く )を構成するための2つの新しい設定を追加しました。

Screenshot showing the Chat view with a custom font and font size.

: リストの内容は現在これらの設定にまだ反映されませんが、今後のリリースで修正する予定です。

コーディングエージェントとの共同作業 (実験的)

コーディングエージェントを使用すると、バックグラウンドで処理されるタスクをAIエージェントに委任できます。複数のエージェントを並行して作業させることも可能です。コーディングエージェントとより効果的に連携できるよう、チャットセッションの操作体験を引き続き進化させています。

チャットセッションビュー

設定: chat.agentSessionsViewLocation VS Codeで開く VS Code Insidersで開く

チャットセッションビューは、ローカルおよび外部から提供されるチャットセッションの両方を管理するための単一の統一ビューを提供します。チャットセッションビューを大幅に強化し、主要なすべての操作を実行できるようにしたことで、コーディングタスクの反復と完了がより容易になりました。

  • ステータスバー追跡: 複数のコーディングエージェントの進捗をステータスバーから直接監視できます。
  • マルチセッションサポート: 同じビューから複数のチャットセッションを開始・管理できます。
  • 拡張されたコンテキストメニュー: より多くのアクションにアクセスして、コーディングエージェントと効率的にやり取りできます。
  • リッチな説明: リッチな説明が有効な場合、各リストエントリには関連情報を素早く見つけるのに役立つ詳細なコンテキストが含まれます。

GitHubコーディングエージェントの統合

チャットセッションとGitHubコーディングエージェントの統合を改善し、よりスムーズで直感的な操作体験を実現しました。

  • チャットエディターのアクション: コード変更の表示や適用、プルリクエストのチェックアウトをチャットエディターから直接行えます。
  • シームレスな移行: ローカルチャットからGitHubエージェントタスクへ、継続性を維持したままスムーズに移行できます。
  • セッションレンダリングの向上: カードやツールレンダリングのさまざまな改善により、視覚的な明瞭さが向上しました。
  • パフォーマンス向上: セッション読み込みが高速化され、より応答性の高い体験を実現しました。

コーディングエージェントへの委任

VS CodeでのローカルタスクをCopilotコーディングエージェントに委任する方法の拡充を続けています。

  • コーディングエージェントでTODOを修正

    TODOで始まるコメントに、コーディングエージェントセッションを素早く開始するためのコードアクションが表示されるようになりました。

    Screenshot of a code action above a TODO comment called Delegate to coding agent.

  • チャットからの委任 ( githubPullRequests.codingAgent.uiIntegration VS Codeで開く VS Code Insidersで開く )

    チャットでコーディングエージェントに委任アクションを実行すると、ファイル参照を含む追加のコンテキストがGitHubコーディングエージェントに転送されるようになりました。これにより、タスクをコーディングエージェントに渡して完了させる前に、正確に計画を立てることができます。新しいチャットエディターが開き、コーディングエージェントの進捗状況がリアルタイムで表示されます。

テーマ: Sharp Solarized (vscode.devでプレビュー)

Googleによるソーシャルサインイン

Googleアカウントを使用してGitHub Copilotにサインインまたはサインアップするオプションが一般利用可能となり、VS Codeのすべてのユーザーに展開されています。

Screenshot showing the sign in dialog showing the option to use a Google account.

詳細については、GitHubブログの発表記事を参照してください。

ターミナルの自動承認

設定: chat.tools.terminal.enableAutoApprove VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更するには管理者に連絡してください。

ターミナルコマンドを自動承認すると、エージェントとの対話が大幅に効率化されますが、それにはセキュリティリスクも伴います。このリリースでは、ユーザビリティとセキュリティの両方を強化するため、ターミナルの自動承認にいくつかの改善が導入されました。

  • ターミナルの自動承認は、 chat.tools.terminal.enableAutoApprove VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更するには管理者に連絡してください。 設定で有効または無効にできます。この設定は、組織によってデバイス管理を通じて設定することも可能です。

  • ターミナルの自動承認が実際に有効になる前に、チャットビュー内のドロップダウンから明示的にオプトインする必要があります。

    Screenshot of a terminal command in the Chat view, showing the Enable Auto Approve dropdown.

  • チャットビューから、実行中のコマンドに対して自動承認ルールを簡単に追加したり、設定を開いたりできます。

    Screenshot that shows the three standard options are presented for "foo --arg && bar".

    テーマ: Sapphire (vscode.dev でプレビュー中: vscode.dev)

    コマンドに対して、より適切なサブコマンド(例:npmではなくnpm testルールを提案する)を提案する基本的なサポートが含まれています。

  • 自動承認されたコマンドに関する透明性を向上させるため、どのルールが適用されたかをチャットビューに表示し、そのルールを構成できるようにしました。

    Screenshot showing the new links added under the tool call in the Chat view for adding new auto approve rules.

  • 安全性とノイズの低減のためにデフォルト設定を改善しました。settings.jsonファイルを開き、chat.tools.terminal.autoApproveと入力してTabキーで補完することで、設定のデフォルト値からルールの一覧全体を確認できます。

  • バックスラッシュまたはフォワードスラッシュを含む非正規表現ルールは、パスとして扱われるようになりました。その正確なパスを承認するだけでなく、どちらのスラッシュタイプも許可し、./プレフィックスも許可されます。PowerShellを使用する場合、すべてのルールは大文字と小文字を区別しません。

  • エージェントモードがcurlwgetInvoke-RestMethod、またはInvoke-WebRequestを使用してインターネットからコンテンツを取得しようとすると、警告が表示されるようになりました。これはプロンプトインジェクション攻撃の一般的なベクトルであるためです。

ドキュメントでターミナルの自動承認の詳細をご覧ください。

グローバル自動承認

グローバル自動承認は、v1.99以降、実験的な設定でした。私たちが観察したところ、ユーザーはその結果を深く考えることなくこの設定を有効にしていました。さらに、一部のユーザーは chat.tools.autoApprove VS Codeで開く VS Code Insidersで開く 設定を有効にすることがターミナルの自動承認を有効にするための前提条件であると考えていましたが、実際にはそうではありませんでした。

これらの誤解に対処し、ユーザーをさらに保護するため、グローバル自動承認が最初に使用される際に警告が表示されるようになり、ユーザーは簡単に設定を取り消して無効にできるようになりました。

Screenshot of a warning dialog that appears when global auto approve is used for the first time.

設定名称も、より明確な chat.tools.global.autoApprove VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更するには管理者に連絡してください。 に変更され、自動的な移行は行われないため、すべてのユーザー(意図したか否かに関わらず)は改めて明示的に設定する必要があります。

数学的レンダリングがデフォルトで有効に

設定: chat.math.enabled VS Codeで開く VS Code Insidersで開く

チャットの回答における数式のレンダリングが一般利用可能となり、デフォルトで有効になりました。 chat.math.enabled VS Codeで開く VS Code Insidersで開く 設定でこの機能を無効にできます。

Screenshot of the Chat view, showing inline and block equations in a chat response.

この機能はKaTeXをベースにしており、インライン数式とブロック数式の両方をサポートしています。インライン数式はマークアップをドル記号1つ($...$)で囲み、ブロック数式はドル記号2つ($$...$$)で囲んで記述します。

チャットビューのデフォルト表示

設定: workbench.secondarySideBar.defaultVisibility VS Codeで開く VS Code Insidersで開く

ワークスペースを最初に開く際、チャットビューを含むセカンダリサイドバーがデフォルトで表示され、すぐに質問したり、エージェントセッションを開始したりできるようになります。この動作は、 workbench.secondarySideBar.defaultVisibility VS Codeで開く VS Code Insidersで開く 設定、またはチャットビュー自体のドロップダウンを使用して構成できます。

Screenshot showing Chat view menu with the option to set the default Secondary Side Bar visibility.

タスクサポートの向上

  • 入力リクエストの検出

    エージェントモードでタスクやターミナルコマンドを実行すると、エージェントがプロセスのユーザー入力を要求していることを検出できるようになり、チャットで応答を促されるようになりました。プロンプトが表示されている間にターミナルで入力を開始すると、プロンプトは自動的に非表示になります。選択肢と説明([Y] はい [N] いいえなど)が提供される場合、これらは確認プロンプトに表示されます。

  • 問題マッチャーを備えたタスクのエラー検出

    問題マッチャーを使用するタスクでは、言語モデルが出力を評価するのではなく、問題マッチャーの結果に基づいてエラーを収集・表示するようになりました。問題はチャットの進捗メッセージ内のドロップダウンに表示され、問題の場所に直接移動できます。これにより、現在のタスク実行に関連する場合にのみエラーが報告されるようになります。

  • 複合タスクサポート

    エージェントモードで複合タスクの実行がサポートされました。複合タスクを実行すると、エージェントは各依存タスクの進捗と出力(ユーザー入力のプロンプトを含む)を表示します。これにより、より複雑なワークフローが可能になり、複数ステップにわたるタスク実行の可視性が向上します。

    以下の例では、「VS Code - Build」タスクが実行されています。各依存タスクの出力が評価され、レスポンスと進捗メッセージのドロップダウンに問題がユーザーに表示されます。

ターミナルサポートの向上

  • ターミナルツールをコアへ移行

    前回のリリースでのrunInTerminalツールと同様に、terminalSelectionおよびterminalLastCommandツールが拡張機能からコアに移行されました。これにより、全般的な信頼性が向上するはずです。

  • 構成可能なターミナルツールのシェル統合タイムアウト

    runInTerminalツールがターミナルを作成しようとするたび、シェル統合が有効になるまで一定時間待機します。シェル(PowerShellのプロファイルが非常に重い場合など)の起動が特に遅いと、これまでは固定の5秒のタイムアウトを待っても結局失敗することがありました。このタイムアウトは、 chat.tools.terminal.shellIntegrationTimeout VS Codeで開く VS Code Insidersで開く 設定で構成可能になりました。

  • コマンドプロンプトの使用を防止

    コマンドプロンプトでは、少なくともCopilotが必要とする機能においてはシェル統合が不可能であるため、CopilotはデフォルトでWindows PowerShellを使用するようにしました。これにより、デフォルトシェルがコマンドプロンプトの場合でもrunInTerminalツールの信頼性が向上します。

    何らかの理由でCopilotにコマンドプロンプトを使用させたい場合、現時点では不可能です。Copilotが使用するターミナルプロファイルをカスタマイズする機能を近いうちに追加する予定です。これについては#253945で追跡されています。

Todoリストツール

Todoリストツールは、エージェントが複雑な複数ステップのタスクを小さなタスクに分解し、進捗状況を報告して個々の項目を追跡するのに役立ちます。このツールを改良し、デフォルトで有効にしました。

ツールの進捗状況はチャットビュー上部のTodoコントロールに表示されます。Todoリストが進むにつれて自動的に折りたたまれ、現在進行中のタスクのみが表示されます。

ツール呼び出しのスキップ

エージェントがツール呼び出しの確認を求めてきた場合、ツール呼び出しをスキップしてエージェントに続行させることができるようになりました。引き続き、チャット入力ボックスからリクエストをキャンセルしたり、新しいリクエストを入力したりできます。

#codebaseツールをアップグレードし、ワークスペース内のコードのセマンティック検索に新しい埋め込み(Embedding)モデルを使用するようにしました。この新しいモデルは、コード検索においてより良い結果を提供します。また、新しい埋め込みモデルはストレージ容量を節約し、以前のモデルのオンディスクサイズのわずか6%のストレージで済みます。

今後数週間かけて、この新しい埋め込みモデルを段階的に展開していきます。ワークスペースは自動的に更新されるため、操作の必要はありません。VS Code Insidersでは、ロールアウト前に試せるよう、すでに新しいモデルを使用しています。

GitHub CopilotのAI機能を非表示または無効にする

設定: chat.disableAIFeatures VS Codeで開く VS Code Insidersで開く

GitHub Copilotが提供するチャット、コード補完、次候補の編集提案などの組み込みAI機能を無効化または非表示にするための新しい設定 chat.disableAIFeatures VS Codeで開く VS Code Insidersで開く を導入しました。

この設定には、以前のソリューションと比較して以下の利点があります。

  • 明示的に無効化しない限り、デバイス間で同期されます。
  • Copilot拡張機能がインストールされている場合、それらを無効にします。
  • プロファイルごと、またはワークスペースごとに設定を構成できるため、AI機能をを選択的に無効化することが容易です。

「AI機能を非表示にする」コマンドは、この変更を反映して名前が変更され、設定エディターでこの新しい設定が表示されるようになります。

注意: 以前にAI機能を非表示にしていたユーザーは、引き続きAI機能が非表示になります。設定を更新することで、デバイス間で選択を同期させることもできます。

MCP

サーバー指示のサポート

VS CodeはMCPサーバーの指示を読み取り、それらをベースプロンプトに含めるようになりました。

MCPの自動検出がデフォルトで無効に

設定: chat.mcp.discovery.enabled VS Codeで開く VS Code Insidersで開く

VS Codeは、Claude Codeなどの他のアプリにインストールされたMCPサーバーの自動検出をサポートしています。VS CodeにおけるMCPサポートの成熟に伴い、自動検出はデフォルトで無効になりましたが、 chat.mcp.discovery.enabled VS Codeで開く VS Code Insidersで開く 設定を使用して再有効化できます。

MCPを有効にする

設定: chat.mcp.access VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更するには管理者に連絡してください。

以前はMCPサーバーをVS Codeで実行できるかどうかを制御していたchat.mcp.enabled設定が、より説明的なオプションを持つ新しい chat.mcp.access VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更するには管理者に連絡してください。 設定に移行されました。

  • all: すべてのMCPサーバーの実行を許可(以前のtrue値に相当)
  • none: MCPサポートを完全に無効化(以前のfalse値に相当)

アクセシビリティ

チャット確認アクションにフォーカス

チャットの確認にフォーカス (kb(workbench.action.chat.focusConfirmation)) コマンドを追加しました。これにより、確認ダイアログが存在する場合はそれにフォーカスし、存在しない場合はスクリーンリーダーのユーザーに確認が不要であることをアナウンスします。

コード編集

インライン候補表示の遅延を構成可能に

設定: editor.inlineSuggest.minShowDelay VS Codeで開く VS Code Insidersで開く

新しい editor.inlineSuggest.minShowDelay VS Codeで開く VS Code Insidersで開く 設定により、タイピング後にインライン候補がどれくらいの速さで表示されるかを構成できます。候補が速すぎると感じ、タイピングの邪魔になる場合に便利です。

エディターエクスペリエンス

Windowsでのウィンドウ枠線の色サポート

設定: window.border VS Codeで開く VS Code Insidersで開く

WindowsでVS Codeウィンドウの周りに色付きの枠線を表示できる新しい window.border VS Codeで開く VS Code Insidersで開く 設定を追加しました。以下のオプションがあります。

  • default: カラーテーマ設定を尊重し、Windows設定にフォールバックします。
  • system: Windows設定のみを尊重します(ウィンドウタイトルのアクセントカラー)。
  • off: 枠線の色を無効にします。
  • <color>: Hex、RGB、RGBA、HSL、HSLA形式の特定の色。

ワークスペースごとに色を構成できるため、どのウィンドウでどのワークスペースが開かれているかを簡単に区別できます。

Screenshot of several VS Code windows with different border colors.

window.border VS Codeで開く VS Code Insidersで開く default として構成すると、テーマは window.activeBorder および window.inactiveBorder カラーキーを使用して、アクティブおよび非アクティブなウィンドウの枠線の色を設定できます。これらの色は、 workbench.colorCustomizations VS Codeで開く VS Code Insidersで開く 設定からさらに上書きできます。

拡張機能アカウント設定の管理

コマンドパレットにアカウント: 拡張機能アカウント設定を管理コマンドを追加しました。起動すると、認証アカウントにアクセスできる拡張機能の一覧が表示され、それらの拡張機能が使用するアカウントを変更できます。リストから直接新しいアカウントにサインインすることも可能です。

これは、1年前に導入したアカウント管理機能に基づいています。

エディターのタブインデックス

設定: workbench.editor.showTabIndex VS Codeで開く VS Code Insidersで開く

エディターのタブインデックスをタブのラベルに表示できるようになりました。多くのタブを開いている場合や、キーボードショートカットを使って素早くタブ間を移動したい場合に便利です。 workbench.editor.showTabIndex VS Codeで開く VS Code Insidersで開く 設定でこの機能を有効にできます。

Screenshot of editor tabs with numbers in front of them, indicating their index.

エディタータブバーのスクロールバー表示設定

設定: workbench.editor.titleScrollbarVisibility VS Codeで開く VS Code Insidersで開く

workbench.editor.titleScrollbarVisibility VS Codeで開く VS Code Insidersで開く 設定により、エディタータブバーのスクロールバーを表示するタイミングを制御できます。デフォルト値のautoは、タブがオーバーフローし、タブにマウスホバーした時のみスクロールバーを表示します。visibleに設定して常に表示したり、hiddenにして非表示にしたりすることも可能です。

問題報告機能の改善

組み込みの課題報告ツールを使用してVS Codeや拡張機能の問題を報告する際、報告ボタンのドロップダウンからGitHubで作成またはGitHubでプレビューを選択できるようになりました。ボタンがドロップダウンを生成せず、「作成」または「プレビュー」のみが表示される場合は、まだ拡張機能データが読み込み中か、適切なスコープを持つGitHubアカウントでサインインしていることを確認する必要があります。

Screenshot of a dropdown showing Create on Github and Preview on Github in the issue reporter.

ノートブック

NES提案の改善 (実験的)

設定: github.copilot.chat.notebook.enhancedNextEditSuggestions.enabled VS Codeで開く VS Code Insidersで開く

Notebook向けの次候補の編集(Next Edit Suggestions)の品質向上を実験しています。現在、言語モデルは提案の生成時にアクティブなセルの内容にアクセスできます。 github.copilot.chat.notebook.enhancedNextEditSuggestions.enabled VS Codeで開く VS Code Insidersで開く 設定を有効にすると、言語モデルがNotebook全体にアクセスできるようになり、より正確で高品質な編集候補を生成できるようになります。

ソース管理

Git作業ツリーの変更をプレビューして移行

ソース管理の変更ビューで作業ツリーのファイルを右クリックしてコンテキストメニューを開き、ワークスペースと比較を選択することで、作業ツリーのファイルと現在のワークスペースとの差分をプレビューできるようになりました。

Screenshot of the context menu shown in the SCM view on a changed file in a worktree, with the Compare with Workspace option selected.

変更を確認した後、コマンドパレットから作業ツリーの変更を移行...コマンド()を使用して、作業ツリーのすべての変更を現在のワークスペースにマージできます。これにより、複数の作業ツリー間で簡単に作業し、変更を選択的にメインリポジトリに戻すことができます。

VS CodeでのGit作業ツリーの詳細をご覧ください。

ターミナル

ターミナルウィンドウの発見性と洗練

ターミナルを別のウィンドウで開きたいという要望がよく寄せられていました。この機能は1年半前から存在していましたが、あまり知られていませんでした。今回のイテレーションでは、この機能への複数のエントリポイントを追加しました。

  • 新しいコマンド ⌃⇧⌥` (Windows, Linux Ctrl+Shift+Alt+`)
  • 空のエディターメニューとタブウェルメニューに新しいターミナルエントリが追加されました。
  • 新しいターミナルのドロップダウンが整理され、新しいターミナルウィンドウエントリが追加されました。
  • トップレベルのターミナルメニューに新しいターミナルウィンドウエントリが追加されました。

また、これらの新しいターミナルウィンドウがコンパクトモードで開く体験を洗練させました。ウィンドウに新しいタブを追加すると、自動的にコンパクトモードが終了します。

Screenshot of the terminal window open in compact mode, hiding tabs to make more room for terminal content.

ターミナルエディターでのターミナルアクション

ターミナルビューで利用可能なアクション(新しいターミナルのドロップダウン、ターミナルのクリアなど)が、エディターエリアやターミナルウィンドウ内のターミナルでも利用できるようになりました。

Screenshot of different terminal actions in the editor actions menu.

ターミナルビューと同様に、アクション領域を右クリックしてオーバーフローメニューから移動させることができます。

ターミナルのIntelliSenseの向上 (プレビュー)

今回のリリースで、ターミナルIntelliSenseにいくつかの改善が加えられています。

  • Windowsでの体験に大きな影響を与える、複数のパフォーマンス改善。
  • Windowsでは利用できないsed依存関係の削除により、Windowsでのgit補完がより信頼できるようになりました。
  • git補完に、コミット、ブランチ、リモート、スタッシュ、タグを表すおなじみのアイコンが表示されるようになりました。"git checkout"の補完にタグとブランチの新しいアイコンが表示されているスクリーンショット
  • 多数の補完スペックが追加されました: adb, basename, bundle, clear, cut, date, dd, diff, dig, dirname, docker-compose, docker, dotnet, env, export, fdisk, fmt, fold, gh, go, htop, id, jq, ln, lsblk, lsof, mount, nl, od, paste, ping, pkill, readlink, rsync, ruby, ruff, sed, seq, shred, sort, source, split, stat, su, sudo, tac, tar, tee, time, tr, traceroute, tree, truncate, uniq, unzip, wc, where, whereis, which, who, xargs, xxd, yo, zip

ターミナルのスティッキースクロールの改善

ターミナルのスティッキースクロールをデフォルトで有効にしました。ページャーを使用する際の動作改善など、より良い体験のためにいくつか改善を行いました。ターミナルスティッキースクロールは、 editor.tabFocusMode VS Codeで開く VS Code Insidersで開く 設定と互換性があります。

言語

JavaScriptとTypeScript

利用数を確認した結果、組み込みのbower.json IntelliSenseを削除することに決定しました。Bowerは2017年から非推奨となっており、組み込みサポートの使用頻度が低く、積極的にメンテナンスされていませんでした。

Bowerはユーザーにnpmまたはyarnへの移行を推奨しています。VS CodeでのBowerの継続的なサポートは、拡張機能によって提供されます。

Python

PipenvのPython環境拡張機能サポート

Pipenv環境をPython拡張機能と同様に検出し、選択できるようになりました。さらに、これらはPythonサイドバーの環境マネージャービューに表示され、他の環境タイプと一緒にグループ化されます。

Screenshot showing the Python sidebar with Pipenv environments expanded.

環境変数の注入を構成

新しい設定である python.useEnvFile VS Codeで開く VS Code Insidersで開く は、Python環境拡張機能が有効な場合に、.envファイルや python.envFile VS Codeで開く VS Code Insidersで開く 設定からの環境変数をターミナルに注入するかどうかを制御します。

Python Environments 拡張機能の改善

 Python環境拡張機能 は、安定版ユーザーへの制御されたロールアウトの一環として、バグ修正と改善を受け続けています。ロールアウト中にPython環境拡張機能を使用するには、拡張機能がインストールされていることを確認し、VS Codeの settings.json ファイルに "python.useEnvironmentsExtension": true を追加してください。

PylanceによるAIを活用したホバー要約 (実験的)

Python用の最新のプレリリース版Pylanceを使用すると、新しい試験的なAIホバー要約機能を利用できるようになりました。 python.analysis.aiHoverSummaries VS Codeで開く VS Code Insidersで開く 設定を有効にすると、ドキュメントがまだ存在しないシンボルに対して、オンザフライで役立つ要約を取得できます。これにより、未知のコードを理解しやすくなり、Pythonプロジェクトを探索する際の生産性が向上します。AIホバー要約は現在、GitHub Copilot Pro、Pro+、およびEnterpriseユーザーが利用可能です。

この試験的な機能を、近日中に安定版の拡張機能にも提供する予定です。

コードスニペット実行ツール

Pylanceのコードスニペット実行ツールを使用すると、python -c "code"のようなターミナルコマンドに頼ったり、実行用の一時ファイルを作成したりすることなく、GitHub CopilotがPythonスニペットを完全にメモリ内で実行できるようになります。このツールはワークスペース用に設定された適切なPythonインタープリターを自動的に使用し、ターミナル実行時に発生することがあるシェルエスケープや引用符に関連する一般的な問題を解消します。

特筆すべき利点の一つは、stdoutとstderrが明確に統合された、整理され見やすい形式で出力される点です。これにより、GitHub Copilotのエージェントモードを使用して、ワークスペースのコンテキスト内で小さなコードブロックのテスト、簡易スクリプトの実行、Python式の検証、インポートの確認を行う際に非常に適しています。

試してみるには、Pylance拡張機能の最新のプレリリース版を使用してください。その後、チャットビューのAdd context...(コンテキストの追加...)> Tools(ツール)メニューから pylancerunCodeSnippet ツールを選択できます。

注意:すべてのAI生成コードと同様に、このツールを実行する前に、生成されたコードを確認してください。コードのロジックと意図をレビューすることで、プロジェクトの目標と一致しているか、安全で正しいものであるかを確認してください。

すべてのPythonドキュメントでPylance IntelliSenseが有効化

python.analysis.supportAllPythonDocuments 設定がPylanceの最新プレリリース版から削除されました。Pylance IntelliSenseは、ターミナルビューやdiffビューを含むすべてのPythonドキュメントでデフォルトで有効になります。つまり、VS CodeでPythonを扱うあらゆる場所で、高度なコード補完、ホバー、コードナビゲーションを利用できるようになります。

アクティベーションフック

Pythonのアクティベーションフックが、Python環境拡張機能によるシェルプロファイルの変更を必要とせず、シェル統合スクリプトから実行できるようになりました。これにより、 python-envs.terminal.autoActivationType VS Codeで開く VS Code Insidersで開く shellStartup に設定されている場合のターミナル起動がより信頼性の高いものになり、重要な点として、Copilotターミナルが期待どおりにアクティベートされるようになります。

拡張機能への貢献

GitHub Pull Requests

プルリクエストと課題の操作、作成、管理を可能にする GitHub Pull Requests 拡張機能にさらなる進歩がありました。新機能には次のようなものがあります。

  • サイドバーのコンテンツが狭いウィンドウで折りたたまれるようになりました
  • プルリクエストとIssueのウェブビューがリロード後に復元されるようになりました
  • 新しい「TODO」コードアクションを使用して、Copilotコーディングエージェントに直接委任できるようになりました
  • サブモジュールは githubPullRequests.ignoreSubmodules VS Codeで開く VS Code Insidersで開く で無視できます

リリースの全容については、拡張機能の 0.118.0 リリース版の変更履歴 を確認してください。

拡張機能の作成

拡張機能が起動したターミナル向けの shellIntegrationNonce

shellIntegrationNonceTerminalOptions および ExtensionTerminalOptions 内の createTerminal に渡せるようになりました。これにより、拡張機能は シェル統合エスケープシーケンス 内のコマンドを検証するために使用されるnonceを制御できるようになります。

言語モデルチャットプロバイダーAPI

今回のイテレーションで LanguageModelChatProviders API が完成しました。これにより、拡張機能はクラウドホスト型またはローカルの1つ以上の言語モデルを提供できるようになります。ユーザーは拡張機能をインストールすることで、チャット内のモデルピッカーからこれらのモデルを選択できます。

すでに AI Toolkit for VS CodeCerebras InferenceHugging Face など、このAPIを活用してVS Codeのチャットを拡張し、追加のモデルを提供する複数の拡張機能が存在します。

このAPIの利用方法についての詳細は、Language Model Chat Provider 拡張機能ガイド または 拡張機能サンプル を参照してください。

注意:このAPIを通じて提供されるモデルは、現在 GitHub Copilot 個人向けプラン のユーザーのみが利用可能です。

提案API

認証:getSession における WWW-Authenticate チャレンジのサポート

HTTPの確立されたパターンとして、APIへのリクエストに対して 401 Unauthorized ステータスコードと WWW-Authenticate ヘッダーが返されることがあります。このヘッダーは、認証チャレンジ を定義します。これらは本質的に、APIが401エラーを解決するために必要なものです。

認証プロバイダーに対してこれらのチャレンジを渡し、処理することを可能にする提案APIを導入しました。まず、呼び出し側から以下のようにチャレンジを渡すことができます。

export interface AuthenticationWWWAuthenticateRequest {
  /**
   * The raw WWW-Authenticate header value that triggered this challenge.
   */
  readonly wwwAuthenticate: string;

  /**
   * Optional scopes for the session.
   */
  readonly scopes?: readonly string[];
}

export namespace authentication {
  // NOTE: The only change is the 2nd parameter, the other variations of `getSession` have the same change
  export function getSession(
    providerId: string,
    scopeListOrRequest: ReadonlyArray<string> | AuthenticationWWWAuthenticateRequest,
    options?: AuthenticationGetSessionOptions
  ): Thenable<AuthenticationSession | undefined>;
}

認証プロバイダー側には、AuthenticationProvider に以下の2つの新しい関数を追加しました。

getSessionsFromChallenges(constraint: AuthenticationConstraint, options: AuthenticationProviderSessionOptions): Thenable<readonly AuthenticationSession[]>;
createSessionFromChallenges(constraint: AuthenticationConstraint, options: AuthenticationProviderSessionOptions): Thenable<AuthenticationSession>;

また、認証プロバイダーは AuthenticationProviderOptions 内で supportsChallenges: true を設定することで、チャレンジのサポートを宣言できます。

例:Azure MFA

この作業は当初、Azure APIでMFA(多要素認証)が必須化されるという今後の変更 に対応するために行われました。このAPIの例としてこれを使用してみましょう。

Azureでリソースを作成する拡張機能があるとします。これは単に Azure RM API を呼び出すだけで、特別なことはしていません。あなたの拡張機能はおそらく、認証セッション(主にアクセストークン)を取得するために vscode.authentication.getSession を呼び出すことにすでに慣れているでしょう。さて、その認証セッションを最初に作成した際、所属組織によっては、多要素認証(MFA)を通過している場合とそうでない場合があります。通過している場合、Azure APIは正常に動作します。もし通過していない場合、AzureのAPIは401と WWW-Authenticate ヘッダーを返します。

ここでVS Codeの新しいAPIの出番です。ヘッダー値を取得し、それをそのまま vscode.authentication.getSession に渡すだけです。

const newRequest = {
  wwwAuthenticate: theRawHeaderValue,
  scopes: scopesFromPreviousRequest
};
const sessionWithMFA = await vscode.authentication.getSession(
  'microsoft',
  newRequest,
  options
);

これにより、そのヘッダー値が microsoft 認証プロバイダーに渡され、プロバイダーはチャレンジが満たされた状態でセッションを作成する責任を負います。

次のステップ

次回のイテレーションでは、この提案の getSession(拡張機能が認証を要求する部分)を確定させる予定です。この提案や AuthenticationProvider の変更の形状についてフィードバックがあれば、ぜひお知らせください!GitHub上の提案の全容はこちら で確認できます。

WWW-Authenticate に関してもう一つ近々対応予定のユースケースとして、MCPサーバーがより多くのスコープを要求するトークンを求めるために WWW-Authenticate ヘッダーを発行する機能があります。MCP仕様において、これに関する提案が行われています

セカンダリサイドバーにおけるビューコンテナ

拡張機能は activitybar および panel にビューコンテナを提供できます。今回、secondarySidebar への提供もサポートしました。これは現在 contribSecondarySideBar 提案APIの背後にあります。近日中にこのAPIを確定させたいと考えています。

エンジニアリング

VS Codeの内部開発ループにおけるPlaywrightおよびPlaywright MCPの活用検討

エージェントモードやVS Codeのその他のAI機能は、VS CodeチームがVS Code自体を構築するための中心的なツールになっています。私たちは、これらの機能をさらに適用してVS Codeの内部開発ループをより良くする方法を検討したいと考えました。そのために、Playwright を使用した既存のスモークテスト 自動化プロジェクト を拡張し、ローカルのVS Codeインスタンスを操作できるMCPサーバーを作成する実験を行ってきました。これにより、ビルド/テスト時の成果物(コンパイル、リンター、テストなど)からコンテキストを受け取ることに焦点を当てていた既存のエージェントフローが、ライブのVS Codeインスタンスと対話できるようになり、実行時に変更が意図した効果をもたらしているかを確認できるようになりました。

この作業の最初の部分は、vscodeリポジトリの test/mcp フォルダ にあります。試してみたい場合は、簡単に開始できます。

  1. Code OSSのローカル版を実行するための コントリビューションガイドライン に従ってください。
  2. その後、私たちの(今のところ単純な)プロンプトファイル を使用して、エージェントモードで /playwright ここに質問を入力 と質問できます。

これはまだ初期の探索段階ですが、AIを内部開発ループでさらに活用するための可能性が広がることに興奮しています。基盤は整いましたので、今後はチームにとってより堅牢で有用なものにするために反復作業を行っていきます。

この作業は最近、VS Code Insidersポッドキャストで取り上げられ、この探索の背景にある動機や技術的な詳細について議論しました。VS Code Insidersポッドキャスト のエピソードを聴くことができます。

注目すべき修正

  • vscode#151902 - ターミナル:1.68における選択時のコピー+新しいハイライト機能が、CMD+Fで以前の用語をコピーしてしまう
  • vscode#222075 - ページャーでPage Downを使用すると、ターミナルのスティッキースクロールが1フレーム表示されることがある
  • xtermjs/xterm.js#5390 - Altバッファ終了後のスクロールバーのテレポートを修正

ありがとうございます

最後になりましたが、VS Code への貢献者の方々に心から感謝いたします。

イシュートラッキング

イシュートラッキングへの貢献

プルリクエスト

vscodeへの貢献

vscode-copilot-chat への貢献

vscode-eslint への貢献

vscode-extension-samples への貢献

vscode-js-debug への貢献

vscode-jupyter への貢献

vscode-languageserver-nodeへの貢献

vscode-markdown-languageservice への貢献

vscode-markdown-tm-grammarへの貢献

vscode-pull-request-github への貢献

vscode-python-environments への貢献

vscode-vsceへの貢献

debug-adapter-protocolへの貢献

language-server-protocolへの貢献

node-jsonc-parser への貢献

python-environment-tools への貢献

新機能をすぐに試していただくことに感謝しています。頻繁にチェックして、新機能について学んでください。

以前の VS Code バージョンのリリースノートを読むには、code.visualstudio.comUpdates にアクセスしてください。

© . This site is unofficial and not affiliated with Microsoft.