2023年11月 (バージョン 1.85)

アップデート 1.85.1: このアップデートでは、以下のissueに対処しています。

アップデート 1.85.2: このアップデートでは、以下のissueに対処しています。

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


Visual Studio Code 2023 年 11 月リリースへようこそ。このバージョンには多くのアップデートが含まれており、皆様に気に入っていただけることを願っています。主なハイライトは以下のとおりです。

これらのリリース ノートをオンラインで読むには、code.visualstudio.comUpdates にアクセスしてください。

Insiders: 最新機能をいち早く試したいですか? 夜間の Insiders ビルドをダウンロードして、最新のアップデートをすぐに試すことができます。

GitHub Universe、Copilot、そして VS Code

今年の GitHub Universe を視聴または参加された方は、GitHub Copilot が中心的な存在であったことをご存知でしょう。Copilot は、オープニング キーノートや、GitHub Copilot: 今日と明日のための AI ペアプログラマー などのブレイクアウト セッションで紹介されました。

VS Code チームは、Copilot をエディターに統合するために懸命に取り組んでおり、最近のブログ記事 VS Code における「驚異的な賢さ」の追求 で、GitHub Universe に至るまでのチームの進捗状況について詳しく知ることができます。この記事では、コードベースとテクノロジーに関する主題のエキスパートとして振る舞う Copilot Chat エージェント の開発について詳しく説明しており、拡張機能の作成者が独自のカスタム エージェントを VS Code に提供する方法について説明しています。

アクセシビリティ

アクセシブル ビュー

前回のイテレーションでは、UI コンポーネントとそのアクセシブル ビュー間のシームレスなフローのために、キーが押されたときに アクセシブル ビュー を自動的に閉じる機能を導入しました。場合によっては、この動作が望ましくない場合があり、accessibility.accessibleView.closeOnKeyPress 設定で無効にできるようになりました。

ターミナルとそのターミナルのアクセシブル ビューを切り替えることが多い場合は、terminal.integrated.accessibleViewFocusOnCommandExecution を有効にすると、ターミナルでコマンドが実行された後にアクセシブル ビューが自動的に開きます。

キーボード フォーカス時に表示されるツールチップ

キーボード ユーザーのエクスペリエンスを向上させるために、アクティビティ バーやステータス バーの項目など、カスタム ホバーを持つ項目に対して、キーボード フォーカス時にツールチップが表示されるようになりました。

Tooltip for Extensions view icon in the Activity Bar

音声検出タイムアウト

新しい設定 accessibility.voice.speechTimeout は、例えば Copilot Chat などで、音声入力を受け入れる前に無音状態を待機する時間を制御します。デフォルトでは、音声入力は 1.2 秒の無音状態の後に自動的に送信されます。これを 0 に設定すると、音声入力を完全に無効にすることができます。

ワークベンチ

フローティング エディター ウィンドウ

このリリースでは、エディターをメイン ウィンドウから独自の軽量ウィンドウに移動できるようになったことを発表します。1 つのウィンドウのエディターへの変更は、エディターが開いている他のすべてのウィンドウに即座に適用されます。

フローティング エディター ウィンドウを作成する最も簡単な方法は、エディターを現在のウィンドウからドラッグして、デスクトップの空きスペースにドロップすることです。

テーマ: GitHub Dark (vscode.dev でプレビュー)

新しい workbench.editor.dragToOpenWindow 設定でこの動作を無効にできます。

エディターとエディター グループを独自のウィンドウに移動またはコピーするための新しいグローバル コマンドとコンテキスト コマンドもあります。

  • 表示: エディターを新しいウィンドウにコピー (workbench.action.editor.copyWithSyntaxHighlightingAction)
  • 表示: エディターを新しいウィンドウに移動 (workbench.action.editor.moveEditorToNextWindow)
  • 表示: エディター グループを新しいウィンドウにコピー (workbench.action.editor.copyGroupToNextWindow)
  • 表示: エディター グループを新しいウィンドウに移動 (workbench.action.editor.moveGroupToNextWindow)
  • 表示: 新しい空のエディター ウィンドウ (workbench.action.newWindow)

フローティング ウィンドウのエディター領域は、必要な任意の 複雑なレイアウト で配置できます。また、ターミナルと検索結果はどちらもエディターとして開くことができるため、これらの機能を別のウィンドウで持つこともできます。

