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

2024年4月 (バージョン 1.89)

バージョン 1.89.1 の更新: この更新プログラムは、これらの問題に対処しています。

ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | Linux: deb rpm tarball Arm snap


Visual Studio Code の 2024 年 4 月リリースへようこそ。このバージョンには、皆さんが気に入ってくれるであろう多くの更新が含まれています。主なハイライトは以下のとおりです。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com更新にアクセスしてください。Insiders: 新機能をできるだけ早く試したいですか?夜間ビルドのInsidersをダウンロードして、最新の更新が利用可能になり次第試すことができます。

アクセシビリティ

アクセシビリティ信号の進捗状況

設定 accessibility.signals.progress は、ユーザーインターフェースにプログレスバーが表示されている場所ならどこでも、スクリーンリーダーユーザーが進捗状況を聞くことができるようにします。この信号は3秒経過後に再生され、プログレスバーが完了するまで5秒ごとにループします。信号が再生される例としては、ワークスペースの検索時、チャット応答の保留中、ノートブックセル実行中などがあります。

エディターのアクセシビリティ信号の改善

行にエラーまたは警告がある場合、またはカーソルがエラーまたは警告上にある場合に、別々のアクセシビリティ信号が提供されるようになりました。

エディターで線と列の間を移動する際のアクセシビリティ信号の遅延を個別にカスタマイズする機能をサポートしています。また、ariaアラート信号は、音声キュー信号よりも再生されるまでの遅延が長くなっています。

候補コントロールが表示されている間は、インラインの候補はアクセシビリティ信号をトリガーしなくなりました。

アクセシブルビュー

アクセシブルビュー (⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2)) を使用すると、スクリーンリーダーのユーザーがワークベンチ機能を調べることができます。

ターミナルの改善

ターミナルのアクセシブルビューで次のコマンド (⌥↓ (Windows, Linux Alt+Down)) または前のコマンド (⌥↑ (Windows, Linux Alt+Up)) に移動すると、現在のコマンドが失敗したかどうかを聞くことができるようになりました。この機能は、設定 accessibility.signals.terminalCommandFailed で切り替えることができます。

シェル統合が有効になっているターミナルからこのビューを開くと、VS Code はターミナルのコマンドラインでアラートを表示し、エクスペリエンスが向上します。

チャットコードブロックナビゲーション

チャット応答のアクセシブルビューにいる場合、次のコードブロック (⌥⌘PageDown (Windows, Linux Ctrl+Alt+PageDown)) と前のコードブロック (⌥⌘PageUp (Windows, Linux Ctrl+Alt+PageUp)) をナビゲートできるようになりました。

コメントビュー

コメントを提供する拡張機能がインストールされていて、コメントビューにフォーカスがある場合、アクセシブルビュー内からビュー内のコメントを検査し、ナビゲートできます。コメントで利用できる拡張機能提供のアクションも、アクセシブルビューから実行できます。

ワークベンチ

言語モデルの使用状況レポート

言語モデルを使用する拡張機能の場合、Extension Editor と Runtime Extensions Editor で言語モデルの使用状況を追跡できるようになりました。たとえば、以下のスクリーンショットの Copilot Chat 拡張機能で示されているように、言語モデルのリクエスト数を表示できます。

Screenshot of the Runtime Status for the Copilot Chat extension, showing the number of language model requests.

ローカルワークスペース拡張機能

VS Code 1.88 リリースで初めて導入されたローカルワークスペース拡張機能が一般公開されました。これにより、ワークスペースに直接拡張機能を含め、そのワークスペースのみにインストールできるようになりました。この機能は、特定のワークスペースのニーズに対応し、よりカスタマイズされた開発体験を提供するために設計されています。

この機能を使用するには、ワークスペース内の .vscode/extensions フォルダーに拡張機能が必要です。VS Code は、この拡張機能を Extensions ビューのWorkspace Recommendationsセクションに表示し、そこからユーザーがインストールできます。VS Code は、この拡張機能をそのワークスペースにのみインストールします。ローカルワークスペース拡張機能は、ユーザーがこの拡張機能をインストールして実行する前にワークスペースを信頼する必要があります。

