VSCode1.104のリリースノート(日本語訳)

まえがき

VSCode1.104 のリリースノートを ChatGPT で日本語に翻訳しました。
VSCode 1.104 Release Notes

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

リリース日: 2025 年 9 月 11 日
アップデート 1.104.1: このアップデートはこれらの問題 に対処しています。
アップデート 1.104.2: このアップデートはこれらの問題 に対処しています。

Visual Studio Code の 2025 年 8 月リリースへようこそ。このバージョンには多くの更新があり、いくつかの主要なハイライトを以下に示します。

モデルの柔軟性

VS Code が最適なモデルを選択(詳細… )
VS Code 拡張機能を通じてモデルを提供(詳細… )

セキュリティ

機密ファイルの編集を確認(詳細… )
エージェントがターミナルコマンドを安全に実行(詳細… )

生産性

チャットファイル編集からの気を散らす要素を除去(詳細… )
AGENTS.mdを使用してチャットコンテキストを追加(詳細… )

チャット

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

このイテレーションでは、チャットでの自動モデル選択を導入しています。モデルピッカーでAutoモデルを選択すると、VS Code が自動的にモデルを選択し、最適なパフォーマンスを確保し、レート制限を減少させます。
自動モデル選択は現在プレビュー中で、今後数週間で VS Code のすべての GitHub Copilot ユーザーに展開されます。個人の Copilot プランから開始します。

Autoは、組織がこれらのモデルへのアクセスを無効にしていない限り、Claude Sonnet 4GPT-5GPT-5 miniGPT-4.1の間で選択します。自動モデル選択を使用する場合、VS Code は選択されたモデルに基づいて可変モデル乗数を使用します。有料ユーザーの場合、自動で 10%のリクエスト割引が適用されます。
選択されたモデルとモデル乗数は、チャットビューで応答にホバーすることで確認できます。

VS Code での自動モデル選択について詳しくはこちら をご覧ください。

機密ファイルの編集を確認

設定: chat.tools.edits.autoApprove
エージェントモードでは、エージェントがワークスペース内のファイルを自律的に編集できます。これには、設定ファイルなどの重要なファイルを誤ってまたは悪意を持って変更または削除することが含まれる可能性があり、マシンに即座に悪影響を及ぼす可能性があります。AI を活用した開発ツールを使用する際のセキュリティ考慮事項 について詳しくはこちらをご覧ください。
このリリースでは、エージェントが特定のファイルを編集する前にユーザーの確認を明示的に求めるようになりました。これにより、エージェントモードを使用する際の安全性がさらに向上します。 chat.tools.edits.autoApprove 設定を使用して、確認が必要なファイルパターンを設定できます。
一般的なシステムフォルダ、ドットファイル、およびワークスペース外のファイルはデフォルトで確認が必要です。

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

設定: chat.useAgentsMdFile
AGENTS.mdファイルを使用すると、エージェントにコンテキストと指示を提供できます。このリリースから、ワークスペースのルートにAGENTS.mdファイルがある場合、チャットリクエストのコンテキストとして自動的に使用されます。これは、複数の AI エージェントを使用するチームにとって有用です。
AGENTS.mdファイルのサポートはデフォルトで有効になっており、 chat.useAgentsMdFile 設定で制御できます。https://agents.md/AGENTS.mdファイルについての詳細を確認できます。
VS Code でのチャットのカスタマイズ について詳しく学び、実践やチームのワークフローに合わせてください。

変更されたファイルの体験の改善

このイテレーションでは、変更されたファイルのリストがいくつかの生活の質を向上させる機能で再構築されました。これらの変更により、エージェントモードでの作業体験が向上するはずです。

変更されたファイルのリストはデフォルトで折りたたまれており、チャットの会話により多くのスペースを提供します。折りたたまれている間でも、変更されたファイルの数と追加または削除された行を確認できます。

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

ソースコントロールビューを使用してファイルをステージまたはコミットすると、提案されたファイルの変更が自動的に受け入れられます。

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

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

