2025年1月 (バージョン1.97)
アップデート 1.97.1: このアップデートには、これらのセキュリティ問題への対応が含まれています。
アップデート 1.97.2: このアップデートには、これらの問題への対応が含まれています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel シリコン | Linux: deb rpm tarball Arm snap
Visual Studio Code 2025年1月リリースへようこそ。このバージョンには多くのアップデートがあり、気に入っていただけることを願っています。主なハイライトの一部を以下に示します。
- 次回の編集候補 (プレビュー) - Copilot が次に作成する可能性のある編集を予測します。
- コマンドパレットの再配置 - コマンドパレットとクイック入力を新しい位置にドラッグできます。
- 編集の自動承認 - 設定可能なタイムアウト後、Copilot からの編集を自動的に承認します。
- 拡張機能パブリッシャーの信頼 - 拡張機能パブリッシャーの信頼により、環境を安全に保ちます。
- 複合ログ - 複数のログを単一の集約ログビューに結合します。
- 出力ログのフィルタリング - 出力パネルの内容をフィルタリングします。
- Git blame 情報 - 豊富な git blame 情報と GitHub でのオープン。
- デバッグ変数での値の検索 - デバッグ変数内の特定の値をフィルタリングおよび検索します。
- ノートブックのインライン値 - ノートブック内のコードセル変数のインライン値を表示します。
- Python の設定不要デバッグ - 設定なしで Python スクリプトまたはモジュールを素早くデバッグします。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の アップデート をご覧ください。インサイダー: 新機能をいち早く試したいですか?夜間の インサイダー ビルドをダウンロードして、最新の更新プログラムが利用可能になり次第すぐに試すことができます。
GitHub Copilot
Copilot 次回の編集候補 (プレビュー)
設定: github.copilot.nextEditSuggestions.enabled
GitHub Copilot のコード補完は自動補完に優れていますが、ほとんどのコーディングアクティビティは既存のコードの編集であるため、補完が編集の支援にも役立つのは自然な進化です。そこで、新しいプレビュー機能であるCopilot 次回の編集候補 (Copilot NES) をリリースできることを嬉しく思います。
作成している編集に基づいて、Copilot NES は次に作成したい編集の場所と、その編集内容の両方を予測します。NES は現在の作業に関連する将来の変更を提案し、Tab を押すだけで、提案を素早くナビゲートして受け入れることができます。
以下の例では、変数を変更すると、ファイルのさらに下の方で編集候補がトリガーされることに注目してください。Tab キーを使用して、提案をナビゲートして受け入れるだけです。ガターインジケーターは、次の編集候補に案内します。

VS Code の設定github.copilot.nextEditSuggestions.enabled を介して Copilot NES を有効にします。
編集のサイズとタイプに基づいて、提案のレンダリングは、サイドバイサイドから現在の行の下に動的に変更される場合があります。常に提案を現在の行の下にレンダリングするように、editor.inlineSuggest.edits.renderSideBySide 設定を構成します。
Copilot NES は急速に進化しており、私たちのリポジトリで皆様からのフィードバックをお待ちしています。NES エクスペリエンスを拡大するにつれて、より詳細な情報とシナリオについては、Copilot NES ドキュメントの全文をお読みください。
注: Copilot Business または Enterprise ユーザーの場合、組織の管理者によって Copilot "エディタープレビュー機能" の使用をオプトインする必要があります。さらに、エディターでgithub.copilot.nextEditSuggestions.enabled を設定する必要があります。
Copilot Edits
Copilot Edits の一般提供開始
VS Code 10月リリースで、Copilot Edits のプレビューを発表しました。本日、Copilot Edits の一般提供を開始します!Copilot Edits はコード編集に最適化されており、チャットから直接、ワークスペース内の複数のファイルにわたるコード変更を行うことができます。
改善されたエディターコントロール
編集を個別に承認および破棄できるようになり、より詳細な制御が可能になりました。また、サイドバイサイドビューに切り替えても、編集のエディターコントロールが表示されたままになります。これは、より大きな変更を理解するのに役立ちます。
 テーマ: GitHub Light Colorblind (Beta) (vscode.devでプレビュー)
 テーマ: GitHub Light Colorblind (Beta) (vscode.devでプレビュー)
最後に、設定可能なタイムアウト後に編集候補を自動的に受け入れるための新しい設定を追加しました。その設定はchat.editing.autoAcceptDelayで、変更が承認されるまでの秒数を指定します。カウントダウンは、承認ボタンを操作するか、変更の確認を開始すると停止します。これは、週末に一気見する人にはおなじみでしょう。
テーマ: GitHub Light Colorblind (Beta) (vscode.devでプレビュー)
エディターで適用
Copilot Chat では、コードブロックのツールバーにあるエディターに適用アクションを使用して、任意のコードブロックをワークスペース内のファイルに適用できます。このエクスペリエンスにいくつかの改善を加えました。
- 
アクションのホバーに、コードブロックが生成されたファイルが表示されるようになりました。  
- 
コードブロックが既存のファイルでない場合、ファイルをどこに作成するかを尋ねられます。これは、Copilot が提案するファイルパス、無題のエディター、または現在アクティブなエディターのいずれかになります。 
- 
変更が計算されて適用されると、Copilot Edits と同じフローと UI が使用されます。各変更を個別に確認、改善、または破棄できます。 
時間的なコンテキスト
時間的なコンテキストは、最近操作したファイルについて言語モデルに知らせることで、コードの編集や生成に役立ちます。その有効性を実験し測定していますが、Inline Chat の場合はgithub.copilot.chat.editor.temporalContext.enabled、Copilot Edits の場合はgithub.copilot.chat.edits.temporalContext.enabled を手動で有効にすることもできます。
ワークスペースインデックスステータス UI
@workspace または #codebase を使用してプロジェクト内のコードについて Copilot に質問すると、インデックスを使用して、関連するコードスニペットをコンテキストとして含めるためにコードベースを迅速かつ正確に検索します。このインデックスは、GitHub が管理するリモートインデックス、ローカルに保存されたインデックス、またはリモートインデックスを使用できない大規模プロジェクトのフォールバックとして使用される基本インデックスのいずれかになります。
今回のイテレーションでは、新しいワークスペースインデックスをステータスバーの言語ステータスインジケーターに追加しました。これにより、Copilot が使用しているインデックスの種類と、再インデックス化されているファイルの数などの関連情報が表示されます。これを確認するには、VS Code ステータスバーの {} アイコンを選択するだけです。