たとえば、VS Code リポジトリにある vscode-selfhost-test-provider 拡張機能を考えてみましょう。この拡張機能はテスト機能をプラグインし、貢献者がワークスペース内で直接テストを表示および実行できるようにします。以下のスクリーンショットは、Extensions ビューの Workspace Recommendations セクションに表示される vscode-selfhost-test-provider 拡張機能と、それをインストールする機能を示しています。

Screenshot showing a local workspace extension available in the .vscode folder in the Explorer view.

.vscode/extensions フォルダーには、VSIX ファイルではなく、展開された拡張機能を含める必要があることに注意してください。また、拡張機能のソースのみを含め、ワークスペースのセットアップの一部としてビルドすることもできます。

クイックオープンでのカスタムエディターラベル

先月、カスタムラベルを導入しました。これにより、エディタータブのラベルをパーソナライズできます。この機能は、index.tsx ファイルなどの同じ名前のファイルのタブをより簡単に区別できるように設計されています。

それを踏まえ、カスタムラベルの利用をクイックオープン (⌘P (Windows, Linux Ctrl+P)) に拡張しました。これで、作成したカスタムラベルを使用してファイルを検索できるようになり、ファイルのナビゲーションがより直感的になりました。

Screenshot showing the use of custom labels in Quick Open to distinguish between multiple 'index.jsx' files.

キーバインドのカスタマイズ

ユーザーインターフェースアクションのキーバインドをより簡単にカスタマイズできるようになりました。ワークベンチ内の任意のアクション項目を右クリックし、キーバインドのカスタマイズを選択します。アクションに `when` 句がある場合、それが自動的に含まれるため、必要な方法でキーバインドを簡単に設定できます。

ツリー内の検索のキーバインド

ツリーコントロールで、意図せず頻繁に検索コントロールが開いてしまう問題を解決しました。たとえば、エディターで検索する代わりに、エクスプローラービューに検索コントロールが表示される場合などです。

このような誤操作を減らすため、ツリーコントロールで検索コントロールを開くためのデフォルトのキーバインドを ⌥⌘F (Windows, Linux Ctrl+Alt+F) に変更しました。以前の設定に戻したい場合は、キーボードショートカットエディターを使用して、list.find コマンドの元のキーバインドに簡単に戻すことができます。

システムカラーモードの自動検出の改善

テーマをシステムの色モードに従わせたい場合は、すでに設定 window.autoDetectColorScheme を有効にすることで可能でした。

有効にすると、現在のテーマはダークモードでは workbench.preferredDarkColorTheme 設定によって、ライトモードでは workbench.preferredLightColorTheme 設定によって定義されます。

その場合、workbench.colorTheme の設定は考慮されません。window.autoDetectColorScheme がオフの場合にのみ使用されます。

このマイルストーンで新しくなったのは、テーマピッカーダイアログ (環境設定: 色のテーマコマンド) がシステムの色モードを認識するようになったことです。システムがダークモードの場合、テーマの選択肢にダークテーマのみが表示されることに注目してください。

Screenshot showing the theme selection dialog configuring the theme for Dark mode.

ダイアログには、window.autoDetectColorScheme 設定に直接移動するための新しいボタンも追加されています。

Screenshot showing the theme selection dialog, highlighting the button to configure the autoDetectColorScheme setting.

コメントコントロールの入力エディターでは、リンクの貼り付けはMarkdownファイルにリンクを貼り付けるのと同じ動作をします。貼り付けオプションが表示され、コピーした元のリンクの代わりにMarkdownリンクを貼り付けることを選択できます。

Screenshot of Comments control, showing the paste link context menu.

ソース管理

ブランチ切り替え時の開いているエディターの保存/復元

このマイルストーンで、バージョン管理ブランチの切り替え時にエディターを保存および復元するという長年の機能要求に対応しました。この機能を有効にするには、scm.workingSets.enabled 設定を使用します。

初めてブランチに切り替える際の開いているエディターを制御するには、scm.workingSets.default 設定を使用できます。開いているエディターをなし (empty) にするか、現在開いているエディター (current、デフォルト値) を使用するかを選択できます。

変更履歴表示専用コマンド

複数ファイル差分エディターで特定の種類の変更履歴をより簡単に表示できるように、コマンドパレットに新しいコマンドセットが追加されました: Git: ステージングされた変更履歴を表示Git: 変更履歴を表示、およびGit: 未追跡の変更履歴を表示

ノートブック

最小エラーレンダラー