プロンプトファイルは、再利用可能なチャットプロンプトを書く Markdown ファイルです。プロンプトファイルを実行するには、チャット入力フィールドで/の後にプロンプトファイル名を入力するか、エディターでプロンプトファイルを開いているときに再生ボタンを使用します。
プロンプトファイルを実行する際に使用するチャットモードを指定できます。以前は、プロンプトファイルでagenteditaskなどの組み込みチャットモードしか使用できませんでしたが、今ではプロンプトファイルでカスタムチャットモードも参照できます。

プロンプトファイル、チャットモード、カスタム指示を使用してVS Code でのチャットのカスタマイズ について詳しく学びましょう。

プロンプトファイルの提案を設定 (実験的)

設定: chat.promptFilesRecommendations
チームは AI ワークフローを標準化するためにカスタムプロンプトファイルを作成することがよくありますが、これらのプロンプトはユーザーが最も必要とする時に発見しにくいことがあります。
今では、コンテキスト条件に基づいてチャットのウェルカムビューに表示されるプロンプトファイルを設定できます。
新しい chat.promptFilesRecommendations 設定は、シンプルなブール値とコンテキストに基づいた提案のためのwhen句の式の両方をサポートしています。

1
2
3
4
5
6
7
8
{
  "chat.promptFilesRecommendations": {
    "plan": true, // 常に提案
    "a11y-audit": "resourceExtname == .html", // HTMLファイルのみ
    "document": "resourceLangId == markdown", // Markdownファイルのみ
    "debug": false // 提案しない
  }
}

これにより、チームは適切な AI ワークフローを適切なタイミングで表示し、カスタムプロンプトをワークスペースやファイルタイプに関連付けてより発見しやすくします。

ツールセットでツールを選択

ツールセット は関連するツールをグループ化する便利な方法であり、VS Code にはeditsearchなどのいくつかの組み込みツールセットがあります。
ツールピッカーは、各ツールセットに含まれるツールを表示し、各ツールを個別に有効または無効にすることができます。チャットビューのConfigure Tools...ボタンからツールピッカーにアクセスできます。

チャットで使用するフォントを設定

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

注意: リストのコンテンツは現在これらの設定をまだ反映していませんが、今後のリリースで修正する予定です。

コーディングエージェントとのコラボレーション (実験的)

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

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

設定: chat.agentSessionsViewLocation
チャットセッションビューは、ローカルおよび提供されたチャットセッションを管理するための単一の統一ビューを提供します。
チャットセッションビューを大幅に強化し、すべての主要な操作を実行できるようにし、コーディングタスクをより簡単に反復し、最終化できるようにしました。

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

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

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

  • チャットエディターアクション: コードの変更を簡単に表示または適用し、プルリクエストをチャットエディターから直接確認します。
  • シームレスな移行: ローカルチャットから GitHub エージェントタスクへの移行を改善しました。
  • セッションレンダリングの改善: カードとツールのレンダリングを改善し、視覚的な明瞭性を向上させました。
  • パフォーマンスの向上: より応答性の高い体験のためにセッションの読み込みを高速化しました。

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

VS Code でのローカルタスクを Copilot コーディングエージェントに委任する方法をさらに拡張しました。

  • コーディングエージェントで TODO を修正:
    TODOで始まるコメントには、コーディングエージェントセッションを迅速に開始するためのコードアクションが表示されます。

  • チャットからの委任 ( githubPullRequests.codingAgent.uiIntegration ):
    チャットでDelegate to coding agentアクションを実行する際に、ファイル参照を含む追加のコンテキストが GitHub コーディングエージェントに転送されます。これにより、タスクを計画してからコーディングエージェントに委任して完了させることができます。新しいチャットエディターが開かれ、コーディングエージェントの進捗がリアルタイムで表示されます。

Google でのソーシャルサインイン

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

詳細については、GitHub ブログの発表 をご覧ください。

ターミナル自動承認

設定: chat.tools.terminal.enableAutoApprove
ターミナルコマンドを自動的に承認することで、エージェントとのやり取りを大幅に効率化できますが、セキュリティリスク も伴います。このリリースでは、ターミナル自動承認の使いやすさとセキュリティを向上させるためにいくつかの改善を導入しました。

  • chat.tools.terminal.enableAutoApprove 設定を使用して、ターミナル自動承認を有効または無効にできます。この設定は、デバイス管理 を通じて組織によっても設定できます。

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

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