Terminal and Search as editors in a floating window

この新機能を試して、発生した問題を報告してください。既存の issue を確認し、不足している機能に投票してください。

ファイル エクスプローラーでのネイティブ ペーストのサポート

VS Code は、オペレーティング システムのエクスプローラーから VS Code のファイル エクスプローラーへのファイルのネイティブ ペーストをサポートするようになりました。

拡張機能の自動更新の制御

自動更新する拡張機能を選択できるようになりました。これは、すべての拡張機能を自動更新したくないが、自動更新するものを選択的に選択したい場合に役立ちます。拡張機能またはパブリッシャーからのすべての拡張機能を選択できます。パブリッシャーからのすべての拡張機能を自動更新することを選択した場合、そのパブリッシャーから個々の拡張機能の選択を解除できます。

Choose extensions to auto update

この機能を使用するには、自動更新を無効 (なし) にするか、選択した拡張機能 (選択された拡張機能) に対して有効にする必要があります。

Auto update mode options with Selected Extensions checked

新しいプロファイル アイコン

プロファイルに追加できる次の新しいプロファイル アイコンが利用可能です。

New Profile icons

  • vr
  • ピアノ
  • コーヒー
  • ヘビ
  • ロボット
  • ゲーム
  • チップ
  • 音楽

設定エディターの検索の改善とバグ修正

設定エディターは、検索結果をテーブル オブ コンテンツのみではなく、一致タイプで最初にソートするように戻りました。言い換えれば、タイトルとキーワードの一致が最初に表示されるため、一致するタイトルを持つ設定を見つけるために下にスクロールする必要はありません。

Settings editor showing the windows.titleBarStyle setting appearing first when searching "title bar style"

テーマ: ライト ピンク (vscode.dev でプレビュー)

設定エディターは、タイ ブレーカーとしてテーブル オブ コンテンツで設定を順序付け続けます。つまり、拡張機能作成者の order キーは、@ext:<extension-id> などの検索クエリに対して尊重されます。

ネットワークの問題による設定エディターの読み込み失敗や、特定の検索クエリでのハングアップなど、多くの設定エディターの回帰も今回のイテレーションで修正されました。

エディター

保存時および自動保存時のコード アクション

エディターで自動保存時にコード アクションを有効にできるようになりました。また、エディター: 保存時のコード アクション (editor.codeActionsOnSave) 設定は、対応する列挙値に移行されました。always に設定すると、ウィンドウ変更 (onWindowChange) またはフォーカス変更 (onFocusChange) で保存または自動保存するときにコード アクションを実行できます。この機能を有効にするには、エディター: 保存時のコード アクション (editor.codeActionsOnSave) をオンにし、各コード アクションの設定を always に変更します。

設定値の更新は次のとおりです。以前のブール値は非推奨となり、文字列の同等値が推奨されます。

オプションは次のとおりです。

  • explicit - 明示的に保存されたときにコード アクションをトリガーします。true と同じです。
  • always - 明示的に保存されたとき、およびウィンドウまたはフォーカスの変更による自動保存時にコード アクションをトリガーします。
  • never - 保存時にコード アクションをトリガーしません。false と同じです。

複数ドキュメントのハイライト

複数ドキュメントのハイライトは、新しい提案された MultiDocumentHighlightProvider API から追加のサポートを受けています。TypeScript 言語のセマンティック オカレンス ハイライトの組み込みサポートが追加されました。これは、エディター: オカレンス ハイライト (editor.occurrencesHighlight) 設定値を singleFile から multiFile に変更することで有効にできます。TypeScript 以外の言語の場合、より多くの言語固有のプロバイダーが実装されるまで、複数ドキュメントのオカレンスはセマンティック オカレンスではなくテキスト オカレンスに基づいてハイライトされます。

ソース管理

受信/送信の変更

このマイルストーンでは、ソース管理ビューに新しい 受信/送信 セクションが導入され、現在のブランチの受信および送信の変更がリモートと比較して表示されます。新しいセクションには、変更されたリソースの数、挿入と削除の数とともに個々の変更が表示されるほか、すべての変更にわたるすべてのリソースをまとめた すべての変更 エントリが表示されます。新しいセクションの表示/非表示は、scm.showIncomingChanges および scm.showOutgoingChanges 設定を使用して制御できます。どちらの設定も、alwaysauto (デフォルト)、never の値をサポートしています。

