Visual Studio Code 1.120

フォローはこちらから: LinkedIn, X, Bluesky


リリース日: 2026年5月13日

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


Visual Studio Code 1.120 リリースへようこそ。本リリースでは、Agentsウィンドウが安定版(Stable)となり、BYOKモデルの可視性と制御が向上しました。また、Markdownの使い勝手の改善とエージェントの安全性機能も追加されています。今回のハイライトを以下にご紹介します。

  • 安定版となったAgentsウィンドウ: 新しいAgentsウィンドウを使用して、すべてのプロジェクトでエージェント主導の作業が可能になりました。

  • BYOKの改善: BYOKモデルのトークン使用状況の追跡と最適化、および思考負荷(thinking effort)の設定が可能になりました。

  • Markdownの改善: diff用のMarkdownプレビュー機能により、構文ではなくMarkdownのレンダリング結果を確認できるようになりました。

  • コマンドのリスク評価: ターミナルコマンドを実行する前にリスクを評価できるようになりました。

  • トークンの最適化: ターミナルの長大な出力を圧縮することで、コンテキストウィンドウの使用量を削減します。

ハッピーコーディング!


エージェント

Agentsウィンドウによるプロジェクト横断のタスク管理(プレビュー)

VS Codeはすでに多くの開発者にエージェントベースのコーディングツールとして利用されていますが、そのエディターレイアウトは主に「単一タスク、単一ワークスペース」のワークフローに最適化されていました。ユーザー(そして私たち自身!)が複数のプロジェクトにわたって複数のエージェントを操作できるように、新しいタイプのウィンドウ「Agents」を作成しました。

新しいAgentsウィンドウは、使い慣れたエディターのコンパニオンです。エージェント駆動開発のために専用設計されており、複数のプロジェクトにまたがるタスクの探索、イテレーション、レビュー、そしてそれらのシームレスな切り替えを可能にする空間を提供します。また、VS Codeは開発者の選択と柔軟性を重視しているため、Agentsウィンドウではエージェントハーネスの選択や、リモートマシンでのエージェント実行、カラーテーマ、キーバインド、拡張機能を含む好みの環境設定が可能です。

Agentsウィンドウは過去数回のリリースでVS Code Insidersの一部として提供されてきましたが、今回のリリースからVS Codeの安定版でプレビューとして利用可能になりました。

Agentsウィンドウは、VS Codeタイトルバーの「Open in Agents」ボタンなど、複数の方法で開くことができます。詳細や活用方法については、Agentsウィンドウのドキュメントをご覧ください。

新機能

Insiders版ですでにAgentsウィンドウをご利用いただいていた方、ありがとうございます!皆様からのフィードバックに基づき、今週以下の改善が行われました。

  • 設定のセッション間永続化: 新しいセッションを作成する際、エージェントハーネスや分離モードなどのドロップダウンでの前回の選択内容が保持されます。
  • 変更をより簡単に破棄: Changesパネルから直接編集を破棄できるようになりました。
  • 新セッションでのアップストリーム変更の同期: Filesパネルの同期ボタンを使用して、エージェントが作業を開始する前にベースブランチからのアップストリームの変更を確認し、取り込むことができます。
  • 変更操作の決定論的動作: Changesパネルでのアクションが決定論的になったため、より迅速に完了します。
  • 完了したセッションのすべての変更をデフォルトで表示: 完了とマークされたセッションを開くと、エージェントが行ったすべての編集内容を一覧で確認できます。
  • 最近のセッション間の移動: タイトルバー左上の矢印ボタンを使用して、ウィンドウを離れることなく最近のセッション間を移動できます。
  • ウィンドウごとの設定上書き: AgentsウィンドウはすべてのVS Code設定を共有しますが、Agentsウィンドウだけで異なる動作をさせたい場合は、特定の設定を上書きできるようになりました。

皆様のフィードバックは、Agentsを形作る上で非常に役立っています。ぜひ GitHubでIssueを作成 するか、既存のIssue を参照してください。

拡張性

テーマ、文法、言語、キーバインドなど、静的コンテンツのみを提供する拡張機能は、Agentsウィンドウで自動的に有効になります。また、Marketplaceで上位100位の拡張機能をテストした結果、デフォルトのVS Codeプロファイルにインストールされている場合に有効になるものもあります。

その他の拡張機能については、 extensions.supportAgentsWindow Open in VS Code Open in VS Code Insiders 設定を使用してIDを指定することでオプトインできます。この方法で有効にする拡張機能は、デフォルトのVS Codeプロファイルにインストールされている必要があります。

