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

アップデート 1.89.1: このアップデートでは、これらのissue (英語)に対処しています。

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


Visual Studio Code 2024 年 4 月リリースへようこそ。このバージョンでは多くのアップデートがあり、きっと気に入っていただけると思います。主なハイライトをいくつかご紹介します。

これらのリリースノートをオンラインで読むには、Updates (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)) のコードブロック間を移動できるようになりました。

コメントビュー

コメントを提供する拡張機能がインストールされていて、コメントビューがフォーカスされている場合、ユーザー補助ビュー内からビュー内のコメントを検査およびナビゲートできます。コメントで利用可能な拡張機能によって提供されるアクションも、ユーザー補助ビューから実行できます。

ワークベンチ

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

言語モデルを使用する拡張機能の場合、拡張機能エディターとランタイム拡張機能エディターで言語モデルの使用状況を追跡できるようになりました。たとえば、次のスクリーンショットに示す 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 は、拡張機能ビューの [ワークスペースの推奨事項] セクションにこの拡張機能を表示し、そこからユーザーがインストールできます。VS Code は、この拡張機能をそのワークスペースにのみインストールします。ローカルワークスペース拡張機能をインストールして実行するには、ユーザーがワークスペースを信頼する必要があります。

たとえば、VS Code リポジトリvscode-selfhost-test-provider 拡張機能を考えてみましょう。この拡張機能はテスト機能にプラグインし、コントリビューターがワークスペース内で直接テストを表示および実行できるようにします。次のスクリーンショットは、拡張機能ビューの [ワークスペースの推奨事項] セクションにある vscode-selfhost-test-provider 拡張機能と、それをインストールする機能を示しています。

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

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

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

先月、エディタータブのラベルをパーソナライズできるカスタムラベルを導入しました。この機能は、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 がオフの場合にのみ使用されます。

このマイルストーンでは、新しい機能として、テーマピッカーダイアログ ([Preferences: Color Theme] コマンド) がシステムカラーモードを認識するようになりました。システムがダークモードの場合、テーマ選択にダークテーマのみが表示されることに注目してください。

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 リポジトリに新しい issue をファイルしてください。

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

テーマ: 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 ハイパーリンクは、以前は http および https プロトコルのみをサポートしていましたが、現在は任意のプロトコルで動作します。デフォルトでは、セキュリティ上の理由から file, http, https, mailto, vscode および vscode-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-1 は、重複する ## Example ヘッダーがなくなったため、名前変更後は有効なリンクではなくなりました。

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

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

## First Example
...

## Example
...

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

リモート開発

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

ハイライト:

  • SSH 経由で WSL に接続

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

拡張機能への貢献

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+down, Tab, Tab、macOS では Cmd+down, Tab, Tab)。

Screenshot showing that complex queries are OS and shell-specific

Copilot 搭載の名前変更候補ボタン

Copilot 搭載の名前変更候補は、名前変更コントロールのスパークルアイコンを使用してトリガーできるようになりました。

コンテンツ除外

GitHub Copilot コンテンツ除外が、すべての Copilot for Business および Copilot Enterprise 顧客向けに Copilot Chat でサポートされるようになりました。コンテンツ除外の設定に関する情報は、GitHub ドキュメント (英語)にあります。

ファイルがコンテンツ除外によって除外されている場合、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.generatetrue に設定されている場合、ノートブックツールバーとセル間の挿入ツールバーに [Generate] ボタンが表示されます。また、フォーカスがノートブックリストまたはセルコンテナーにある場合は、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 拡張機能から Debugpy が削除され、Python Debugger 拡張機能に移行

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

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

テスト中にソケットを無効にすることが可能になりました

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

軽微なテストバグの更新

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

Pylance のパフォーマンスの向上

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

16 進数エディター

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

16 進数エディターには、現在カーソルを合わせているバイトもステータスバーに表示されるようになりました。

GitHub Pull Requests

GitHub Pull Requests 拡張機能の進捗状況がさらに進んでいます。この拡張機能を使用すると、プルリクエストと issue で作業、作成、および管理できます。新機能は次のとおりです。

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

その他のハイライトについては、拡張機能の 0.88.0 の変更ログ (英語)を確認してください。

TypeScript

VS Code コアで処理されるファイル監視

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

プレビュー機能

PowerShell の VS Code ネイティブ IntelliSense

しばらくの間、ターミナル内に PowerShell IntelliSense のプロトタイプがありましたが、最近になって磨きをかけるための時間をさらに費やすことができました。これはその外観です。

現在、- 文字または ctrl+space が押されたときにトリガーされます。この機能を有効にするには、settings.json ファイルで "terminal.integrated.shellIntegration.suggestEnabled": true を設定します (現在、設定 UI には表示されません)。

この機能はまだ初期段階ですが、フィードバックをお待ちしております。計画している大きなことのいくつかは、トリガーをより信頼性の高いものにすること (#211222 (英語))、ポップアップがトリガーされる場所に関係なく候補をより一貫性のあるものにすること (#211364 (英語))、およびエクスペリエンスをエディターの IntelliSense エクスペリエンスに可能な限り近づけること (#211076 (英語)#211194 (英語)) です。

Markdown ドキュメントを作成していて、ドキュメントの 1 つのセクションが実際には別の場所にあるべきであることに気付いたとします。そこで、それをコピーして別のファイルに貼り付けます。すべて順調ですよね?コピーしたテキストに相対パスリンク、参照リンク、または画像が含まれている場合、これらは破損している可能性が高く、手動で修正する必要があります。これは非常に面倒な場合がありますが、ありがたいことに、新しい [貼り付け時にリンクを更新] がここで役立ちます。

この機能を有効にするには、"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 とよく似ており、貼り付け操作のキーバインドと設定で使用されます。

このdocument paste extension sampleには、最新のAPI変更がすべて含まれているため、APIを試すことができます。変更点やAPI全体の設計に関するフィードバックをぜひお寄せください。

Hover Verbosity Level(ホバー詳細レベル)

今回のイテレーションでは、ホバーを縮小/拡大するための新しい提案APIであるeditorHoverVerbosityLevelを追加しました。これは、VerboseHoverという新しい型を導入するもので、canIncreaseHoverVerbositycanDecreaseHoverVerbosityという2つのブール値フィールドを持ち、ホバー詳細度を上げたり下げたりできることを示します。どちらかがtrueに設定されている場合、ホバーは+-のアイコン付きで表示され、これらを使用してホバー詳細度を上げ下げできます。

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

拡張機能によってトリガーされるTestRunでのpreserveFocus

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

注目すべき修正

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

謝辞

最後になりましたが、VS Codeのコントリビューターの皆様に心から感謝申し上げます。

Issue tracking(Issue追跡)

Issue追跡への貢献

Pull requests(プルリクエスト)

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への貢献