Incoming/Outgoing changes in the Source Control view

入力の最大行数

以前は、ソース管理の入力は最大 6 行のテキストを表示するように自動拡張されていましたが、これはほとんどのコミット メッセージには十分なスペースでした。ただし、より多くのスペースが役立つ場合もあり、ソース管理の入力行の最大数を制御する新しい設定 scm.inputMaxLines があります。

ターミナル

スティッキー スクロール

スティッキー スクロールがターミナルに導入されました!シェル統合によって提供される知識を利用して、ターミナルの上部にコマンドのプロンプトが固定されます。エディターでのスティッキー スクロールの動作と同様です。

Running 'ls' command in the terminal will show the 'ls' prompt at the top of the terminal

スティッキー スクロール要素をクリックすると、ターミナル バッファーのその部分までスクロールします。

これは現在デフォルトで無効になっていますが、"terminal.integrated.stickyScroll.enabled": true を設定することで有効にできます。将来的にはデフォルトで有効にする予定であり、その時点で右クリックしてオフに切り替えることでオプトアウトできるようになります。

コマンドのハイライト

ターミナルでコマンドをホバーすると、その左側にハイライト バーが表示されるようになりました。これは、1 つのコマンドがどこから始まり、別のコマンドがどこで終わるのかが明確でないプレーンなターミナル プロンプトに役立ちます。

Hovering a command will show a line to the left that highlights the command and its output

シェル統合とコマンド ナビゲーションの改善

スティッキー スクロールの導入により、シェル統合に多くの改善が加えられました。特に、シェル統合から受信したマーカーが完全には信頼できない Windows で実行されているターミナルに対してです。ターミナルの内容をインテリジェントにスキャンし、ターミナル コマンドを使用可能にする前にマーカーを調整するロジックが追加されました。

シェル統合は、プロンプトの個別の部分、つまりプロンプトとその入力を検出できるようになりました。これにより、スティッキー スクロールを使用するときにコマンドのどの部分が表示されるかが決定されます。これにより、出力の分割やターミナルの読みやすさのために一般的に使用される、プロンプトの上部からの空行もトリミングされます。

既存の コマンド ナビゲーション 機能も、信頼性の低いプロンプト行ではなく、スティッキー スクロールに使用されるより信頼性の高いプロンプトに移動できるため、メリットがあります。

以前

Before only a single line would be highlighted

以後

When navigating commands, the entire prompt is now highlighted

改善された下線レンダリング

ターミナルの破線と点線の下線が、ピクセルパーフェクトなパターンでレンダリングされるようになりました。

Dotted and dashed underlines are now pixel perfect

The underline improvements also work when zoomed in

Git pull クイック修正

Git ブランチのチェックアウトを高速フォワードできる場合、新しいターミナル クイック修正は git pull を実行するオプションを提供します。

タスク

npm.packageManager 設定を bun に設定して、package.json で定義された Bun スクリプトの検出と実行を有効にできるようになりました。

デバッグ

JavaScript デバッガー

ヒープ スナップショットの可視化

.heapsnapshot として保存された V8 ヒープ スナップショットを VS Code で可視化できるようになりました。従来の表形式ビューと、特定のメモリ オブジェクトのリテイナーのグラフィカル表現の両方があります。

Graphical view of a heap snapshot showing references to a specific memory object

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

ヒープ スナップショットは、JavaScript コードをデバッグ中に パフォーマンス プロファイルの取得 コマンドを使用してキャプチャできます。また、ブラウザーの DevTools の メモリ タブからキャプチャすることもできます。

改善されたイベント リスナー ブレークポイント ビュー

Microsoft Edge または Google Chrome ブラウザーをデバッグ中に表示される イベント リスナー ブレークポイント ビューが改善されました。チェックボックス リストになり、URL に基づいて XHR/fetch リクエストで一時停止することをサポートします。

Event Listener Breakpoints view with "XHR/fetch URL" checked and "Add new URL" option highlighted

Rust による WebAssembly デバッグ

VS Code と wasm-bindgen の両方で変更が行われ、WebAssembly にコンパイルされた Rust を VS Code でデバッグできるようになりました。詳細については、WebAssembly デバッグに関するドキュメントを参照してください。

テスト