これは、npm testルールを提案するなど、より適切なサブコマンドを提案するためのコマンドに対する基本的なサポートを提供します。

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

  • 安全性を提供し、ノイズを減らすためにデフォルトを改善しました。設定のデフォルト値を表示することで、ルールの完全なリストを確認できます。settings.jsonファイルを開き、chat.tools.terminal.autoApproveを入力して Tab で完了します。

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

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

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

グローバル自動承認

グローバル自動承認はv1.99 以降の実験的な設定 です。
観察したところ、ユーザーはこの設定を十分に考慮せずに有効にしていました。さらに、一部のユーザーは、 chat.tools.autoApprove 設定を有効にすることがターミナル自動承認を有効にするための前提条件であると誤解していましたが、これは決してそうではありませんでした。
これらの誤解に対抗し、ユーザーをさらに保護するために、グローバル自動承認が使用されようとする最初の時に、ユーザーが簡単にバックアウトして設定を無効にできるように、適切に恐ろしい警告を表示するようになりました。

設定は自動移行なしでより明確な chat.tools.global.autoApprove に変更され、すべてのユーザー(意図的または意図的でない)は再度明示的に設定する必要があります。

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

設定: chat.math.enabled
チャット応答での数学方程式のレンダリングが一般公開され、デフォルトで有効になりました。この機能は chat.math.enabled 設定で無効にできます。

この機能はKaTeX によって提供され、インラインおよびブロックの数学方程式の両方をサポートします。インラインの数学方程式は、マークアップを単一のドル記号で囲むことで書くことができ、ブロックの数学方程式は 2 つのドル記号を使用します。

チャットビューのデフォルトの可視性

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

タスクサポートの改善

  • 入力リクエストの検出
    エージェントモードでタスクまたはターミナルコマンドを実行すると、プロセスがユーザー入力を要求する場合、エージェントが検出し、チャットで応答を求められます。プロンプトが表示されている間にターミナルで入力すると、プロンプトは自動的に非表示になります。オプションと説明が提供されている場合(例: [Y] Yes [N] No)、これらは確認プロンプトに表示されます。

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

  • 複合タスクサポート
    エージェントモードは複合タスクの実行をサポートするようになりました。複合タスクを実行すると、エージェントは各依存タスクの進行状況と出力を示し、ユーザー入力のプロンプトを含みます。これにより、より複雑なワークフローが可能になり、マルチステップタスク実行の可視性が向上します。
    以下の例では、VS Code - Buildタスクが実行されます。出力は各依存タスクに対して評価され、問題がユーザーに応答と進行メッセージのドロップダウンで表示されます。

ターミナルサポートの改善

  • より多くのターミナルツールをコアに移動
    前回のリリースでのrunInTerminalツール のように、terminalSelectionterminalLastCommandツールが拡張機能からコアに移動され、一般的な信頼性の向上が期待されます。

  • 設定可能なターミナルツールシェル統合タイムアウト
    runInTerminalツールがターミナルを作成しようとするたびに、シェル統合がアクティブになるまでの期間を待ちます。シェルの起動が特に遅い場合、例えば非常に重い PowerShell プロファイルがある場合、以前の固定 5 秒のタイムアウトを待っても最終的に失敗する可能性があります。このタイムアウトは chat.tools.terminal.shellIntegrationTimeout 設定で設定可能になりました。

  • コマンドプロンプトの使用を防止
    シェル統合は、少なくとも Copilot が必要とする機能ではコマンドプロンプトで実際には可能ではないため、Copilot は代わりに Windows PowerShell を使用するようになりました。これにより、デフォルトのシェルがコマンドプロンプトである場合にrunInTerminalツールの信頼性が向上します。
    何らかの理由で Copilot にコマンドプロンプトを使用させたい場合、これは現在不可能です。Copilot が使用するターミナルプロファイルをカスタマイズする機能を追加する予定であり、これは#253945 で追跡されています。

Todo リストツール

Todo リストツールは、エージェントが複雑なマルチステップタスクを小さなタスクに分解し、進捗を報告して個々の項目を追跡するのに役立ちます。このツールに改善を加え、デフォルトで有効になりました。
ツールの進捗は、チャットビューの上部にある Todo コントロールに表示され、Todo リストが進行するにつれて自動的に折りたたまれ、進行中のタスクのみが表示されます。

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

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