"extensions.supportAgentsWindow": {
    "myextension.id": true
}

現在、より広範な拡張機能への対応に取り組んでいます。Agentsウィンドウでの拡張機能の有効化が何をもたらし、どのように振る舞うべきかについて、拡張機能開発者の皆様と協力していきたいと考えています。新しいシナリオの考案や、既存の拡張機能の挙動についてのフィードバックがあれば、ぜひ GitHub Issue を通じてお知らせください。

Copilot CLIプラグインの自動検出

GitHub Copilot CLIでインストールしたエージェントプラグインは、VS Codeによって自動的に認識されるため、`copilot plugin install` を一度実行するだけで両方のインターフェースで利用できます。以前は、VS Codeで同じプラグインを個別にインストールするか、そのパスを chat.plugins.paths Open in VS Code Open in VS Code Insiders に追加する必要がありました。

言語モデル

Bring Your Own Key (BYOK) を使用すると、AnthropicやOpenAIなどのプロバイダーから独自のAPIキーを使用して、自身の課金オプションやモデルホスティングの選択肢を活用できます。詳細はBYOKドキュメントを参照してください。

BYOKモデルのトークン使用量の表示

モデルのコンテキストウィンドウを管理することは、良好な結果を得てコストを制御するために不可欠です。モデルが会話の重要な詳細を見失ったり、トークン使用量が増加してコストがかさんだりすることがあります。今回のリリースでは、BYOKモデルのトークン使用量の可視性が向上し、コンテキストウィンドウの状態を監視しやすくなりました。

以前は、独自のAPIキー(Anthropic、OpenAIなど)を通じて提供されるモデルとのチャットでは、トークンの計算が組み込みモデルのみで機能していたため、コントロールには常に0%および0トークンと表示されていました。

チャットビューのコンテキストウィンドウコントロールに、BYOKモデルの正確なトークン使用量と使用率(%)が表示されるようになりました。

Screenshot of the context window control in the Chat view showing accurate token usage and percent-full for BYOK models.

BYOK推論モデルの思考負荷(thinking effort)の設定

推論機能を持つ言語モデルでは、応答品質と速度/コストのトレードオフを調整する「思考負荷(thinking effort)」を設定できます。詳細は思考負荷のドキュメントで確認してください。

今回のリリースでは、BYOK推論モデルの思考負荷をチャットビューのモデル選択メニューから直接設定できるようになりました。選択した負荷設定はリクエストごとにモデルへ送信されるため、応答速度やコストと回答品質のバランスを調整できます。

Screenshot of the Language Models editor showing the Thinking Effort configuration option for a BYOK model.

対象: OpenAI互換エンドポイント(OpenAI、xAI (Grok)、OpenRouter、およびカスタムOpenAI / Azure OpenAIデプロイメント)を介して提供されるBYOK推論モデル。Anthropicモデルは以前よりサポートされており、これでプロバイダー全体で統一された制御が可能になりました。

モデル選択メニューをプロバイダー別に分類

チャットビューのモデル選択メニューがプロバイダーごとにグループ化され、複数のソースからモデルにアクセスしている場合でも目的のモデルを探しやすくなりました。また、モデル名での検索も可能です。

最近使用したモデルには、名前の横にプロバイダー名がグレーで表示されるようになり、異なるプロバイダーから提供されている同名のモデルを迅速に区別できます。

ヒント

チャット入力欄で /models と入力することで、素早くモデルにアクセスできます。

チャット

ターミナルツール出力の圧縮(プレビュー)

設定: chat.tools.compressOutput.enabled Open in VS Code Open in VS Code Insiders

git diffls -lnpm install などのコマンドによる長いターミナル出力は、モデルのコンテキストウィンドウを大きく消費し、コードやエージェントの推論に割り当てられるリソースを減らしてしまいます。

chat.tools.compressOutput.enabled Open in VS Code Open in VS Code Insiders 設定を有効にすると、VS Codeはこれらのコマンドの出力をモデルへ送信する前に後処理を行います。diff内の大きな未変更ブロックの折りたたみ、ロックファイルやスナップショットdiffの除外、ls -lのファイル名のみへの短縮、npm installの進行バーや警告、監査サマリーの削除が行われます。

圧縮された出力には短いバナーが付加されるため、モデルはどのフィルターが適用されたかを確認でき、Rawテキストが必要な場合は圧縮を無効にするよう判断できます。

ターミナルコマンドのリスク評価(実験的)

