VS Codeのエージェントモードを拡張するには、を試してください!

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に貢献する方法についても述べています。

アクセシビリティ

アクセシビリティビュー

前回のリレーションでは、UIコンポーネントとそのAccessible View間のシームレスなフローを実現するために、キーが押されたときにAccessible Viewが自動的に閉じるように導入しました。場合によっては、この動作が望ましくないことがあり、accessibility.accessibleView.closeOnKeyPress設定で無効にできるようになりました。

ターミナルとそのアクセシビリティビューの間を切り替えている場合、terminal.integrated.accessibleViewFocusOnCommandExecutionを有効にすると、ターミナルでコマンドが実行された後にアクセシビリティビューが自動的に開くようになります。

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

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

Tooltip for Extensions view icon in the Activity Bar

音声検出タイムアウト

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

ワークベンチ

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

このリリースで、エディタをメインウィンドウから独自の軽量ウィンドウに移動できるようになりましたことを発表できることを嬉しく思います。あるウィンドウでエディタに変更を加えると、そのエディタが開いている他のすべてのウィンドウにすぐに適用されます。

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

テーマ: 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は、OSのExplorerから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"

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

設定エディターは、タイブレーカーの場合には引き続き目次によって設定を並べ替えます。つまり、拡張機能の作者のorderキーは、@ext:などの検索クエリに対して尊重されます。

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

エディター

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

エディターで自動保存時にコードアクションを有効にできるようになり、エディター: 保存時のコードアクション (editor.codeActionsOnSave) 設定は、対応するenum値に移行されました。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を設定することで有効にできます。将来的にはデフォルトで有効にする予定で、その際には右クリックして無効にすることができます。

コマンドの強調表示

ターミナルでコマンドにカーソルを合わせると、左側に強調表示バーが表示されるようになりました。これは、あるコマンドの開始と別のコマンドの終了が明確でないプレーンなターミナルプロンプトに役立ちます。

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設定は、package.jsonで定義されたBunスクリプトの検出と実行を有効にするために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の両方が変更され、RustでWebAssemblyにコンパイルされたコードを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およびプルリクエストと問題拡張機能を自動的にインストールします。
  • 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モードが追加されました。これは、よりスムーズなストリーミングエクスペリエンスを提供し、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を使用してスマート送信を試みると、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プルリクエストと課題

プルリクエストと課題を操作、作成、管理できる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への貢献者