設定 notebook.output.minimalErrorRendering を使用して、ノートブックのエラーレンダラーの新しいレイアウトを使用できます。この新しいレイアウトは、エラーとメッセージのみを表示し、完全なエラースタックを表示するためのコントロールを提供します。

大型ノートブックのバックアップを無効化

大規模なノートブックファイルの場合、ディスクへのファイル書き込み時間を短縮するために、定期的なファイルバックアップが無効になりました。この制限は、設定 notebook.backup.sizeLimit で調整できます。また、ノートブックファイルを保存する際にレンダラーのブロックを回避するオプションも実験中です (notebook.experimental.remoteSave)。これにより、パフォーマンスの低下なしに自動保存が行われるようになります。

アウトライン/スティッキースクロールのパフォーマンス低下の修正

過去数ヶ月間、ノートブックエディターのパフォーマンス低下に関するフィードバックが寄せられました。これらの低下は特定が難しく、再現も容易ではありませんでした。しかし、コミュニティからの継続的なログとフィードバックのおかげで、新しい機能を追加したことにより、アウトラインとスティッキースクロール機能に原因があることが特定できました。このリリースでこれらの問題は修正されました。

コミュニティのフィードバックと忍耐に感謝し、ノートブックエディターのパフォーマンス向上に引き続き努めてまいります。パフォーマンスの問題が引き続き発生する場合は、遠慮なくVS Code リポジトリに新しい問題を報告してください。

クイック検索を使用すると、ワークスペースファイル全体でテキスト検索をすばやく実行できます。クイック検索は実験的な機能ではなくなったので、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) で検索: クイック検索コマンドを使用して試してみてください!✨🔍

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

クイック検索のすべてのコマンドと設定の識別子に「experimental」というキーワードが含まれなくなったことに注意してください。たとえば、コマンド ID workbench.action.experimental.quickTextSearchworkbench.action.quickTextSearch に変更されました。これは、これらの古い ID を使用する設定やキーバインディングがある場合に重要になる可能性があります。

検索ツリーの再帰的展開

検索ツリーで選択したツリーノードを再帰的に開くことができる新しいコンテキストメニューオプションが追加されました。

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

ターミナル

Git Bash シェル統合がデフォルトで有効に

Git Bash のシェル統合が自動的に有効になりました。これにより、Git Bash にはコマンドナビゲーションスティッキースクロールクイックフィックスなど、多くの機能が追加されます。

中央クリックによる貼り付けの設定

ほとんどの Linux ディストリビューションでは、中央クリックで選択範囲が貼り付けられます。同様の動作は、terminal.integrated.middleClickBehaviorpaste に設定することで、他のオペレーティングシステムでも有効にできるようになりました。これにより、中央クリックで通常のクリップボードの内容が貼り付けられます。

OSC 8 エスケープシーケンスを介した ANSI ハイパーリンクは、これまで httphttps プロトコルのみをサポートしていましたが、現在では任意のプロトコルで動作します。デフォルトでは、セキュリティ上の理由から filehttphttpsmailtovscodevscode-insiders プロトコルを持つリンクのみがアクティブになりますが、terminal.integrated.allowedLinkSchemes 設定を介してさらに追加できます。

ターミナルの新しいアイコンピッカー

ターミナルタブのコンテキストメニューからアイコン変更を選択すると、プロファイル用に構築された新しいアイコンピッカーが開くようになりました。

Screenshot showing the new icon picker shows a preview and the id of the icon as well as a filter box

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

ウィンドウサイズ報告のサポート

ターミナルは以下のエスケープシーケンス要求に応答するようになりました。

  • CSI 14 t はターミナルのウィンドウサイズをピクセル単位で報告します
  • CSI 16 t はターミナルのセルサイズをピクセル単位で報告します
  • CSI 18 t はターミナルのウィンドウサイズを文字単位で報告します

⚠️ キャンバスレンダラーの非推奨

ターミナルには、DOM レンダラー、WebGL レンダラー、キャンバスレンダラーの 3 種類のレンダラーがあります。しばらくの間キャンバスレンダラーを削除したかったのですが、DOM レンダラーの許容できないパフォーマンスと WebKit が webgl2 を実装していないためにブロックされていました。これらの問題はすべて解決しました!