ワークスペースインデックスの種類とそれらを切り替える方法の詳細については、Copilot ワークスペースドキュメントをご覧ください。
リモートワークスペースインデックスの構築
リモートワークスペースインデックスは GitHub によって管理されます。リモートインデックスは、大規模なプロジェクトでも高品質の結果を迅速に提供できます。また、ユーザーごとに1回ではなく、GitHub プロジェクトごとに1回だけ構築する必要があります。
これらすべての利点に加えて、プロジェクトをリモートインデックスにアップグレードするためのいくつかの新しい方法を追加しました。
- 
新しいGitHub Copilot: リモートインデックスの構築コマンドを実行します。 
- 
ワークスペースインデックスステータス UI で [インデックスの構築] ボタンを選択します。これは、プロジェクトがリモートインデックス化の対象である場合にのみ表示されます。 
- 
最初に表示される @workspace応答で [インデックスの構築] ボタンを選択します。これは、プロジェクトが対象であり、ワークスペースごとに1回だけ表示されます。
現在、GitHub リモートを持つプロジェクトのみがリモートインデックスを使用できることに注意してください。リモートインデックスの構築には時間がかかる場合があり、特にプロジェクトが大きい場合は時間がかかることがあります。ワークスペースインデックスステータス UI で、リモートインデックス化が完了したかどうかを確認してください。
ワークスペース検索の改善
@workspace および #codebase のコード検索の最適化も引き続き行いました。ハイライトは次のとおりです。
- 
リモートインデックスを使用している場合、ローカルで変更されたファイルの追跡と処理が改善されました。 
- 
ローカルインデックス内の変更されたファイルのバックグラウンド更新を追加しました。これにより、 @workspaceの質問が更新を待つ必要がなくなりました。
- 
大規模プロジェクト向けに基本インデックスを最適化しました。 
Git 変更コンテキスト変数
チャットまたは編集のクエリを作成するときに、#changes コンテキスト変数を使用して、Git ソース管理で変更されたファイルを参照できるようになりました。たとえば、summarize the #changes in my workspace というプロンプトを表示できます。

モデルの可用性
Copilot を使用する際に、さらに多くのモデルを選択できるようになりました。Visual Studio Code および github.com チャットのモデルピッカーで、以下のモデルが利用可能になりました。
- 
OpenAI の o3-mini: OpenAI の最新の推論モデルがコーディングワークフローに導入され、GitHub Copilot Pro、Business、Enterprise ユーザーに段階的に提供されます。o3-mini モデルの可用性の詳細については、GitHub ブログの投稿をご覧ください。 
- 
Gemini 2.0 Flash: Google の最新モデルは、コード候補、ドキュメント、コード説明において高い能力を示します。このモデルは、Copilot Free を含むすべての GitHub Copilot 顧客が利用できるようになりました。Gemini 2.0 Flash モデルの可用性の詳細については、GitHub ブログの投稿をご覧ください。 
アクセシビリティ
強化されたアクセシビリティサウンド
ユーザーからのフィードバックに基づいて、いくつかのアクセシビリティサウンドを改善し、明瞭さと区別を向上させました。以下のサウンドが更新されました。
- accessibility.signals.save
- accessibility.signals.lineHasFoldedArea
- accessibility.signals.terminalQuickFix
- accessibility.signals.lineHasInlineSuggestion
コマンドパレットからコマンドHelp: List Signal Sounds を実行すると、これらの更新をプレビューできます。
Copilot Edits アクセシビリティヘルプダイアログ
スクリーンリーダーユーザーは、入力ボックス内で⌥F1 (Windows Alt+F1, Linux Shift+Alt+F1) を呼び出すことで、Copilot Edits との対話に関するガイダンスにアクセスできるようになりました。
さらに、エディターに保留中の Copilot 編集が含まれている場合、このステータスがエディターヘルプダイアログに表示されるようになりました。また、次のナビゲート ⌥F5 (Windows, Linux Alt+F5) / 前のナビゲート ⇧⌥F5 (Windows, Linux Shift+Alt+F5)、承認 ⌘Y (Windows, Linux Ctrl+Y)、破棄 ⌘N (Windows, Linux Ctrl+N)、および差分ビューの切り替え のキーボードショートカットも導入しました。
ソース管理アクセシビリティヘルプダイアログ
ソース管理ビューがフォーカスされているときにアクセシビリティヘルプを表示コマンドを呼び出すと、ソース管理アクセシビリティヘルプダイアログが開き、スクリーンリーダーユーザーに重要な情報を提供します。ダイアログには、現在のソース管理状態の概要と、ビューおよびそれらのナビゲート方法に関する一般的な情報が含まれています。
改善されたスクリーンリーダー通知
スクリーンリーダーが検出された場合、関連する通知に詳細情報へのリンクが含まれるようになり、追加のコンテキストとリソースが提供されます。
テキスト読み上げでコードブロックを無視
以前は、Copilot の応答を読み上げるためにテキスト読み上げを使用すると、コードブロックも読み上げられました。accessibility.voice.ignoreCodeBlocks 設定を使用して、テキスト読み上げセッションからコードブロックを無視できます。
Workbench
コマンドパレットとクイック入力を移動する
コマンドパレットとその他のクイック入力を、ウィンドウの上部に固定するのではなく、新しい位置に移動できるようになりました。
機能
- コマンドパレットまたはその他のクイック入力を中央と上部にスナップしてドラッグアンドドロップします。
- 再読み込み後も位置が保持され、クイック入力の新しい永続的な位置を設定できます。
- レイアウトのカスタマイズピッカーでプリセット位置を利用できます。
拡張機能パブリッシャーの信頼
初めてパブリッシャーから拡張機能をインストールするときに、拡張機能パブリッシャーの信頼性を評価するのに役立つダイアログが表示されるようになりました。この機能は、信頼できるソースからのみ拡張機能をインストールすることを保証し、開発環境のセキュリティを強化するのに役立ちます。