検索 コントロールが テスト結果 ビュー ターミナルでサポートされるようになりました。

言語

TypeScript 5.3

このリリースには TypeScript 5.3 が含まれています。このメジャー アップデートでは、インポート属性、より優れた型絞り込みなどがサポートされています。また、新しい言語ツール機能とバグ修正も含まれています。

TypeScript 5.3 の詳細については、TypeScript ブログを参照してください。

ワークスペース内のシンボルへ移動 は、デフォルトで node_modules からのシンボルを除外するようになりました。これにより、インストール済みパッケージからのシンボルに圧倒されることなく、コード内のシンボルを簡単に見つけることができます。

プロジェクト内のすべてのシンボルを含んでいた以前の動作に戻すには、"typescript.workspaceSymbols.excludeLibrarySymbols": false を設定します。

インレイ ヒントからの定義へジャンプ

JavaScript および TypeScript の インレイ ヒント の型がインタラクティブになりました。Windows および Linux では Ctrl キー、macOS では Cmd キーを押しながら型の上にカーソルを置き、クリックすることで、型の定義にすばやくジャンプできます。

Inlay hint hover showing Go to Definition by using Ctrl/Cmd + click

自動インポートには 'type' を優先して使用

型のみのインポート を使用すると、実行時にインポートが完全に消去されることを保証しながら、型をインポートできます。常にデフォルトで type インポートを使用したい場合は、"typescript.preferences.preferTypeOnlyAutoImports": true を設定すると、自動インポートで型のみのインポートが使用されるようになります。この設定はデフォルトではオフになっています。

リモート開発

Remote Development 拡張機能を使用すると、Dev Container、SSH 経由のリモート マシン、Remote Tunnels、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。

ハイライト:

  • Dev Container に GitHub Copilot および Pull Requests and Issues 拡張機能を自動的にインストールします。
  • Dev Container にインストールされる拡張機能のより細かな制御。
  • ローカル Dev Container および WSL セッションでローカル マシンの証明書を再利用します。

これらの機能の詳細については、Remote Development リリース ノートを参照してください。

拡張機能への貢献

GitHub Copilot

インライン チャット UI の改善

インライン チャットのプロンプト履歴が VS Code セッション間で保持されるようになりました。前後のプロンプトを表示するためのキーボード ショートカットも、VS Code の他の前後の項目ショートカットと一致するように および に変更されました。

インライン チャットが /test スラッシュ コマンドを使用する場合など、新しいファイルの作成を提案する場合、作成 ドロップダウンから 別名で作成 を選択することで、ファイル名と場所を選択できるようになりました。

Create and Create As actions for newly suggested files from inline chat

最後に、インライン チャットの新しい 実験的な 軽量 UI モードがあります。よりスムーズなストリーミング エクスペリエンスを提供し、オンデマンドでのみ差分をレンダリングします。"inlineChat.mode": "live3" 設定で有効にできます。

Inline chat lightweight mode with diff on demand

修正のインライン チャットには、概要とフォローアップ アクションが表示されます

修正 (/fix) にインライン チャットを使用する場合、修正内容の簡単な概要も表示されるようになりました。残りのエラーがある場合は、提供されたフォローアップ アクションをクリックして修正を改善できます。

Inline chat with summary

インライン チャットでの段階的なメッセージ レンダリング

インライン チャットは、チャット ビューと同じ段階的なレンダリングを使用するようになりました。

Inline chat progressive rendering

ターミナル コミット メッセージ生成クイック修正

前回のリリースでは、Copilot コミット メッセージ生成 "スパークル" がソース管理ビューの入力ボックスに追加されました。ターミナル ユーザー向けに、git add... コマンドを実行した後、ターミナルで編集可能なコミット メッセージを生成するクイック修正が追加されました。

ターミナル エージェントとコマンド提案の改善

ターミナル関連のすべての機能が @terminal エージェントに移動されました。これは、ターミナル エージェントがワークスペース情報をプルインしない可能性があることを明確にし、機能を統合し、より便利に使用できるようにするために行われました。

古いプロンプトから新しいプロンプトへのマッピングを以下に示します。

@workspace /terminal ファイルを一覧表示するにはどうすればよいですか? @terminal ファイルを一覧表示するにはどうすればよいですか?
@workspace /explain #terminalSelection @terminal #terminalSelection
@workspace /explain #terminalLastCommand @terminal #terminalLastCommand