このリリースでは、キャンバスレンダラーをフォールバックチェーンから削除しました。そのため、terminal.integrated.gpuAcceleration 設定が明示的に "canvas" に設定されている場合にのみ有効になります。次のリリースではキャンバスレンダラーを完全に削除する予定です。terminal.integrated.gpuAcceleration"on" または "off" の両方に設定されている場合に問題が発生する場合は、お知らせください。

デバッグ

JavaScriptデバッガー

JavaScript デバッガーは、runtimeExecutable 設定で node_modules/.bin フォルダーに表示されるバイナリを自動的に検索するようになりました。これにより、名前で自動的に解決されるようになりました。

以下の例では、バイナリへのフルパスを指定することなく、mocha を参照できることに注目してください。

{
	"name": "Run Tests",
	"type": "node",
	"request": "launch",
-	"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mocha",
-	"windows": {
-		"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mocha.cmd"
-	},
+	"runtimeExecutable": "mocha",
}

言語

Markdown パス補完での画像プレビュー

VS Code の組み込み Markdown ツールは、Markdown 内のリンクと画像のパス補完を提供します。画像またはビデオファイルへのパスを補完する際に、補完の詳細に小さなプレビューが直接表示されるようになりました。これにより、探している画像やビデオをより簡単に見つけることができます。

Screenshot showing a preview of an image in Markdown path completions

Markdown の画像とビデオをホバーでプレビュー

Markdown の画像やビデオを、完全なMarkdown プレビューを開かずにすばやくプレビューしたいですか? 画像やビデオのパスにカーソルを合わせるだけで、小さなプレビューが表示されるようになりました。

Screenshot showing hovering over an image's path to preview it

Markdown ヘッダーの名前変更の改善

VS Code の組み込み Markdown サポートでは、F2 を使用してヘッダーの名前を変更できることをご存知でしたか?これは、そのヘッダーへのすべてのリンクが自動的に更新されるため、非常に便利です。今回のイテレーションでは、Markdown ファイルに重複するヘッダーがある場合の名前変更の処理が改善されました。

Markdown ファイルを考える

