に参加して、VS Code の AI 支援開発について学びましょう。

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

アップデート 1.85.1: このアップデートでは、これらの課題に対応しています。

アップデート 1.85.2: このアップデートでは、これらの課題に対応しています。

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


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

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

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

GitHub Universe、Copilot、および VS Code

今年の GitHub Universe を視聴または参加できた方なら、GitHub Copilot が中心であったことをご存知でしょう。Copilot は オープニング基調講演 や、GitHub Copilot: 今と未来の AI ペアプログラマー といった分科会で取り上げられました。

VS Code チームは Copilot をエディターに統合するために懸命に取り組んできました。GitHub Universe までのチームの進捗状況については、最近のブログ記事 VS Code における「恐ろしく賢い」ものの追求 で詳細を知ることができます。この投稿では、コードベースやテクノロジーの専門家として機能する Copilot Chat エージェント の開発について詳しく説明されており、拡張機能の作者が独自のカスタムエージェントを VS Code に貢献する方法についても説明されています。

アクセシビリティ

Accessible View

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

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

キーボードフォーカスでツールチップを表示

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

Tooltip for Extensions view icon in the Activity Bar

音声検出タイムアウト

新しい設定 accessibility.voice.speechTimeout は、音声入力 (Copilot Chat など) を受け入れるまでに、無音状態がどれくらい続くかを制御します。デフォルトでは、1.2 秒の無音状態の後、音声入力は自動的に送信されます。この値を 0 に設定すると、音声入力の受け入れが完全に無効になります。

Workbench

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

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

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

テーマ: 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

この新機能をぜひお試しいただき、遭遇した問題があればご報告ください。既存の課題を確認し、不足している機能に投票してください。

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

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

拡張機能の自動更新制御

自動更新する拡張機能を選択できるようになりました。これは、すべての拡張機能を自動更新したくないが、選択した拡張機能のみを自動更新したい場合に役立ちます。個々の拡張機能、または発行元のすべての拡張機能を選択できます。発行元のすべての拡張機能を自動更新するように選択した場合でも、その発行元から個々の拡張機能の選択を解除できます。

Choose extensions to auto update

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

Auto update mode options with Selected Extensions checked

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

プロファイルに追加できる新しいプロファイルアイコンは次のとおりです。

New Profile icons

  • vr
  • piano
  • coffee
  • snake
  • ロボット
  • game
  • chip
  • music

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

設定エディターでは、検索結果の並び替えが、以前のように目次だけでなく、まず一致タイプによって行われるようになりました。つまり、タイトルとキーワードの一致が上位に表示されるため、一致するタイトルの設定を見つけるためにスクロールダウンする必要がなくなります。

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

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

設定エディターでは、同点の場合に目次によって設定が並べ替えられます。これは、拡張機能の作者の order キーが @ext: などの検索クエリに対して尊重されることを意味します。

このイテレーションでは、設定エディターがネットワークの問題でロードに失敗したり、特定の検索クエリでハングしたりするなど、多くの設定エディターの回帰も修正されました。

Editor

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

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

設定値の更新は以下の通りで、以前のブール値は文字列の同等な値に置き換えられ、非推奨になります。

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

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

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