さらに、コマンド提案は今回のリリースで大幅に改善されました。ターミナル コマンド提案は、オペレーティング システムと使用されているシェルを認識するようになりました。ワークスペース情報も、Copilot が質問がワークスペースに関連していると判断した場合に基づいて条件付きでプルインされます。ワークスペース コンテキスト コレクションは、速度と正確に参照されるものの両方の点で、さらなる改善が見込まれます。

Progress is displayed while fetching workspace details

この例では、@terminal エージェントが microsoft/vscode リポジトリで使用されている場合にファイル パスがどのように形成されるかを認識していることに注目してください。

The terminal agent is capable of answering questions that need knowledge about file naming standards in the repository

チャット入力ボックスのすぐ上に青色のスパークル リンクとして表示される、提案されたコマンドを説明するための便利なフォローアップもあります。

The blue sparkle link just before the input box explains the suggestion

説明 フォローアップをアクティブにすると、提案されたコマンドの詳細な説明が表示されます。

The detailed explanation typically explains the command and each argument

プライベート リポジトリで GitHub リモート検索機能を使用する場合の認証アップグレード ダイアログ

ユーザー アカウントで有効になっている場合、@workspace エージェントを使用すると、Copilot Chat はリモート検索機能を使用してワークスペースを検索します。プライベート リポジトリでリモート検索を使用するには、より多くの権限を持つ認証トークンが必要です。必要な権限を持つトークンがまだない場合は、追加の権限を求めるプロンプトが表示されます。

Authentication dialog when searching the workspace

このダイアログは 1 回だけ表示され、今後の @workspace エージェントへのクエリでは、キャッシュされたトークンが使用されます。

@workspace へのリクエストをより簡単に送信

@workspace エージェントは多くの Copilot クエリで使用されているため、できるだけ簡単にアクティブ化できるようにしたいと考えました。チャット入力に質問を入力し、 を押して質問を送信し、@workspace を自動的に先頭に追加できるようになりました。

Copilot で Rust コードを説明

Copilot Chat は、Rust コードの説明を求め、rust-analyzer などの Rust 言語サービス拡張機能をインストールしている場合、コードベースからファイル間のコンテキストを収集するようになりました。Copilot の説明を表示するには、アクティブなエディターでコードを選択し、コンテキスト メニューから Copilot > これを説明する を使用するか、インライン チャットまたはチャット ビューから /explain を使用します。

Copilot > Explain This action in the editor context menu

コード ブロックでの潜在的な脆弱性検出

Copilot によって生成されたソース コードに起こりうる問題に注意を払っていただきたいと考えているため、チャット ビューのコード ブロック内のコードをコード脆弱性検出モデルで実行し、検出された問題をフラグ付けするようになりました。この機能は最初は表示されないかもしれませんが、Copilot Chat ユーザーに段階的に展開し、検出される脆弱性の種類も調整していきます。

コード ブロックに脆弱性の可能性があると判断された場合、コード ブロックの下部に注釈が付けられます。脆弱性検出モデルは試験運用中のものであるため、Copilot の提案と潜在的な脆弱性をレビューする際には、最善の判断を下すようにしてください。

Copilot code vulnerability warning displayed in the Chat view

Copilot ビデオとライブストリーム セッション

最近の YouTube の VS Code Copilot ビデオをお見逃しなく。最新の Copilot Chat 機能と、Copilot が「大幅に賢くなった」方法について学びましょう。

また、VS Code ライブストリームをまだご覧になっていない場合は、1.84 リリース パーティーで紹介された Copilot デモをご覧ください。

Python

Pylance で型階層を表示

Pylance を使用すると、Python プロジェクトの型の関係をより便利に探索およびナビゲートできるようになりました。これは、複雑な型の関係を持つ大規模なコードベースを扱う場合に役立ちます。

シンボルを右クリックすると、型階層を表示 を選択して、型階層ビューを開くことができます。そこから、シンボルのサブタイプとスーパータイプをナビゲートできます。

テーマ: Catppuccin Macchiato (vscode.dev でプレビュー)

実行ボタン メニューの下にある構成可能なデバッグ オプション