拡張機能パックまたは依存関係のある拡張機能をインストールする場合、パブリッシャーを信頼すると、一緒にインストールされる拡張機能のパブリッシャーも暗黙的に信頼されます。
VS Code 1.97 リリースに更新すると、現在インストールされている拡張機能のパブリッシャーは自動的に信頼されます。Extensions: Manage Trusted Extensions Publishers コマンドを使用して、信頼された拡張機能パブリッシャーを管理できます。このコマンドを使用すると、以前に信頼したパブリッシャーの信頼をリセットまたは取り消すことができます。

注: VS Code ウィンドウが開いておらず、CLI (code-insiders --install-extension pub.name) から拡張機能をインストールした場合、拡張機能はインストールされますが、パブリッシャーは信頼済みリストに追加されません。
詳細については、詳細情報のリンクをご覧ください。
出力パネルのフィルタリング
出力パネルの内容をフィルタリングできるようになりました。これにより、特に大量のログデータを扱う場合に、ログの管理と分析が大幅に向上します。

- ログレベルでフィルタリング: ログを重要度レベル (例: エラー、警告、情報) に基づいてフィルタリングします。これにより、最も重要な問題に最初に集中できます。
- カテゴリでフィルタリング: 特定のカテゴリでログを絞り込み、特定のソースまたはコンポーネントからのログを分離できます。カテゴリはログデータから自動的に取得されます。
- テキストでフィルタリング: ログ内の特定のテキストを検索して、関連するエントリを素早く見つけます。
複合ログ
情報が複数のログに分散しており、完全な全体像を把握するためにそれらをまとめて表示する必要がある場合があります。これで、複数のログを単一の複合ログビューで表示できるようになりました。これを新しいフィルタリング機能と組み合わせると、ログの分析がはるかに改善されます。
カスタム複合ログを作成するには、出力パネルのオーバーフローメニューにある複合ログを作成...アクションを使用します。
複合ログをエディターまたは新しい VS Code ウィンドウで開いて、柔軟な監視と分析を行うこともできます。この機能は、関連するログの統合ビューを提供することで、問題の診断能力を向上させます。
注: 複合ログビューは現在、VS Code の再起動時に保持されません。
ログのエクスポートとインポート
出力ビューのオーバーフローメニューにあるアクションを使用して、ログをエクスポートおよびインポートできるようになりました。この機能は、ログの共有と確認を容易にすることで、コラボレーションとログ管理を強化します。
ログをエクスポートまたはインポートするには、出力パネルのオーバーフローメニューにある対応するログのエクスポートまたはログのインポートアクションを選択します。
設定エディターの検索修正
このイテレーションでは、文字が欠落している検索クエリが期待される結果を表示しないというリグレッションを修正しました。たとえば、設定エディターは「editor formonpast」で検索しても、editor.formatOnPaste 設定を見つけられませんでした。
また、狭いエディターグループにいる場合でも、検索中に設定エディターが目次を表示するという問題を修正しました。

テーマ: Light Pink (vscode.dev でプレビュー)
拡張機能フィルターの機能強化
利用可能な更新がある拡張機能を追跡したり、最近更新された拡張機能を見つけたりするのに役立つように、Extensions ビューに @outdated と @recentlyUpdated の2つの新しいフィルターオプションが追加されました。

SVG 画像プレビューのサポート
組み込みの画像プレビューで、SVG ファイルのプレビューが基本的ながらサポートされるようになりました。

より高度な SVG プレビュー拡張機能については、Visual Studio Marketplace をご覧ください。
CLI からワークスペースからルートフォルダーを削除する
以前は、--add コマンドラインオプションを使用して、ルートフォルダーをマルチルートワークスペースに追加することができました。
新しい --remove コマンドラインオプションを使用して、マルチルートワークスペースからルートフォルダーを削除する機能も追加しました。
code --remove /path/to/rootfolder
Editor
検索と置換の履歴の永続化
前回のマイルストーンで、エディターの検索コントロールに履歴の永続化を導入しました。今回のマイルストーンでは、これをさらに置換入力コントロールに拡張し、複数のセッションにわたって両方を個別に保持できるようにしました。置換履歴はワークスペースごとに保存され、editor.find.replaceHistory 設定で無効にできます。
コメント
未送信のコメントを閉じる際の確認
未送信のコメントがあるコメントコントロールを esc またはその他の方法で閉じると、確認ダイアログが表示されます。comments.thread.confirmOnCollapse 設定でこの確認を無効にできます。
コメントエディターのクイックアクション
コメントエディターからクイックアクションを使用できます。

ソース管理
Git blame 情報
このマイルストーンでは、エディターとステータスバーに Git blame 情報を表示する機能の改善を続けました。また、エディターの装飾またはステータスバーアイテムにマウスオーバーしたときに表示される情報も改善しました。