設定: chat.tools.riskAssessment.enabled Open in VS Code Open in VS Code Insiders

コマンドが詳細な検討に値するかを素早く判断できるように、ターミナルコマンドの確認ダイアログにリスクバッジとAI生成による説明が追加されました。

バッジは以下の3つのレベルのいずれかを表示し、コマンドの内容に応じた1文の要約が含まれます。

  • Safe(安全) (緑): 変更を加えずにファイルを読み取る、または出力を表示するコマンド。
  • Caution(注意) (オレンジ): ワークスペースの変更、パッケージのインストール、またはネットワーク経由のデータ送信を行うコマンド。
  • Review carefully(注意深く確認) (赤): リモートへの強制プッシュやワークスペース外のファイル削除など、取り消しが困難または不可能なアクション。

Screenshot showing a terminal command confirmation in chat with an AI-generated risk badge and explanation below the command.

ClaudeおよびCopilot CLI向けのプランモード制御

設定: chat.planWidget.inlineEditor.enabled Open in VS Code Open in VS Code Insiders

ClaudeエージェントやCopilot CLIでプランモードを使用すると、VS Codeはインラインプランコントロールを表示し、エージェントが実行を開始する前に計画を確認・調整できます。本リリースでは、その流れにいくつかの改善が加えられました。

  • インラインでの計画編集: 計画の編集は、別のエディタータブを開くのではなく、コントロール内のインラインエディターで行われるようになり、コンテキストを失わずに計画を洗練できます。
  • フィードバックモードの明確化: 計画へのフィードバックを提供している際、現在フィードバックモードであることと、これまでに追加したフィードバック内容がより明確に表示されるようになりました。
  • インラインエディターの無効化: インライン編集体験をオフにして、通常のエディタータブでの編集に戻したい場合は、 chat.planWidget.inlineEditor.enabled Open in VS Code Open in VS Code Insiders 設定を構成してください。

言語

diff用Markdownプレビュー(プレビュー)

ソース管理(Source Control) ビューからMarkdownファイルを開く際、Rawソースの代わりにVS CodeのレンダリングされたMarkdownプレビューを使用してdiffを確認できます。

Screenshot of the source control diff rendered in a side-by-side Markdown preview.

これにより、Markdown構文を一行ずつ解釈する必要なく、見出しの更新、新しいセクション、画像の修正、リストの再構成といった有意義な変更を非常に見つけやすくなります。

diffのMarkdownプレビューは、サイドバイサイドdiff表示とインライン表示の両方をサポートしています。

Screenshot of the source control diff rendered in an inline Markdown preview.

試すには、ソース管理(または他のdiffエディター)からMarkdownのdiffを開き、Reopen Editor With... を使用してMarkdownプレビューdiff表示に切り替えてください。また、 workbench.diffEditorAssociations Open in VS Code Open in VS Code Insiders 設定を使用して、デフォルトでdiffをMarkdownプレビューで開くことも可能です。

"workbench.diffEditorAssociations": {
  "*.md": "vscode.markdown.preview.editor"
}

この機能はまだプレビュー段階であるため、問題が発生する可能性があります。エージェントやプルリクエストによるドキュメントの変更をレビューする際に特に役立つと考えています。

Markdownプレビューのデフォルト変更

VS Codeの組み込みMarkdownプレビューは長年提供されてきましたが、オリジナルの機能の一部は以前ほど必要とされなくなっています。この反復で、以下の2つの機能をデフォルトで無効にすることに決定しました。

  • markdown.preview.doubleClickToSwitchToEditor Open in VS Code Open in VS Code Insiders : プレビュー内でのダブルクリックによってソースエディターに戻る機能。ダブルクリックを選択に使用したいユーザーにとって混乱を招くことが多かったためです。現在は Reopen With などの機能がこの動作を代替しています。

  • markdown.preview.markEditorSelection Open in VS Code Open in VS Code Insiders : エディターで現在選択されている行をマークする機能。現代のワークフローでは有用性が低いと判断しました。

従来の動作を好む場合は、これらの設定を再有効化できます。

Markdownパス補完と検証でのHTML idサポート

組み込みの Markdownパス補完リンク検証 が、Markdownファイル内のHTML要素の id 属性を認識するようになりました。

<div id="install-guide">...</div>