Python デバッガー拡張機能に、実行 ボタン メニューの下に構成可能なデバッグ オプションが追加されました。Python デバッガー: launch.json を使用してデバッグ を選択し、ワークスペースに既存の launch.json がある場合、デバッガーを開始するために選択できる利用可能なすべてのデバッグ構成が表示されます。構成がない場合は、Python アプリケーションの launch.json ファイルを作成するために使用するデバッグ構成テンプレートを選択するように求められます。

Python Debugger: Debug using launch.json option under the Run button menu

環境変数を使用してアクティブ化された場合にサポートされる非アクティブ化コマンド

Python 拡張機能には、明示的なアクティブ化コマンドを実行せずに、デフォルトのターミナルで選択した環境をアクティブ化する新しいアクティブ化メカニズムがあります。これは現在、実験的なフラグの背後にあり、次の ユーザー 設定を介して有効にできます: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"]

ただし、このアクティブ化メカニズムの最初の欠点の 1 つは、deactivate コマンドをサポートしていなかったことです。これは一部のユーザーのワークフローの重要な部分であるというフィードバックを受け取ったため、選択されたデフォルトのターミナルが PowerShell またはコマンド プロンプトの場合に deactivate のサポートを追加しました。将来的には、追加のターミナルのサポートを追加する予定です。

REPL スマート送信の警告メッセージと設定

無効または非推奨のコードを含む Python ファイルで Shift+Enter キーを使用して スマート送信 を使用しようとすると、REPL スマート送信を非アクティブ化する警告メッセージとオプションが表示されるようになりました。ユーザーは、Python.REPL: REPL スマート送信を有効にする (python.REPL.enableREPLSmartSend) 設定を介して、REPL スマート送信のユーザーおよびワークスペース固有の動作を変更できます。

Settings editor entry for Python REPL Smart Send

テスト アーキテクチャの書き換え

Python テスト アダプターの書き換え実験 が、ユーザーの 100% にロールアウトされました。現在、settings.json"python.experiments.optOutFrom" : "pythonTestAdapter" を追加することでオプトアウトできますが、間もなくこの実験的なフラグを削除し、この新しいアーキテクチャを採用する予定です。

GitHub Pull Requests and Issues

GitHub Pull Requests and Issues 拡張機能でさらに進展がありました。これにより、プル リクエストと issue の作業、作成、管理を行うことができます。

  • マージ キューが PR の説明と 作成 ビューでサポートされるようになりました。
  • 新しい設定 "githubPullRequests.allowFetch": false は、fetch が実行されるのを防ぎます。
  • サブモジュール サポートが改善されました。

その他のハイライトについては、拡張機能の 0.78.0 リリースの変更ログ を確認してください。

プレビュー機能

ツリーのスティッキー スクロール

エディターでのスティッキー スクロールの成功に基づいて、この機能をすべてのツリー ビューに拡張し、ユーザーがプロジェクト ツリーをより簡単にナビゲートできるようにしました。ツリーのスティッキー スクロールは、workbench.tree.enableStickyScroll: true を設定することで有効にできます。スティッキー スクロールがスペースを取りすぎないようにするために、ビューの高さの最大 40% までしか占有できません。さらに、ユーザーは workbench.tree.stickyScrollMaxItemCount を構成することで、スティッキー要素の最大数をカスタマイズできます。これはデフォルトで 7 に設定されています。

ツリー ナビゲーション エクスペリエンスを向上させるために、スティッキー要素を選択してツリー内のその要素に直接ジャンプしたり、親要素のシェブロンを押してすべての子要素を非表示にしたりできます。さらに、スティッキー スクロールが有効になっている場合、チェックボックスとアクション項目へのアクセスが容易になります。

マルチファイル差分エディター

このリリースでは、マルチ差分エディター のプレビューが提供されます。マルチ差分エディターを使用すると、複数のファイルの変更を 1 つのスクロール可能なビューで表示できます。

マルチ diff エディターを有効にするには、"multiDiffEditor.experimental.enabled": true を設定してください。現在、マルチ diff エディターは、ローカルの変更、ステージングされた変更、受信/送信の変更、およびプルリクエストからの変更のレビューに使用できます。マルチ diff エディターはまだ機能が完全ではなく、すべてのシナリオで動作するとは限らないことに注意してください。

韓国語の代替文字フィルタリング