Git blame ステータスバーアイテムはデフォルトで有効になり、git.blame.statusBarItem.enabled 設定を使用して無効にすることができます。git.blame.editorDecoration.enabled 設定を使用して Git blame エディターの装飾を有効にしてください。
コマンドパレットまたはキーバインディングを使用して Git blame 情報を簡単に切り替えるコマンドも追加しました: Git: Toggle Git Blame Editor Decoration と Git: Toggle Git Blame Status Bar Item。
GitHub リポジトリ
GitHub でホストされているリポジトリの場合、タイムラインコンテキストメニューとホバー、ソース管理グラフコンテキストメニューとホバー、および Git blame エディター装飾とステータスバーアイテムホバーに、新しいコマンドOpen on GitHubを追加しました。

GitHub の課題とプルリクエストの参照は、タイムライン、ソース管理グラフ、Git blame エディター装飾、およびステータスバーアイテムのホバーでリンクとしてレンダリングされ、ブラウザーで簡単に開くことができます。
最後に、タイムライン、ソース管理グラフ、および Git blame エディター装飾とステータスバーアイテムのホバーに GitHub アバターも追加しました。github.showAvatar 設定を使用して、GitHub アバターのレンダリングを無効にできます。
ソース管理グラフアクション
コンテキストメニューに履歴アイテム参照 (例: ブランチタグ) にスコープされたアクションを追加することで、ソース管理グラフビューの機能を拡張しました。最初に追加されたアクションは、チェックアウト、ブランチの削除、およびタグの削除で、ソース管理グラフビューから直接ブランチ/タグを簡単にチェックアウトしたり、ブランチを削除したり、タグを削除したりできます。
今後のマイルストーンでさらに多くのアクションを追加する予定です。
ノートブック
セル実行時のインライン値
ノートブックエディターは、notebook.inlineValues 設定でセル実行後にインライン値を表示するようになりました。有効にすると、セルの実行が成功した後、登録済みの InlineValueProvider の結果に従ってインライン値が表示されます。
プロバイダーがない場合、フォールバックアプローチは、カーネルで見つかった値を簡単な正規表現マッチングを介してセルドキュメントと照合します。より正確な結果を保証するには、言語拡張機能からのプロバイダーを使用することをお勧めします。

Markdown セルのカスタムフォントファミリ
ノートブックエディターは、レンダリングされた Markdown セルにカスタムフォントファミリを設定する機能をサポートするようになりました。これはnotebook.markup.fontFamily設定で制御できます。空白のままにすると、デフォルトのワークベンチフォントファミリが使用されます。

ターミナル
合字のサポート
この機能は現在安定版と見なされています。前バージョンからの変更点の概要は次のとおりです。
- 有効化設定が terminal.integrated.fontLigaturesから terminal.integrated.fontLigatures.enabled に変更されました。
- カーソルまたは選択が合字内にある間、合字は一時的に無効になります。
- terminal.integrated.fontLigatures.featureSettings を使用して、合字セットとバリアントを設定します。これは、舞台裏で font-feature-settingsCSS プロパティに渡されます。
- 使用している合字を解析するライブラリがサポートされていない場合、terminal.integrated.fontLigatures.fallbackLigatures を使用して、合字シーケンスを手動で設定します。
ConEmu のプログレスエスケープシーケンスのサポート
ConEmu が開拓し、ターミナルでプログレスを報告する ESC ] 9 ; 4 エスケープシーケンスがサポートされるようになりました。これは、winget など一部の CLI ツールでプログレスを報告するために使用されます。ターミナルタブでプログレスを表示するには、terminal.integrated.tabs.title または terminal.integrated.tabs.description に ${progress} を追加します。通常、これはプログレススピナーまたはパーセンテージとして表示されます。
切り詰められたコマンドのスティッキースクロール
ターミナルのスティッキースクロール (terminal.integrated.stickyScroll.enabled) は、コマンドが末尾に省略記号で切り詰められている場合に表示されるようになりました。

最後のターミナルが閉じるときの動作を構成する
新しいterminal.integrated.hideOnLastClosed設定では、最後のターミナルが閉じられたときにパネルを閉じるかどうかを構成できます。これに伴い、ターミナルが開いていない場合のエクスペリエンスが改善されました。
タスク
列番号変数
新しい ${columnNumber} 変数は、カーソル位置の列番号を参照するために tasks.json と launch.json で使用できます。VS Code ドキュメントの変数の完全なリストを参照してください。
デバッグ
値によるフィルタリングと検索
変数とウォッチビューで、ビュー内 (⌥⌘F (Windows, Linux Ctrl+Alt+F)) で検索できるようになり、名前だけでなく、変数と式の値でフィルタリングできるようになりました。

デバッグコンソールで選択
デバッグコンソールがより長く、より信頼性の高いコンテンツ選択をサポートするようになり、コピーアンドペーストが容易になりました。
JavaScriptデバッガー
スクリプトは、デバッガーが現在一時停止しているソースでなくても、コマンドパレットまたはエディターアクションからDebug: Pretty print for debuggingコマンドを使用して整形出力できるようになりました。
言語
TypeScript 5.7.3
このリリースには、TypeScript 5.7.3 のリカバリリリースが含まれています。このマイナーアップデートでは、いくつかのインポートバグとリグレッションが修正されています。
Markdown プレビューから画像を右クリックして開く
Markdown プレビューでワークスペースの画像を右クリックし、画像を開くを選択して新しいエディターで開くことができるようになりました。

これは、現在のワークスペースの一部であるすべての画像でサポートされています。
Markdown リンク検証ステータスアイテム
VS Code の組み込みの Markdown 機能は、ファイルと画像へのローカルリンクを自動的に検証することをサポートしています。これは、名前が変更されたヘッダーやディスク上に存在しないファイルへのリンクなどの一般的な間違いを検出するのに最適な方法です。
この機能を見つけるのに役立つように、リンク検証用の新しい言語ステータスアイテムを追加しました。