複数ドキュメントのハイライトは、新しい提案された MultiDocumentHighlightProvider API から追加のサポートを受けています。TypeScript 言語のセマンティックな出現箇所のハイライトの組み込みサポートが追加され、Editor: Occurrences Highlight (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 を設定することで有効にできます。将来的にはデフォルトで有効にする予定で、その際には右クリックして無効にすることができます。

コマンドのハイライト

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

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 ブランチのチェックアウトが fast-forward 可能な場合、新しいターミナルクイックフィックスで 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/フェッチリクエストでの一時停止をサポートするようになりました。

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 が含まれています。このメジャーアップデートでは、import 属性のサポート、より優れた型推論などが追加されています。また、新しい言語ツール機能とバグ修正も含まれています。

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 を設定すると、自動インポートで型のみのインポートが使用されるようになります。この設定はデフォルトではオフです。

リモート開発

リモート開発拡張機能を使用すると、開発コンテナー、SSH 経由のリモートマシン、リモートトンネル、またはWindows 用 Linux サブシステム (WSL) をフル機能の開発環境として使用できます。

主なハイライトは次のとおりです。

  • Dev Containers で GitHub Copilotプルリクエストとイシュー 拡張機能を自動的にインストールします。
  • Dev Containers にインストールされる拡張機能について、より詳細な制御が可能になりました。
  • ローカル Dev Containers および WSL セッションでローカルマシンの証明書を再利用します。

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

拡張機能への貢献

GitHub Copilot

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

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

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

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

最後に、インラインチャットに新しい実験的な軽量 UI モードが追加されました。これにより、よりスムーズなストリーミングエクスペリエンスが提供され、diff は要求に応じてのみレンダリングされます。このモードは "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

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

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

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

Copilot で Rust コードを説明する

Copilot Chat は、Rust コードを説明するように要求され、rust-analyzer のような Rust 言語サービス拡張機能がインストールされている場合に、コードベースからクロスファイルコンテキストを収集するようになりました。Copilot の説明を表示するには、アクティブなエディターでコードを選択し、コンテキストメニューから Copilot > Explain This を使用するか、インラインチャットまたはチャットビューから /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 Debugger 拡張機能には、実行 ボタンメニューの下に設定可能なデバッグオプションが追加されました。Python Debugger: 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 Smart Send の警告メッセージと設定

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

Settings editor entry for Python REPL Smart Send

テストアーキテクチャの書き直し

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

GitHub Pull Requests and Issues

プルリクエストやイシューの作業、作成、管理を可能にする GitHub プルリクエストとイシュー 拡張機能について、さらなる進捗がありました。

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

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

プレビュー機能

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

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

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

複数ファイル差分エディター

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

複数ファイル差分エディターを有効にするには、"multiDiffEditor.experimental.enabled": true を設定します。現在、複数ファイル差分エディターは、ローカルの変更、ステージングされた変更、受信/送信の変更、プルリクエストからの変更を確認するために使用できます。複数ファイル差分エディターはまだ機能が完全ではなく、すべてのシナリオで機能しない可能性があることに注意してください。

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

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

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

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

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

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

問題: 表示 がオフの場合、一部の問題 UI 設定は無効になります。

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

問題: 表示 がオフの場合、ステータスバーに警告が表示されます。

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 を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。

テストカバレッジ

このイテレーションでは、テストカバレッジに関する作業を再開し、初期の UI 統合と長年の提案に対するいくつかの小さな更新を行いました。API はここには長すぎて含められませんが、かなり分かりやすいものだと考えており、issue #123713 での提案についてのご意見をお待ちしております。

チャットエージェント

最近のブログ記事 VS Code における「恐ろしく賢い」ものの追求 で述べたように、Copilot Chat ビューにチャットエージェントを貢献するための拡張機能のモデルを開発しています。チャットエージェント API は提案中ですが、今すぐ独自のチャットエージェントを追加して実験できます。更新については、issue #199908 を購読してください。

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

前回のリリースで導入されたように、VS Code 内での複数ドキュメントのハイライトがサポートされるようになりました。このイテレーションでは、複数ドキュメントハイライトプロバイダーを登録するための 提案された MultiDocumentHighlightProvider API を追加しました。これにより、特定のプログラミング言語のセマンティックな出現箇所のハイライトを提供する機能が追加されます。プロバイダーは、URI から DocumentHighlight へのマップを持つ新しい 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の貢献者の皆様に心からの感謝を申し上げます。

問題追跡

問題追跡への貢献者

プルリクエスト

vscodeへの貢献者

vscode-css-languageserviceへの貢献者

vscode-pull-request-githubへの貢献者

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