フィルタリングを使用するワークベンチ全体のさまざまな機能について、VS Code は、言語入力メソッドエディター (IME) の切り替えを誤って忘れることがよくあるため、QWERTY キーボードの同等の文字も検索するようになりました。これは検索エンジンと同様の動作をしますが、リアルタイムで行われます。たとえば、韓国語 IME で debug と入力すると ㅇ듀ㅕㅎ となり、意味不明になります。

Searching for a "ㅇ듀ㅕㅎ" command will now present results for "debug"

現在、単語の途中からのフィルタリングは機能しません。

問題の装飾を非表示にする

エディターおよびワークベンチ全体(問題ビューを除く)で問題の装飾を非表示にする新しい設定が追加されました。設定の[Problems: Visibility] (問題: 可視性) (problems.visibility) は、デフォルトで有効になっており、すべての問題を表示します。

[Problems: Visibility] (問題: 可視性) がオフの場合、一部の問題 UI 設定は無効になります

  • アウトライン > 問題: バッジ (outline.problems.badges)
  • アウトライン > 問題: 色 (outline.problems.colors)
  • アウトライン > 問題: 有効 (outline.problems.enabled)
  • 問題 > 装飾: 有効 (problems.decorations.enabled)

[Problems: Visibility] (問題: 可視性) がオフの場合、ステータスバーに警告が表示されます。

Problems: Visibility off Status Bar item and hover

提案された API

すべてのマイルストーンには、新しい提案された API が付属しており、拡張機能の作成者はそれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案された API を試すための手順は次のとおりです。

  1. 試したい提案を見つけ、その名前を package.json#enabledApiProposals に追加します。
  2. 最新の @vscode/dts を使用し、npx @vscode/dts dev を実行します。対応する d.ts ファイルがワークスペースにダウンロードされます。
  3. これで、提案された API に対してプログラミングできます。

提案された API を使用する拡張機能を公開することはできません。次回のリリースで破壊的な変更が発生する可能性があり、既存の拡張機能を決して壊したくありません。

テスト カバレッジ

今回のイテレーションでは、テスト カバレッジに関する作業を再開し、初期 UI 統合と、長年の提案に対するいくつかのマイナーアップデートを行いました。API はここに含めるには長すぎますが、かなり簡単であると考えており、issue #123713 の提案に関するご意見をお待ちしております。

チャット エージェント

最近のブログ記事「VS Code における「高度なスマートさ」の追求」で述べたように、拡張機能がチャットエージェントを Copilot チャット ビューに提供するためのモデルを開発しています。チャット エージェント API が提案されていますが、今すぐ独自のチャット エージェントを追加して試すことができます。更新情報については、issue #199908 を購読してください。

複数ドキュメント ハイライト API

前回のリリースで導入されたように、VS Code 内での複数ドキュメント ハイライトがサポートされるようになりました。今回のイテレーションでは、複数ドキュメント ハイライト プロバイダーを登録するための提案された MultiDocumentHighlightProvider API が追加されました。これにより、特定のプログラミング言語に対してセマンティック オカレンス ハイライトを提供できるようになります。プロバイダーは、URI から DocumentHighlight への Map を持つ新しい MultiDocumentHighlight 構造体を返します。フィードバックと今後の更新については、issue #196354 で追跡できます。

エンジニアリング

新しい CDN

新しい CDN エンドポイント: vscode.download.prss.microsoft.com への展開をロールアウトしています。システム管理者は、このエンドポイントからのトラフィックを許可するようにネットワークルールを構成してください。

macOS 10.13 および 10.14 のサポート終了

VS Code 1.85 は、macOS 10.13 (macOS High Sierra) および 10.14 (macOS Mojave) をサポートする最後のリリースです。詳細については、FAQ を参照してください。

注目すべき修正

  • 195796 設定エディターでローカライズ後のテキスト検索がサポートされていません
  • 197319 vscode://file// リンクが機能しなくなった
  • 194094 ピッカーの外にマウスを移動しても、プロファイル アイコン ピッカーを閉じないでください
  • 197070 カスタム タイトルバーでのデバッグ ツールバーの配置をサポート

謝辞

最後に重要なこととして、VS Code のコントリビューターに心から感謝申し上げます。

Issue tracking (Issue 追跡)

Issue tracking への貢献

プルリクエスト

vscode への貢献

vscode-css-languageservice への貢献

vscode-pull-request-github への貢献