# Readme
- [Example 1](#_example)
- [Example 2](#_example-1)

## Example
...

## Example
...

2 つの ## Example ヘッダーは同じテキストですが、それぞれ一意の ID (#example#example-1) を使用して個別にリンクできます。以前は、最初の ## Example ヘッダーを ## First Example に名前変更すると、#example リンクは正しく #first-example に変更されますが、#example-1 リンクは変更されませんでした。ただし、名前変更後には重複する ## Example ヘッダーがなくなるため、#example-1 は有効なリンクではなくなります。

このシナリオを正しく処理するようになりました。例えば、上記のドキュメントで最初の ## Example ヘッダーを ## First Example に名前変更すると、新しいドキュメントは次のようになります。

# Readme
- [Example 1](#_first-example)
- [Example 2](#_example)

## First Example
...

## Example
...

両方のリンクが自動的に更新され、どちらも有効なままになっていることに注目してください!

リモート開発

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

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

  • SSH経由でWSLに接続する

これらの機能の詳細については、リモート開発リリースノートをご覧ください。

拡張機能への貢献

GitHub Copilot

ターミナルインラインチャット

ターミナルインラインチャットは、ターミナルでのデフォルトのエクスペリエンスになりました。ターミナルにフォーカスがあるときに⌘I (Windows, Linux Ctrl+I) キーボードショートカットを使用して起動します。

Screenshot showing opening terminal inline chat opens and focuses an input box similar to inline chat in the editor

ターミナルインラインチャットは、統合されたターミナルのシェルとその内容に関するコンテキストを持つ @terminal チャット参加者を使用します。

Screenshot showing that you can ask complex questions like "list the top 5 largest files in the src dir"

コマンドが提案されたら、⌘Enter (Windows, Linux Ctrl+Enter) を使用してターミナルでコマンドを実行するか、⌥Enter (Windows, Linux Alt+Enter) を使用してコマンドをターミナルに挿入します。コマンドは、実行する前に Copilot の応答で直接編集することもできます (現在、Windows および Linux では Ctrl+downTabTab、macOS では Cmd+downTabTab)。

Screenshot showing that complex queries are OS and shell-specific

Copilot を搭載した名前変更提案ボタン

Copilot を利用した名前変更の提案は、名前変更コントロールのきらめきアイコンを使用してトリガーできるようになりました。

コンテンツ除外

GitHub Copilot のコンテンツ除外が、Copilot for Business および Copilot Enterprise のすべてのお客様に対して Copilot Chat でサポートされるようになりました。コンテンツ除外の構成に関する情報は、GitHub Docs で確認できます。

コンテンツ除外によってファイルが除外されると、Copilot Chat はファイルの内容やパスを見ることができなくなり、LLM の提案生成には使用されません。

Screenshot showing a file which has been excluded in panel chat, displaying a warning about decreased suggestion quality

Screenshot showing a file which has been excluded in inline chat, showing an error that inline chat cannot be used

プレビュー: ノートブックエディターで生成

ノートブックエディターでインラインチャットが自動的にアクティブ化された新しいセルを挿入できるようになりました。notebook.experimental.generate 設定が true に設定されている場合、ノートブックツールバーとセル間の挿入ツールバーに生成ボタンが表示されます。また、macOS で Cmd+I (Windows/Linux では Ctrl+I) を押すことでもトリガーできます。これは、ノートブックリストまたはセルコンテナにフォーカスがある場合です。この機能は、言語モデルの助けを借りて新しいセルにコードを生成するプロセスを簡素化するのに役立ちます。

Python

「継承された抽象クラスをすべて実装」コードアクション

Pylance を使用すると、抽象クラスの操作がより簡単になります。抽象クラスを継承する新しいクラスを定義する場合、継承された抽象クラスをすべて実装コードアクションを使用して、親クラスのすべての抽象メソッドとプロパティを自動的に実装できるようになりました。

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

新しい自動インデント設定

以前は、Pylance の自動インデント動作は editor.formatOnType 設定によって制御されていました。これは、自動インデントを無効にし、他のサポートされているツールで入力時の書式設定を有効にしたい場合に問題となる可能性がありました。この問題を解決するために、Pylance は独自の自動インデント動作を制御する設定: python.analysis.autoIndent を持ち、これはデフォルトで有効になっています。

Screenshot showing Python Analysis Auto Indent setting to control auto indentation with Pylance

Python デバッガー拡張機能に有利なように、Python 拡張機能から Debugpy を削除

デバッグ機能はPython Debugger拡張機能によって処理されるようになったため、Python 拡張機能から debugpy を削除しました。

この変更の一環として、launch.json ファイルで指定されている "type": "python""type": "debugpy" の両方が Python Debugger 拡張機能へのパスを参照するようになり、効果的に実行およびデバッグするために launch.json ファイルに変更を加える必要がなくなりました。今後は、Python Debugger 拡張機能に直接対応するため、"type": "debugpy" を使用することをお勧めします。

テスト中のソケット無効化が可能に

Python Testing Rewrite のテスト UI からソケットを無効にしたテストを実行できるようになりました。これは、Python 拡張機能とテスト実行サブプロセス間の通信が名前付きパイプを使用するように変更されたことで可能になりました。

マイナーなテストのバグが更新されました

テストビューで、unittest を使用したテストシナリオと、ネストされたクラス内のパラメーター化されたテストを持つプロジェクトが正しく表示されるようになりました。さらに、テストエクスプローラーは、シンボリックリンクを持つワークスペース (特にシンボリックリンクされたパスの子であるワークスペースルート) 内のテストを処理するようになりました。これは WSL シナリオで特に役立ちます。

Pylance のパフォーマンス改善

Pylance チームは、過去数回のリリースで Pylance のパフォーマンスが低下したというフィードバックを受けています。報告された様々な問題に対処するため、メモリ消費とインデックス作成パフォーマンスをいくつかの小さな改善を行いました。しかし、Pylance でパフォーマンスの問題が引き続き発生する可能性がある方には、コマンドパレットからPylance: 問題を報告コマンドを使用して問題を提出していただくようお願いしています。理想的には、ログ、コードサンプル、および/または作業環境にインストールされているパッケージを含めてください。

Hexエディター

16進エディターに、長年の「置換」モードに加え、「挿入」モードが追加されました。挿入モードでは、ファイル内およびファイルの末尾に新しいバイトを追加でき、Insert キーまたはステータスバーから切り替えることができます。

16進エディターは、現在ホバーされているバイトをステータスバーに表示するようになりました。

GitHubプルリクエスト

GitHub Pull Requests 拡張機能の進捗がありました。これにより、プルリクエストやイシューの作業、作成、管理が可能になります。新機能には以下が含まれます。

  • 非チェックアウト PR の実験的な競合解決は、非表示の設定 "githubPullRequests.experimentalUpdateBranchWithGitHub": true を有効にすることで利用できます。この機能により、ローカルでブランチをチェックアウトせずに PR の競合を解決できます。この機能はまだ実験段階であり、すべてのケースで機能するわけではありません。
  • プルリクエストビューとイシュービューからアクセシビリティヘルプを開くがトリガーされると、アクセシビリティヘルプダイアログが表示されます。
  • 十分なスペースがある場合、すべてのアクションボタンは「アクティブなプルリクエスト」サイドバービューに表示されます。

その他のハイライトについては、拡張機能の 0.88.0 リリースの変更履歴をご覧ください。

TypeScript

VS Code コアによるファイル監視

新しい実験的な設定 typescript.tsserver.experimental.useVsCodeWatcher は、TS 拡張機能がファイルの監視ニーズに VS Code のコアファイル監視サポートを使用するかどうかを制御します。TS はファイル監視を広範囲に使用しており、通常は独自の Node.js ベースの実装を使用しています。VS Code のファイルウォッチャーを使用することで、監視はより効率的で信頼性が高く、リソース消費も少なくなります。5 月にこの機能を徐々にユーザー向けに有効にし、回帰を監視する予定です。

プレビュー機能

PowerShell 用の VS Code ネイティブインテリセンス

ターミナル内で PowerShell のインテリセンスのプロトタイプが以前からありましたが、最近になって磨きをかける時間が取れました。以下のような表示になります。

現在、これは「-」文字または Ctrl+スペースを押すとトリガーされます。この機能を有効にするには、settings.json ファイルで "terminal.integrated.shellIntegration.suggestEnabled": true を設定してください (現時点では設定 UI には表示されません)。

この機能はまだ初期段階ですが、皆様からのフィードバックをお待ちしております。計画されている大きな改善点としては、トリガーの信頼性向上 (#211222)、ポップアップのトリガー場所に関わらず提案の一貫性向上 (#211364)、そしてエディターのインテリセンス体験にできるだけ近づけること (#211076#211194) などがあります。

Markdown ドキュメントを作成していると、そのドキュメントのあるセクションが別の場所に属していることに気づくことがあります。そこで、そのセクションをコピーして別のファイルに貼り付けます。これで問題ないはず、ですよね? しかし、コピーしたテキストに相対パスのリンク、参照リンク、または画像が含まれていた場合、それらは壊れてしまい、手動で修正しなければならない可能性が高いです。これは非常に面倒なことですが、幸いなことに、新しい「貼り付け時にリンクを更新」機能が役立ちます!

この機能を有効にするには、"markdown.experimental.updateLinksOnPaste": true を設定するだけです。有効にすると、現在のエディターで Markdown ファイル間でテキストをコピーして貼り付けると、VS Code はすべての相対パスリンク、参照リンク、および相対パスを持つすべての画像/ビデオを自動的に修正します。

貼り付け後、代わりにコピーした正確なテキストを挿入したい場合は、貼り付けコントロールを使用して通常のコピー/貼り付け動作に戻すことができます。

TypeScript 5.5 のサポート

TypeScript 5.5 ベータ版をサポートするようになりました。このリリースに関する詳細については、TypeScript 5.5 ベータ版のブログ記事イテレーション計画をご確認ください。

エディターのハイライトは次のとおりです。

  • 正規表現の構文チェック。
  • ファイル監視の改善。

TypeScript 5.5 ベータ版を使い始めるには、TypeScript Nightly 拡張機能をインストールしてください。フィードバックを共有し、TypeScript 5.5 でバグが発生した場合はお知らせください。

API

コメント入力エディターでの言語機能のサポートを改善

新しいコメントを記述するとき、VS Code は、VS Code のメインエディターと同様に、TextDocument に基づく簡略化されたテキストエディターを作成します。今回のイテレーションでは、これらのコメントテキストエディターでいくつかの追加の API 機能が有効になりました。これには以下が含まれます。

  • ワークスペース編集のサポート。
  • 診断のサポート。
  • 提案された API の「貼り付け形式」のサポート。

コメントテキストドキュメントは、comment スキームを持つ URI で識別できます。

この新しい機能で拡張機能がどのように構築されるかを見るのが楽しみです!

ウィンドウアクティビティ API の最終決定

ウィンドウアクティビティ API が最終決定されました。この API は、ウィンドウが最近操作されたかどうかを拡張機能が判断するために使用できる、単純な追加の WindowState.active ブール値を提供します。

vscode.window.onDidChangeWindowState(e => console.log('Is the user active?', e.active));

提案されたAPI

ビューのアクセシビリティヘルプダイアログ

拡張機能が提供する任意のビューに、accessibilityHelpContent プロパティを使用してアクセシビリティヘルプダイアログを追加できます。ビューにフォーカスがある場合、スクリーンリーダーユーザーには、ダイアログを開くヒント (⌥F1 (Windows Alt+F1, Linux Shift+Alt+F1)) が聞こえ、概要と役立つコマンドが含まれています。

この API は、GitHub Pull Request 拡張機能の Issues および PR ビューで使用されています。

言語モデルとチャット API

言語モデル名前空間 (vscode.lm) は、言語モデル情報を取得し、特定の文字列のトークンをカウントする新しい関数をエクスポートします。それぞれ getLanguageModelInformationcomputeTokenLength です。これらの関数を使用して、言語モデルの制限内のプロンプトを構築する必要があります。

: インラインチャットは、今後のチャット参加者 API によって強化されるようになりました。これは、registerInteractiveEditorSessionProvider が非推奨になり、間もなく削除されることも意味します。

文書貼り付けの提案を更新

ドキュメント貼り付けの提案 API のイテレーションを継続しました。この API を使用すると、拡張機能がテキストドキュメントでのコピー/貼り付け操作にフックできるようになります。

API の注目すべき変更点

  • 新しい resolveDocumentPasteEdit メソッド。貼り付け操作での編集を補完します。編集の計算に時間がかかる場合は、実際に貼り付け編集を適用する必要がある場合にのみ呼び出されるため、これを使用する必要があります。

  • すべての貼り付け操作は、DocumentDropOrPasteEditKind によって識別されるようになりました。これは、既存の CodeActionKind と同様に機能し、貼り付け操作のキーバインドと設定で使用されます。

ドキュメント貼り付け拡張機能のサンプルには、最新の API 変更がすべて含まれているため、API をテストできます。変更点と全体的な API 設計に関するフィードバックを共有してください。

ホバーの詳細レベル

今回のイテレーションで、ホバーの縮小/展開を行う新しい提案API editorHoverVerbosityLevel を追加しました。これは VerboseHover と呼ばれる新しい型を導入し、canIncreaseHoverVerbositycanDecreaseHoverVerbosity という2つのブール型フィールドを持ち、ホバーの詳細度を増減できることを示します。いずれかが true に設定されている場合、ホバーは +- アイコンとともに表示され、これらを使用してホバーの詳細度を増減できます。

この提案された API は、provideHover メソッドの新しいシグネチャも導入しており、HoverContext 型の追加パラメータを受け取ります。ユーザーによってホバー詳細度要求が送信されると、ホバーコンテキストには以前のホバーと、ユーザーが詳細度を増減させたいかどうかを示す HoverVerbosityAction が入力されます。

拡張機能がトリガーするテスト実行での preserveFocus

拡張機能によってトリガーされるテスト実行リクエストに preserveFocus ブール値を追加する提案があります。以前は、拡張機能 API からトリガーされたテスト実行では、フォーカスがテスト結果ビューに移動することがなかったため、一部の拡張機能ではユーザーエクスペリエンスの互換性を維持するために独自の工夫が必要でした。この新しいオプションは TestRunRequest に設定でき、実行がエディター内からトリガーされたかのようにエディターにフォーカスを移動するよう要求できます。

注目すべき修正点

  • 209917 Aux ウィンドウ: 最大化状態の復元 (Linux、Windows)

ありがとうございます

最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。

問題追跡

問題追跡への貢献者

プルリクエスト

vscodeへの貢献者

vscode-css-languageserviceへの貢献者

vscode-emmet-helperへの貢献

vscode-eslintへの貢献者

vscode-hexeditorへの貢献

vscode-json-languageserviceへの貢献

vscode-languageserver-nodeへの貢献者

vscode-python-debuggerへの貢献者

vscode-vsceへのコントリビューション

language-server-protocolへの貢献者

monaco-editorへのコントリビューション