Markdown ファイルを開いた状態で、ステータスバーの {} を選択して、リンク検証ステータスを表示します。ステータスアイテムを使用して、リンク検証をすばやくオン/オフに切り替えることもできます。
新しい Ruby 構文ハイライト文法
古く、メンテナンスされていない textmate/ruby.tmbundle の Ruby 文法から移行し、現在は Shopify/ruby-lsp から Ruby 文法を取得しています。
リモート開発
リモート開発拡張機能を使用すると、開発コンテナ、SSH 経由のリモートマシンまたはリモートトンネル、あるいはLinux 用 Windows サブシステム (WSL) をフル機能の開発環境として使用できます。
主なハイライトは次のとおりです。
- Linux レガシーサーバーへの接続の移行パス
- SSH チャット参加者の改善
- SSH 構成の改善
- SSH のデフォルトのリモート拡張機能
これらの機能の詳細については、リモート開発リリースノートをご覧ください。
拡張機能への貢献
Microsoft アカウント
Microsoft アカウントで MSAL (Windows では WAM サポート付き) を使用するようになりました。
注: 先月展開された MSAL ベースの Microsoft 認証は、重大なバグのためロールバックする必要がありました。このバグは修正され、展開を進めています。
Microsoft 認証の強力なセキュリティベースラインを確保するため、Microsoft Account 拡張機能でMicrosoft 認証ライブラリを採用しました。
この作業の際立った機能の 1 つは、WAM (Web Account Manager...別名Broker) 統合です。簡単に言えば、Microsoft 認証フローでブラウザーにアクセスするのではなく、OS と直接通信するようになりました。これは、Microsoft 認証セッションを取得するための推奨される方法です。さらに、OS に既にログインしているアカウントを利用できるため、高速です。

この新しいフローで問題が発生した場合はお知らせください。重大な問題が発生し、以前の Microsoft 認証の動作に戻す必要がある場合は、microsoft-authentication.implementation (classic に設定して VS Code を再起動) を使用して行うことができますが、この設定は長くは利用できないことに注意してください。したがって、MSAL フローで問題が発生した場合は、問題を報告してください。
Python
ターミナルからネイティブ REPL を起動
ターミナルで REPL から VS Code ネイティブ REPL を起動できるようになりました。python.terminal.shellIntegration.enabled を true に設定すると、ターミナルの Python REPL にクリック可能なリンクが表示され、ターミナルから直接 VS Code ネイティブ REPL を開くことができます。
設定不要のデバッグ
新しい設定不要のデバッグ機能の一部として、ターミナルから直接、設定なしで Python スクリプトまたはモジュールをデバッグできるようになりました!機能の詳細とトラブルシューティングのヒントについては、Wiki ページをご覧ください。
テスト探索のキャンセル
テストエクスプローラー UI からテスト探索をトリガーすると、進行中のテスト探索呼び出しをキャンセルできるようになりました。探索中に更新ボタンの代わりに表示されるキャンセルボタンを使用します。

実装へ移動
Pylance は実装へ移動をサポートするようになりました。これにより、関数やメソッドの利用箇所から直接その実装に素早く移動できます。これは、継承されたクラスを扱う場合に特に役立つ機能です。

AI コードアクション: シンボルの生成 (実験的)
Pylance と Copilot を使用してシンボルを生成するための新しい実験的な AI コードアクションがあります。試すには、次の設定を有効にしてください。
"python.analysis.aiCodeActions": {"generateSymbol": true}
新しいシンボル (たとえば、クラスや関数) を定義したら、Copilot でシンボルを生成コードアクションを選択し、Copilot に実装を処理させることができます。必要に応じて、Pylance のシンボルを移動コードアクションを利用して、別のファイルに移動することもできます。
GitHub Pull Requests and Issues
GitHub Pull Requests 拡張機能は、プルリクエストや課題の作業、作成、管理を可能にし、さらなる進歩を遂げました。新しい機能には以下が含まれます。
- 今日からの相対的な時間範囲 (${today-7d}) を指定する変数を含むグローバルなプルリクエストクエリ。
- :<絵文字名>:スタイルの絵文字がコメントでサポートされるようになりました。
- 未チェックアウトのプルリクエストの説明を開くと、すべての期限切れでないコメントがコメントパネルに表示されます。
その他のハイライトについては、拡張機能の 0.104.0 リリースの変更履歴をご覧ください。
プレビュー機能
エージェントモード (実験的)
Copilot Edits 用の新しいエージェントモードに取り組んできました。エージェントモードでは、Copilot は関連するコンテキストをワークスペース内で自動的に検索し、ファイルを編集し、エラーがないか確認し、ターミナルコマンド (許可を得て) を実行して、タスクを最初から最後まで完了できます。

Copilot Edits ビューのドロップダウンで、数か月間利用可能だった現在の編集モードとエージェントモードを切り替えることができます。ドロップダウンを表示するには、chat.agent.enabled 設定を有効にしてください。今日からVS Code Insidersでエージェントモードを使い始めることができます。VS Code Stable ユーザーには段階的に展開されます。Stable で設定が表示されない場合は、まだ有効になっていません。

エージェントモードでは、Copilot は自律的に実行されますが、現在のワークスペース内のファイルのみを編集できます。ターミナルコマンドを実行したい場合、コマンドを表示し、ユーザーが確認して「続行」を選択するまで待機します。
注: Copilot Edits はエージェントモードで多くのチャットリクエストを使用する可能性があるため、定期的に一時停止し、続行するかどうかを尋ねます。これはchat.agent.maxRequestsでカスタマイズできます。これは、Copilot の有料ユーザーではデフォルトで15、Copilot Free ユーザーでは5です。
VS Code ドキュメントのCopilot Edits のエージェントモードの詳細をご覧ください。
エージェントコードベース検索 (プレビュー)
クエリに #codebase を追加すると、Copilot Edits はタスクに関連するファイルを検出します。ファイルとテキスト検索、Git リポジトリの状態、ディレクトリ読み取りなどの追加ツールを使用して関連ファイルを検出するための実験的サポートを追加しました。以前は、#codebase は意味検索のみを実行していました。
github.copilot.chat.edits.codesearch.enabled で有効にでき、フィードバックをお寄せください。
VS Code Insiders の Copilot Vision (プレビュー)
VS Code Insidersの GitHub Copilot Chat のプレリリース版で、エンドツーエンドの Vision サポートを導入しています。これにより、画像を添付して Copilot Chat のプロンプトで画像と対話できます。たとえば、デバッグ中にエラーが発生した場合、VS Code のスクリーンショットを素早く添付して、Copilot に問題解決を依頼できます。