セマンティックワークスペース検索の改善

#codebaseツールをアップグレードし、ワークスペース内のコードをセマンティックに検索するための新しい埋め込み モデルを使用するようにしました。この新しいモデルは、コード検索に対してより良い結果を提供します。新しい埋め込みは、以前のモデルのディスク上のストレージサイズの 6%しか必要としません。
今後数週間でこの新しい埋め込みモデルを段階的に展開していきます。ワークスペースは自動的にこの新しい埋め込みモデルを使用するように更新されるため、特にアクションは必要ありません。VS Code Insiders はすでに新しいモデルを使用しており、展開される前に試すことができます。

GitHub Copilot AI 機能の非表示と無効化

設定: chat.disableAIFeatures
GitHub Copilot が提供する組み込み AI 機能(チャット、コード補完、次の編集提案など)を無効化および非表示にするための新しい設定 chat.disableAIFeatures を導入しています。
この設定は、以前のソリューションに対して以下の利点があります:

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

「AI 機能を非表示にする」コマンドはこの変更を反映するように名前が変更され、設定エディターでこの新しい設定を表示するようになりました。
注意: 以前に AI 機能を非表示にしていたユーザーは引き続き AI 機能が非表示になります。デバイス間で選択を同期したい場合は、設定を追加で更新できます。

MCP

サーバー指示のサポート

VS Code は MCP サーバー指示を読み取り、基本プロンプトに含めます。

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

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

MCP を有効にする

設定: chat.mcp.access
以前は MCP サーバーが VS Code で実行できるかどうかを制御していたchat.mcp.enabled設定が、新しい chat.mcp.access 設定に移行され、より説明的なオプションが追加されました:

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

アクセシビリティ

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

確認ダイアログにフォーカスするコマンドFocus Chat Confirmation (kb(workbench.action.chat.focusConfirmation))を追加しました。確認が必要ない場合は、スクリーンリーダーユーザーに通知します。

コード編集

設定可能なインライン提案遅延

設定: editor.inlineSuggest.minShowDelay
新しい設定 editor.inlineSuggest.minShowDelay により、入力後にインライン提案が表示されるまでの時間を設定できます。提案が表示されるのが早すぎて入力の邪魔になる場合に便利です。

エディター体験

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

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

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

ワークスペースごとに色を設定でき、どのワークスペースがどのウィンドウで開かれているかを区別しやすくします。

window.border defaultに設定すると、テーマはwindow.activeBorderwindow.inactiveBorderの色キーを使用してアクティブおよび非アクティブウィンドウの枠の色を設定できます。 workbench.colorCustomizations 設定からこれらの色をさらに上書きできます。

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

コマンドパレットにAccounts: Manage Extension Account Preferencesコマンドを追加しました。実行すると、認証アカウントにアクセスできる拡張機能のリストが表示され、それらの拡張機能が使用するアカウントを変更できます。リストから新しいアカウントにサインインすることもできます。
これは1 年前に追加したアカウント管理機能 に基づいています。

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

設定: workbench.editor.showTabIndex
エディタタブのラベルにタブのインデックスを表示できるようになりました。多くのタブを開いているときに、キーボードショートカットを使用してすばやく移動するのに役立ちます。この機能を有効にするには、 workbench.editor.showTabIndex 設定を使用します。

エディタタブバーのスクロールバーの可視性

設定: workbench.editor.titleScrollbarVisibility
workbench.editor.titleScrollbarVisibility 設定を使用して、エディタタブバーのスクロールバーが表示されるタイミングを制御できます。デフォルト値autoは、タブがオーバーフローし、タブがホバーされたときにのみスクロールバーを表示します。visibleに設定すると、タブがオーバーフローしたときに常にスクロールバーを表示し、hiddenに設定すると、スクロールバーを表示しません。

問題レポーターの改善

VS Code または拡張機能で問題を報告する際に、組み込みの問題レポーターを使用して、レポートボタンのドロップダウンからCreate on GitHubまたはPreview on GitHubを選択できるようになりました。ボタンがドロップダウンを表示せず、CreateまたはPreviewのみを表示する場合、拡張機能データの読み込み中であるか、正しいスコープを提供する GitHub アカウントでサインインしていることを確認する必要があります。