See the [installation steps](#_install-guide) for details.

これらのIDへのリンクが補完候補として提案されるようになりました。

Screenshot showing ID attribute completions in a Markdown link.

これらは リンク検証 にも使用されます。

Screenshot showing a validation error for a Markdown link with an unknown HTML id.

Markdownテーブルのスマート選択

Markdownテーブルが基本的な スマート選択 をサポートしました。選択範囲の拡大(Expand Selection)⌃⇧⌘→ (Windows, Linux Shift+Alt+Right))を使用してセルから行、テーブル全体へと選択を広げ、選択範囲の縮小(Shrink Selection)⌃⇧⌘← (Windows, Linux Shift+Alt+Left))で段階的に戻すことができます。

提案API

カスタムエディターのdiff

新しい customEditorDiffs 提案APIにより、カスタムエディターは専用のdiff UIを使用してdiffをレンダリングできるようになりました。これが、新しい diffビューでのMarkdownプレビュー を支えており、基となるソースのテキストベースのdiffが役に立たない場合に、より優れた比較体験を提供します。

カスタムエディタープロバイダーは、CustomReadonlyEditorProvider または CustomTextEditorProvider で以下のいずれか、または両方を実装することでこの機能を利用できます。

  • resolveCustomEditorInlineDiff(documents, webviewPanel, token): 元のドキュメントと修正後のドキュメントの両方を拡張機能が利用可能な状態で、単一のwebviewにdiffをレンダリングします。

  • resolveCustomEditorSideBySideDiff(documents, webviewPanels, token): 各サイド用に2つのwebviewを使用し、VS Codeがレイアウトとスクロール同期を調整してdiffをレンダリングします。

diffEditorPriority と組み合わせることで、拡張機能はカスタムエディターがdiffを処理するかどうか、またそれらがどのように提示されるかを完全に制御できます。追跡やフィードバックについては issue #138525 を参照してください。

カスタムエディターでのdiffとマージの優先度分離

カスタムエディターの拡張機能は、ファイルの編集、diff、マージに対してそれぞれ異なるデフォルト優先度を設定できるようになりました。customEditors 寄稿(contribution)は、既存の priority に加え、diffEditorPrioritymergeEditorPriority という2つの新しいオプションフィールドを受け入れます。

"contributes": {
  "customEditors": [
    {
      "viewType": "myExtension.editor",
      "displayName": "My Custom Editor",
      "selector": [
        { "filenamePattern": "*.custom" }
      ],
      "priority": "default",
      "diffEditorPriority": "option",
      "mergeEditorPriority": "option"
    }
  ]
}

この寄稿により、*.custom ファイルを開くときはカスタムエディターを使用し、ソース管理からdiffを開くときは通常のテキストdiffビューを使用するといった設定が可能になります。

このAPIは現在提案段階です。ぜひ試して issue #292379 でフィードバックを共有してください。

ドキュメントのdiff

新しい documentDiff 提案APIは、workspace.getTextDiff(original, modified, options?) を通じて、VS Codeの組み込みdiffアルゴリズムを拡張機能に公開します。これは、行レベルの変更のストリーミング非同期イテラブルを返し、さらに要約情報(同一性、不完全性の可能性、オプションの移動検出)を含む complete プロミスを返します。各変更には文字レベルの内部範囲も含まれます。

これはカスタムdiffエディター(カスタムエディターのdiff を参照)にとって特に有用であり、独自のアルゴリズムを出荷する代わりに、組み込みエディターと全く同じdiffをレンダリングできるようになります。

const diff = vscode.workspace.getTextDiff(originalDoc, modifiedDoc, {
  ignoreTrimWhitespace: true,
  computeMoves: false
});

for await (const change of diff.changes) {
  // change.originalRange, change.modifiedRange, change.innerChanges
}

const { identical, mayBeIncomplete, moves } = await diff.complete;

進捗の追跡やフィードバックは issue #315174 にてお願いします。

拡張機能への貢献

GitHub Pull Requests

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

  • コピー&ペーストやアップロードボタンを使用して、プルリクエストのコメントに画像をアップロードできるようになりました。
  • ワークツリーでプルリクエストをチェックアウトする際、より分かりやすいフォルダー名が使用されるようになりました。
  • "githubIssues.issueBranchTitle"${issueType} テンプレート変数をサポートしました。

拡張機能のリリースに関するすべてについては、0.144.0の変更ログ をレビューしてください。

非推奨の機能と設定

今リリースの新しい非推奨機能

今後の非推奨機能

注目すべき修正

ありがとうございます

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

vscodeへの貢献

vscode-pull-request-github への貢献

  • @MaxDNG (Maxime Guitet): Fix: チェックボックスが正しく更新されるよう、引き上げられたディレクトリの子要素の親を再設定 PR #8679

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

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

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