画像を添付する方法はいくつかあります。
- OS またはエクスプローラービューから画像をドラッグアンドドロップ
- クリップボードから画像を貼り付け
- VS Code ウィンドウのスクリーンショットを添付 (添付 > スクリーンショットウィンドウを選択)
選択したモデルが現在画像を処理する機能を持っていない場合、警告が表示されます。現在サポートされているモデルは GPT 4o のみです。現在サポートされている画像タイプは JPEG/JPG、PNG、GIF、WEBP です。
再利用可能なプロンプト (実験的)
この機能を使用すると、再利用可能なプロンプトを作成、保存、共有できます。プロンプトファイルは、Copilot Chat でプロンプトを作成するのと同じ形式に従う .prompt.md Markdown ファイルであり、他のファイルや他のプロンプトにリンクすることもできます。プロンプトファイルを添付して、タスク固有のガイダンス、コード生成の支援、または後で使用するための完全なプロンプトを保持できます。
プロンプトファイルを有効にするには、chat.promptFiles を true に設定するか、{ "/path/to/folder": boolean } 記法を使用して別のパスを指定します。他のパスが指定されていない場合、デフォルトでは .github/prompts フォルダーがプロンプトファイル (*.prompt.md) を検索するために使用されます。
VS Code ドキュメントのプロンプトファイルの詳細をご覧ください。
Linux でのカスタムタイトルバー (実験的)
このマイルストーンでは、一部の Linux ユーザー向けにカスタムタイトルバーを有効にする実験を開始します。

実験に参加していない場合でも、window.titleBarStyle を custom に手動で設定して試すことができます。
カスタムタイトルコンテキストメニューから、または window.titleBarStyle を native に設定することで、いつでもネイティブのタイトル装飾に戻すことができます。

TypeScript 5.8 ベータサポート
このリリースには、TypeScript 5.8 ベータリリース のサポートが含まれています。このリリースの詳細については、TypeScript 5.8 ブログ投稿をご覧ください。
TypeScript 5.8 のプレビュービルドの使用を開始するには、TypeScript Nightly 拡張機能をインストールしてください。フィードバックを共有し、TypeScript 5.8 でバグが発生した場合はお知らせください。
その他のシェルでのターミナル補完
前バージョンで導入された新しい提案された API 上に構築された一般的なターミナル補完を反復処理しました。terminal.integrated.suggest.enabled を有効にすると、新しい補完が PowerShell の以前の組み込みプロバイダーを置き換えますが、terminal.integrated.suggest.providers でカスタマイズできるようになりました。
今回のリリースの主な更新点は次のとおりです。
- ウィジェットのスタイルと構成が強化され、エディターの提案ウィジェットと連携するようになりました。
- 設定可能なステータスバー (terminal.integrated.suggest.showStatusBar) がコンテキストアクションと情報を提供します。
- 次のコマンドを含む、コマンドの引数認識が改善されました: code、code-insiders、cd、ls、rm、echo、mkdir、rmdir、touch。
- コマンドまたはリソースパスを詳細情報として表示します。
- .、- ..、- ../../などのディレクトリナビゲーションショートカットのサポートが追加されました。
- スクリーンリーダーの使用を有効にしました。
- $PATHから取得されたエントリは、実行可能ファイルの場合にのみ表示されるようになりました。Windows にはファイルメタデータに実行可能ビットの概念がないため、拡張機能のリストはterminal.integrated.suggest.windowsExecutableExtensionsで構成できます。これらは、利用可能な場合は、今後の提案される API を使用して実際のシェル環境も使用するようになりました。
- 詳細の切り替え (⌃Space (Windows, Linux Ctrl+Space)) と提案詳細フォーカスの切り替え (⌃⌥Space (Windows, Linux Ctrl+Alt+Space)) のキーボードサポートが強化されました。
- 提案は常にすべてのタイプで表示されるようになり、エディターでのクイック提案の動作に近づきました。
- Get-ChildItem、- Write-Hostなどの PowerShell 固有のグローバル補完が提案されるようになりました。
TypeScript の Tree-Sitter ベースの構文ハイライト
多くの Textmate 文法がもはやメンテナンスされていないため、構文ハイライトに Tree-Sitter を使用することを検討しています。TypeScript から開始し、チームが自己ホストしてフィードバックを提供できるようにしました。editor.experimental.preferTreeSitter 設定で早期プレビューを試すことができます。
拡張機能の作成
ドキュメントペースト API
ドキュメントペースト API は、拡張機能がテキストドキュメントのコピー/ペースト操作にフックできるようにします。この API を使用すると、拡張機能は次のようなことができます。
- 
コピー時にデータをクリップボードに書き込む。これには、貼り付け時に取得できるメタデータの書き込みも含まれます。 
- 
貼り付け時に、貼り付けを適用するカスタム編集を生成する。これにより、貼り付けられるテキストコンテンツが変更されたり、新しいファイルの作成などのより複雑なワークスペース編集が行われたりする可能性があります。 
- 
コンテンツを貼り付ける複数の方法を提供する。ユーザーは、貼り付けコントロールまたは editor.pasteAs.preferences設定を使用して、コンテンツを貼り付ける方法を選択できます。
VS Code は、ドキュメントペースト API を使用して、JavaScript および TypeScript の貼り付け時のインポートの更新や、URL の貼り付け時の Markdown リンクの自動作成などの機能を実装しています。
ドキュメントペースト API の使用を開始するには、ドキュメントペースト拡張機能のサンプルをご覧ください。より複雑な例については、組み込みの Markdown 拡張機能が画像ファイルの貼り付けを実装して Markdown ドキュメントに画像を挿入する方法をご覧ください。
シンプルファイルピッカーにファイル openLabel が表示される
OpenDialogOptions の openLabel プロパティが、シンプルファイルピッカー (以前はシステムファイルピッカーでのみサポートされていました) でサポートされるようになりました。これにより、ファイルピッカーのボタンにカスタムラベルを指定できます。
ファイルレベルのコメント API
コメント API は、ファイルレベルのコメントを作成および表示することをサポートしています。ファイルレベルのコメントは、ファイルの最初の行の前のファイルの先頭に表示されます。ファイル内の特定の行または範囲には添付されません。ファイルレベルのコメントを表示するには、コメントの range を undefined に設定します。コメント範囲プロバイダーからファイルレベルのコメントを残すことをサポートするには、CommentingRangeProvider の enableFileComments プロパティを true に設定します。
提案されたAPI
ターミナル補完プロバイダー
ターミナル補完プロバイダーを登録し、この GitHub Issue でご意見をお聞かせください。
この例は、terminal.integrated.suggest.enabled で有効にしたときに補完を提供するターミナル提案拡張機能にあります。
ターミナルシェルタイプ
拡張機能は、現在アクティブなシェルタイプ情報にアクセスできるようになります。shellType フィールドは TerminalState の一部になります。
このシェルタイプ情報を使用して、必要なシェル固有の操作を実行します。
エンジニアリング
整理整頓
毎年恒例の12月の整理整頓の一環として、すべてのリポジトリで GitHub の Issue とプルリクエストの整理に注力しました。今年は、Issue とプルリクエストを合計3,821件削減し、バックログが適切かつ管理可能な状態であることを確認しました。
Issue クリーンアップガイドに従い、古い、重複した、もはや関連性のない Issue をレビューして優先順位付けしました。これにより、効率的な開発ワークフローを維持し、ユーザーのために Visual Studio Code の改善に集中することができます。
コミュニティの皆様からの継続的なご協力とフィードバックに感謝いたします。皆様のご貢献により、VS Code は日々進化しています!🚀

TypeScript ワークスペースでのファイル監視のリソース最適化
大規模な TypeScript ワークスペース (数千の TypeScript ファイルまたはプロジェクト) でのファイル監視のオーバーヘッドを削減するために、いくつかの最適化が行われました。具体的には、そのようなワークスペースを開いてウォッチャーを初期化する際に、CPU の急上昇が見られなくなったり、CPU 使用率がすぐに落ち着いたりするはずです。
詳細については、このVS Code の Issue をご覧ください。
注目すべき修正点
- 160325 Ctrl+D を押した後のターミナル起動失敗を抑制する
- 230438 コードページ 1125(別名cp866u) のサポート
- 238577 デフォルトのウィンドウサイズを大きくする
- 197377 launch.json または tasks.json の workspaceFolder 変数置換は、仮想ファイルシステムに URI を使用する必要がある
- 229857 focus comment on line実行後、a11y ビューが空白になる
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
問題追跡
問題追跡への貢献者
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @albertosantini (Alberto Santini)
- @starball5 (スターボール)
プルリクエスト
vscodeへの貢献者
- @Abrifq (Arda Aydın): Create New Terminalをターミナルの位置に合わせてフォーカスするように変更 PR #237404
- @adrianstephens: カスタムエディタープレビュー PR #235533
- @andrewsuzuki (Andrew Suzuki): editorBracketHighlight.unexpectedBracket.foreground の 'new Color' 文字列のタイプミスを修正 PR #237236
- @aslezar (Shivam Garg)
- 誤った GLIBC バージョン解析の修正 PR #236082
- feat: カスタム js switch-case インデントのサポート PR #237069
 
- @atreids (Aaron Donaldson): chore: VSIX プログレス通知のタイプミスを修正 PR #238845
- @BABA983 (BABA): Canonical リソースでカスタムエディターを解決 PR #226614
- @congyuandong (scott): fix: dependenciesSrc の重複する !**/*.mkエントリを削除 PR #236683
- @DetachHead: JavaScript に enum がないため javascript.inlayHints.enumMemberValues.enabledを削除 PR #236297
- @devm33 (Devraj Mehta): プロキシをサポートするために github-authentication に Electron fetch または Node fetch を使用する PR #238149
- @dmitrysonder (Dmitry Sonder): refactor: イベントに EventType 定数を使用する PR #236941
- @fa0311 (ふぁ): markdown.copyFiles.destination で ${unixTime} プレースホルダーがミリ秒単位の完全なタイムスタンプを使用するように修正 PR #239061
- @g122622: ファイルメニューのスクロールバーが「最近開いたファイル」の上に表示される PR #236998
- @gjsjohnmurray (John Murray): 開いているエディタービューのオーバーフローメニューに「構成」オプションを追加 PR #237678
- @goodmind (andretshurotshka): #44237 を修正: タスクに列番号を追加 PR #65264
- @HD787 (Henry)
- markdown.copyFiles.destination オプションに ${unixTime} プレースホルダーを追加 PR #238027
- 設定ファイルのみが開いているときに TypeScript コマンドを有効にする PR #238630
 
- @iamdereky (Derek Yang): HTML エスケープされた引用符を使用する際の CSS エラーを修正 PR #235367
- @jakebailey (Jake Bailey): tsconfig.base.json からパスを削除 PR #238475
- @janajar (Jawad Najar): Fix: 検索エディターに結果がない場合にエラーが発生する PR #235031
- @jaymroy: Issue: #214481 テキスト読み上げでコードブロックを無視するオプションを追加 PR #235697
- @jogibear9988 (Jochen Kühner): 画像プレビューで SVG をサポート PR #237217
- @Jules-Bertholet (Jules Bertholet): デフォルトのショートカットで戻る/進むキーをサポート PR #237701
- @Legend-Master (Tony): カスタムタスクシェルが「run command」引数/フラグを手動で渡さないと機能しない問題を再修正 PR #236058
- @LemmusLemmus: Markdown の周囲のペアに $ を追加 PR #233981
- @leopardracer (leopardracer): fix: ドキュメントファイルのタイプミス PR #235968
- @misode (Misode): json スキーマの読み込み時に URI からファイルパスへの変換が欠落している問題を修正 PR #237275
- @mohankumarelec (mohanram): Fixes #236973 PR #236974
- @notoriousmango (Seong Min Park): Markdown プレビューに「画像を開く」コンテキストを追加 PR #234649
- @numbermaniac: InlayHintKind ドキュメントのタイプミスを修正 PR #238032
- @oltolm: debug: プロセス停止時のエラーを無視する PR #236009
- @oxcened (Alen Ajam)
- fix: ウィジェットのぼかし時に _lastFocusedWidget を undefined に設定 PR #234610
- fix: lastFocusedList が割り当てられたときに有効かどうかを確認する PR #238765
 
- @pankajk07 (Pankaj Khandelwal): fix: 拡張機能のウェブワーカーからの同期スクリプト読み込み PR #233175
- @Parasaran-Python (Parasaran)
- fix 227150: 再帰的な git クローンボタンを追加 PR #232497
- fix 235221: 閉じられていないタグを閉じて HTML コンテンツをサニタイズする PR #236145
 
- @r3m0t (Tomer Chachamu): デバッガーが停止してアクティブなステートメントを明らかにする際に、ノートブックセルを明らかにする問題を修正 (Fixes #225290) PR #225292
- @rcjsuen (Remy Suen): アイコン拡張ポイントのヘルプテキストのタイプミスを修正 PR #238393
- @RedCMD (RedCMD)
- 拡張機能プレビューのコードブロック言語ゲッターを修正 PR #235880
- 拡張機能フィルターに outdatedおよびrecentlyUpdated提案を追加 PR #235884
 
- @remcohaszing (レムコ・ハズイング)
- bun.lock を jsonc としてマーク PR #235917
- jsonl 言語の .ndjson 拡張子を許可する PR #235921
 
- @RiskyMH (Michael H): bun.lockをパッケージマネージャーロックファイルとして PR #236012
- @sunnylost (sunnylost): fix(settings-editor): キー名の幅が縮まないようにする PR #229919
- @tcostew: Github Copilot チャットを QuickAccess に表示できるようにする PR #210805
- @tmm1 (Aman Karmani)
- build: より多くの tsc ボイラープレートを含むように更新 PR #238422
- build: build/tsconfig.jsonをmodule: nodenextに切り替える PR #238426
 
- @tobil4sk: 異なる findExecutable 関数をマージする PR #228373
- @zWingz (zWing): fix(git-ext): limitWarning が git status progress をブロックする問題を修正 PR #226577
vscode-eslintへの貢献者
- @ShahinSorkh (Shahin Sorkh): eslint.runtimeとeslint.execArgvオプションを設定する場所を明確にする PR #1973
vscode-extension-samplesへの貢献
vscode-js-debugへの貢献者
- @mdh1418 (Mitchell Hwang): BlazorDebugger テレメトリーレポートイベントを更新 PR #2158
vscode-jupyterへの貢献者
- @gy-mate (Máté Gyöngyösi): 'URL' を大文字にする PR #16340
- @pwang347 (Paul): onDidStartイベントにwaitUntilを追加 PR #16375
vscode-loc への貢献
- @NicoWeio (Nicolai Weitkemper): README の文法を改善 PR #1367
vscode-prompt-tsxへの貢献者
vscode-pull-request-githubへの貢献者
- @mikeseese (Mike Seese): Issue 作成時にリポジトリを常にプロンプトするオプトインを追加し、Issue ファイルにリポジトリを指定するコメントを追加 PR #6115
- @NellyWhads (Nelly Whads): Python 言語のユーザーメンション例外を削除 PR #6525
- @Ronny-zzl (Zhang): jsx および tsx ファイルの JSDoc で @-メンションされたユーザーにホバーカードを表示しない PR #6531
vscode-pylint への貢献
- @DetachHead: pylint バグによるメモリリークの回避策 PR #585
vscode-python-debuggerへの貢献者
vscode-ripgrep への貢献
- @fiji-flo (Florian Dieminger): 長いダウンロードを修正 PR #62
- @tmm1 (Aman Karmani): arm64 Windows の修正 PR #63
vscode-testへの貢献
- @kamaal111 (Kamaal Farah): docs: Github Actions リンクをサンプルを指すように更新 PR #297
language-server-protocolへの貢献者
- @asukaminato0721 (Asuka Minato): cython-lsp PR #2064
- @catwell (Pierre Chapuis): Teal LSP を追加 PR #2078
- @Enaium (Enaium)
- @g-plane (Pig Fang): 新しい言語サーバー: wasm-language-tools PR #2065
- @jcs090218 (Jen-Chieh Shen): chore(_implementors/servers.md): Ellsp リンクを更新 PR #2073
- @kbwo (Kodai Kabasawa): servers.md に testing-language-server を追加 PR #2076
- @kylebonnici (Kyle Micallef Bonnici): Devicetree LSP をリストに追加 PR #2085
- @ribru17 (Riley Bruins): ts_query_ls (Tree-sitter クエリ言語サーバー) を追加 PR #2068