ノートブック

改善された NES 提案 (実験的)

設定: github.copilot.chat.notebook.enhancedNextEditSuggestions.enabled
ノートブックの次の編集提案の品質を改善する実験を行っています。現在、言語モデルは提案を生成する際にアクティブなセルの内容にアクセスできます。 github.copilot.chat.notebook.enhancedNextEditSuggestions.enabled 設定を有効にすると、言語モデルはノートブック全体にアクセスでき、より正確で高品質な次の編集提案を生成できます。

ソースコントロール

Git ワークツリーの変更のプレビューと移行

ソースコントロール変更ビューでワークツリーファイルを右クリックしてコンテキストメニューを開き、Compare with Workspaceを選択することで、ワークツリーファイルと現在のワークスペースの違いをプレビューできます。

変更を確認した後、コマンドパレットからMigrate Worktree Changes...コマンド(未割り当て)を使用して、ワークツリーから現在のワークスペースにすべての変更をマージできます。これにより、複数のワークツリー間で作業し、変更をメインリポジトリに選択的に戻すことが容易になります。
VS Code での Git ワークツリーについて詳しくはこちら をご覧ください。

ターミナル

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

ターミナルを別ウィンドウで開くことを許可するという一般的なリクエストがあります。この機能は約 1 年半前から存在していますが、特に発見しにくいものでした。このイテレーションでは、この機能のための複数のエントリーポイントを追加しました。

  • 新しいコマンド`Ctrl+Shift+Alt+``。
  • 空のエディターとタブウェルメニューにNew Terminalエントリを追加。
  • 新しいターミナルドロップダウンがシャッフルされ、New Terminal Windowエントリが追加されました。
  • トップレベルのターミナルメニューにNew Terminal Windowエントリが追加されました。

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

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

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

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

ターミナルインテリセンスの改善 (プレビュー)

ターミナルインテリセンスは、このリリースでいくつかの改善を受けています。

  • 複数のパフォーマンス改善、これらは特に Windows での体験に影響を与えます。
  • gitの補完が Windows でより信頼性が高くなり、sed依存が削除されました。sedは Windows では利用できません。
  • gitの補完には、コミット、ブランチ、リモート、スタッシュ、タグを表す親しみやすいアイコンが追加されました。

多くの補完スペックが追加されました: adbbasenamebundleclearcutdatedddiffdigdirnamedocker-composedockerdotnetenvexportfdiskfmtfoldghgohtopidjqlnlsblklsofmountnlodpastepingpkillreadlinkrsyncrubyruffsedseqshredsortsourcesplitstatsusudotactarteetimetrtraceroutetreetruncateuniqunzipwcwherewhereiswhichwhoxargsxxdyozip

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

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

言語

JavaScript と TypeScript

使用状況を確認した後、組み込みのbower.jsonインテリセンスを削除することにしました。Bower は2017 年から非推奨 であり、組み込みのサポートはほとんど使用されておらず、積極的にメンテナンスされていませんでした。
Bower はユーザーにnpmまたはyarnへの移行を推奨しています。VS Code での Bower のサポートは拡張機能によって提供され続けることができます。

Python

Pipenv の Python 環境拡張サポート

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

環境変数の注入を設定

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

Python 環境拡張機能の改善

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

Pylance による AI 駆動のホバーサマリー (実験的)

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

この実験的な体験を安定版拡張機能バージョンに早く提供できることを楽しみにしています。

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

python -c "code"のようなターミナルコマンドに依存したり、一時ファイルを作成して実行する代わりに、Pylance のコードスニペットツールを使用して、GitHub Copilot が Python スニペットを完全にメモリ内で実行できるようになりました。ワークスペースに設定された正しい Python インタープリターを自動的に使用し、ターミナル実行中に発生することがあるシェルエスケープや引用符の問題を排除します。
このツールの際立った利点の 1 つは、stdout と stderr が明確にインターリーブされたクリーンで整形された出力を提供することです。これにより、GitHub Copilot とエージェントモードを使用して小さなコードブロックをテストしたり、クイックスクリプトを実行したり、Python 式を検証したり、インポートを確認したりする際に理想的です。
試してみるには、Pylance 拡張機能の最新のプレリリースバージョンを使用してください。その後、チャットビューのAdd context... > ToolsメニューからpylancerunCodeSnippetツールを選択できます。
注意: すべての AI 生成コードと同様に、このツールを実行する前に生成されたコードを確認してください。コードのロジックと意図を確認することで、プロジェクトの目標に合致し、安全性と正確性を維持することができます。

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

python.analysis.supportAllPythonDocuments設定は、最新の Pylance プレリリースバージョンから削除され、Pylance IntelliSense がすべての Python ドキュメント(ターミナルや差分ビューを含む)でデフォルトで有効になりました。これにより、VS Code で Python を使用する際にリッチなコード補完、ホバー、コードナビゲーションを利用できます。

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

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

拡張機能への貢献

GitHub プルリクエスト

GitHub プルリクエスト 拡張機能の進展があり、プルリクエストや問題の作成、管理が可能です。新機能には以下が含まれます:

  • サイドバーコンテンツが狭いウィンドウで折りたたまれる
  • プルリクエストと問題のウェブビューがリロード後に復元される
  • 新しいTODOコードアクションで Copilot コーディングエージェントに直接委任できる
  • githubPullRequests.ignoreSubmodules でサブモジュールを無視できる

このリリースのすべての内容を知るには、0.118.0 の変更ログ を確認してください。

拡張機能の作成

拡張機能で起動されたターミナルのshellIntegrationNonce

shellIntegrationNonceは、TerminalOptionsExtensionTerminalOptionscreateTerminalに渡すことができるようになりました。これにより、拡張機能がシェル統合エスケープシーケンス でコマンドを検証するために使用されるノンスを制御できます。

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

このイテレーションでは、LanguageModelChatProviders API を最終化しました。これにより、拡張機能がクラウドホストまたはローカルの 1 つ以上の言語モデルを提供できるようになります。拡張機能をインストールすることで、ユーザーはチャットでモデルピッカーを通じてこれらのモデルを選択できます。
この API を利用して、VS Code でのチャットを追加のモデルで拡張する複数の拡張機能がすでに存在します。これには、AI Toolkit for VS CodeCerebras InferenceHugging Face が含まれます。
この API を利用する方法については、言語モデルチャットプロバイダー拡張ガイド または拡張サンプル をご覧ください。
注意: この API を通じて提供されるモデルは、現在個人の GitHub Copilot プラン のユーザーのみが利用可能です。

提案された API

認証: getSessionでのWWW-Authenticateチャレンジのサポート

HTTP のよく知られたパターンは、API へのリクエストが401 Unauthorizedステータスコードを返し、WWW-Authenticateヘッダーを定義することです。これらは、API が401を解決するために必要なものです。
提案された API を導入し、これらのチャレンジを認証プロバイダーに渡して処理できるようにしました。まず、呼び出し側から次のようにチャレンジを渡すことができます:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
export interface AuthenticationWWWAuthenticateRequest {
  /**
   * このチャレンジをトリガーした生の`WWW-Authenticate`ヘッダー値。
   */
  readonly wwwAuthenticate: string;

  /**
   * セッションのオプションのスコープ。
   */
  readonly scopes?: readonly string[];
}

export namespace authentication {
  // 注意: 変更は2番目のパラメーターのみで、他の`getSession`のバリエーションも同様の変更があります
  export function getSession(
    providerId: string,
    scopeListOrRequest:
      | ReadonlyArray<string>
      | AuthenticationWWWAuthenticateRequest,
    options?: AuthenticationGetSessionOptions
  ): Thenable<AuthenticationSession | undefined>;
}

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

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

認証プロバイダーは、supportsChallenges: trueAuthenticationProviderOptionsで登録する際にチャレンジをサポートすることを宣言できます。

例: Azure MFA

この作業は、Azure API での MFA の必須化に関する今後の変更 のために最初に行われたものであり、この API の例としても使用しましょう。
Azure でリソースを作成する拡張機能があるとします。これは単に Azure RM API を呼び出すだけで、特に特別なことはありません… あなたの拡張機能はおそらくすでにvscode.authentication.getSessionを呼び出して認証セッション、主にアクセス トークンを取得し、この API を呼び出すために使用しています。
今、最初にその認証セッションを発行したとき、組織によっては多要素認証(MFA)を通過したかどうかが異なる場合があります。MFA を通過した場合、Azure API は満足します。MFA を通過していない場合、Azure の API は401を返し、WWW-Authenticateヘッダーを返します。
ここで VS Code の新しい API が登場します… そのヘッダー値を取得し、vscode.authentication.getSessionに直接渡すだけです:

1
2
3
4
5
6
7
8
9
const newRequest = {
  wwwAuthenticate: theRawHeaderValue,
  scopes: scopesFromPreviousRequest,
};
const sessionWithMFA = await vscode.authentication.getSession(
  "microsoft",
  newRequest,
  options
);

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

次のステップ

次のイテレーションでは、この提案のgetSession(つまり、拡張機能が認証を要求する部分)を最終化する予定ですので、認証プロバイダーの変更の形状やフィードバックがあればお知らせください!GitHub での完全な提案はこちら で確認できます。
WWW-Authenticateに関してすぐに点灯するもう 1 つのユースケースは、MCP サーバーがより多くのスコープを持つトークンを要求するWWW-Authenticateヘッダーを発行することです。これに関するMCP 仕様の提案があります

セカンダリーサイドバーのビューコンテナ

拡張機能は、activitybarpanelにビューコンテナを提供できます。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 フォルダー にあります。興味がある場合は、始めるのは非常に簡単です:

これはまだ初期の探索ですが、AI をさらに内部開発ループで使用する可能性に興奮しています。基盤は整っており、チームにとってより堅牢で有用なものにするためにこれを反復していきます。
この作業は最近、VS Code Insiders ポッドキャストで取り上げられ、この探索の背後にある動機や技術的な詳細について議論しました。VS Code Insiders ポッドキャスト のエピソードを聞くことができます。

注目すべき修正

vscode#151902 - ターミナル: 選択時のコピー + 1.68 での新しいハイライトが CMD+F で前の用語をコピー
vscode#222075 - ターミナルスティッキースクロールがページダウンを使用する際に 1 フレーム表示されることがある
xtermjs/xterm.js#5390 - alt バッファを終了した後のスクロールバーのテレポートを修正

貢献者の方への謝辞

最後になりましたが、VS Code の貢献者の皆さんに大きな感謝を申し上げます。

問題追跡への貢献

問題追跡への貢献:

@gjsjohnmurray (John Murray)
@RedCMD (RedCMD)
@IllusionMH (Andrii Dieiev)
@albertosantini (Alberto Santini)

プルリクエスト

vscode への貢献:

@a-ariff (Ariff) : ドキュメント: 開発コンテナセクションの文法を修正 PR #264162
@alexkozy (Alexey)

修正: debugToolBar.tsの小さなメモリリーク PR #259349
修正: WorkerTextModelSyncClientを登録 PR #259442

@alexvoedi (Alexander Vödisch) : linkedEditingの同期解除を修正 PR #242993
@bluedog13

OAuth リダイレクト URI 形式を Microsoft の URL 標準に合わせて修正 PR #260446
OAuth2 リソースパラメータの RFC 8707 準拠を修正 PR #261815

@CGNonofr (Loïc Mangeonjean) : Firefox で外部ウィンドウとテーマが同期されない問題を修正 PR #259839
@Da-nie-elT : Object.hasOwn()を使用したfor-inループスニペットの更新 PR #262682
@DoctorKrolic : .slnxを XML 言語拡張リストに追加 PR #259049
@DrSergei (Druzhkov Sergei) : ウォッチウィンドウでのメモリ参照処理を修正 PR #259753
@gjsjohnmurray (John Murray)

カバレッジソースのクイックピックにGo to Testを追加 PR #259600
テストカバレッジツールバーのクイックピックで正しいアクティブエントリを設定 PR #259639
テスト結果: URI がある場合のみGo to Testを提供(修正 #260443) PR #260508

@hihry (Himanshu Ravindra Iwanati) : 修正: Restore to Last Checkpointホバーテキストの大文字化を更新 PR #259572
@j3iiifn : プロンプトファイル名に数字を含めることができない PR #261704
@joelverhagen (Joel Verhagen)

インストールフローから正規のパッケージ名とバージョンを返すことを許可 PR #259081
アシストされた MCP インストールによって返されるserver.jsonをサポート PR #259634
MCP アシストインストールが失敗した場合のヘルプリンクのサポートを追加 PR #260215

@kenherring (Ken Herring) : terminal.copyOnSelectionterminalFindWidget - フォーカス時に選択をコピーしない PR #254065
@kplates (kplates) : 機能: ファイル検索からファイルタイプを含める/除外する PR #254285
@LeftPhalange (Ethan Bovard) : DIFF_OPEN_SIDEコマンドを使用してコマンドパレットにOpen Active Diff Sideオプションを追加 PR #261699
@remcohaszing (Remco Haszing)

MonacoEnvironmentのグローバルアクセスを修正 PR #248075
Markdown コードブロックでより多くの言語をハイライト PR #263550

@rwoll (Ross Wollman)

自動化でエージェントループが終了するのを待つ PR #262370
自動化でのモデル切り替えをサポート PR #262420
修正: chat.openコマンドでのコマンド解析 PR #263458
workbench.action.chat.exportがオプションでパスを受け入れる PR #263507
修正: プロミスに基づく応答の確認 PR #263894
リバート “修正: プロミスに基づく応答の確認 (#_263894)” PR #264047

@SimonSiefke (Simon Siefke)

修正: パターン入力ウィジェットのメモリリーク PR #258152
修正: コードレンズコントローラーのメモリリーク PR #263136
修正: アクセシビリティシグナルスケジューラのメモリリーク PR #263147
修正: QuickDiffModelのメモリリーク PR #265007

@swordjjjkkk (Truman) : VSCode でタブインデックスを表示 PR #209196
@terreng (Terren) : タイトルスクロールバーの可視性を制御する新しいオプションを実装 PR #246161
@timheuer (Tim Heuer) : テストカバレッジビューにすべて折りたたむ機能を追加 PR #258906
@tmm1 (Aman Karmani)

いくつかのタイプミスを修正 PR #259747
terminalProcessManager: ディスポーザブルリークを修正 PR #261710
ストレージ: sqliteの挿入をupsert構文で最適化 PR #261999

@Tritlo (Matthías Páll Gissurarson) : extHostMcp: SSE/JSON処理のためにContent-Typeパラメータを受け入れる PR #262787
@ttttotem (ttttotem) : “キャレットが最初の 2 文字の間をクリックすると列 0 にジャンプする"を修正 PR #265131
@JBlitzar (JBlitzar) : 既存のインスタンスに接続する際にapp.dock.hideを使用 PR #259352

vscode-copilot-chat への貢献:

@24anisha : skuデータを GitHub テレメトリに追加 PR #819
@devm33 (Devraj Mehta) : logprobsフィールドをオプションにする PR #325
@iann0036 (Ian Mckay) : 修正: “GitHub"の大文字小文字の調整 PR #631
@joelverhagen (Joel Verhagen)

.NET SDKを使用してNuGetパッケージを検索し、イベントを発行し、すべてのパッケージタイプのテストを追加 PR #546
コマンドエグゼキュータ抽象化を追加し、dotnet CLIテストを CI でのみ実行 PR #607
MCP サーバーインストール中にパッケージ名をハッシュ化 PR #618

@jwangxx (James Wang)

enableRetryAfterFilteredResponse設定にonExPタグを追加 PR #479
フィルタリングされた応答後の再試行の実験的設定を削除 PR #830

@lipido (Daniel Glez-Peña) : エージェントテストカバレッジを改善 PR #614
@m4dc4p : getErrorsGetErrors / problems)ツールを更新 PR #394
@rwoll (Ross Wollman)

自動化された VSC 拡張ホストで実行される Copilot Chat の認証を修正 PR #609
シナリオモードでより多くのサービスを許可 PR #653
ChatErrorDetailsにコードを配線 PR #680

@shaunm-msft (Shaun Miller)

理解されていないコンテキストから`cop


スポンサーリンク

共有

もふもふ

プロフィール

著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア