2024年4月 (バージョン 1.89)
バージョン 1.89.1 の更新: この更新プログラムは、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | Linux: deb rpm tarball Arm snap
Visual Studio Code の 2024 年 4 月リリースへようこそ。このバージョンには、皆さんが気に入ってくれるであろう多くの更新が含まれています。主なハイライトは以下のとおりです。
- Markdown の画像と動画をホバーでプレビュー - リンクにマウスを合わせると、Markdown の画像と動画をプレビューできます。
- ブランチ切り替えの強化 - ブランチ切り替え時に開いているエディターをシームレスに復元します。
- 中央クリックによる貼り付けのサポート - マウスの中央クリックを使って、ターミナルにテキストを素早く貼り付けます。
- Remote - SSH 経由での WSL - Remote - SSH 経由でリモートマシンに接続しているときに WSL を使用します。
- アクセシブルビュー - コメント、チャットコードブロック、ターミナルコマンドをアクセシブルビューからナビゲートします。
- UI アクションのキーボードショートカット - UI アクションのキーバインドを右クリックで直接カスタマイズします。
- クイック検索 - クイック検索を使ってワークスペース全体でテキストを検索します。
- AI を活用した名前変更の提案 - Copilot を使用して、エディターでインテリジェントな名前変更の提案を取得します。
- Copilot コンテンツ除外 - Copilot コンテキストで使用されないようにファイルをファイルから除外します。
- ローカルワークスペース拡張機能 - ワークスペースに直接拡張機能を含め、インストールします。
これらのリリースノートをオンラインで読みたい場合は、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 拡張機能で示されているように、言語モデルのリクエスト数を表示できます。
ローカルワークスペース拡張機能
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
拡張機能と、それをインストールする機能を示しています。
.vscode/extensions
フォルダーには、VSIX
ファイルではなく、展開された拡張機能を含める必要があることに注意してください。また、拡張機能のソースのみを含め、ワークスペースのセットアップの一部としてビルドすることもできます。
クイックオープンでのカスタムエディターラベル
先月、カスタムラベルを導入しました。これにより、エディタータブのラベルをパーソナライズできます。この機能は、index.tsx
ファイルなどの同じ名前のファイルのタブをより簡単に区別できるように設計されています。
それを踏まえ、カスタムラベルの利用をクイックオープン (⌘P (Windows, Linux Ctrl+P)) に拡張しました。これで、作成したカスタムラベルを使用してファイルを検索できるようになり、ファイルのナビゲーションがより直感的になりました。
キーバインドのカスタマイズ
ユーザーインターフェースアクションのキーバインドをより簡単にカスタマイズできるようになりました。ワークベンチ内の任意のアクション項目を右クリックし、キーバインドのカスタマイズを選択します。アクションに `when` 句がある場合、それが自動的に含まれるため、必要な方法でキーバインドを簡単に設定できます。
ツリー内の検索のキーバインド
ツリーコントロールで、意図せず頻繁に検索コントロールが開いてしまう問題を解決しました。たとえば、エディターで検索する代わりに、エクスプローラービューに検索コントロールが表示される場合などです。
このような誤操作を減らすため、ツリーコントロールで検索コントロールを開くためのデフォルトのキーバインドを ⌥⌘F (Windows, Linux Ctrl+Alt+F) に変更しました。以前の設定に戻したい場合は、キーボードショートカットエディターを使用して、list.find
コマンドの元のキーバインドに簡単に戻すことができます。
システムカラーモードの自動検出の改善
テーマをシステムの色モードに従わせたい場合は、すでに設定 window.autoDetectColorScheme
を有効にすることで可能でした。
有効にすると、現在のテーマはダークモードでは workbench.preferredDarkColorTheme
設定によって、ライトモードでは workbench.preferredLightColorTheme
設定によって定義されます。
その場合、workbench.colorTheme
の設定は考慮されません。window.autoDetectColorScheme
がオフの場合にのみ使用されます。
このマイルストーンで新しくなったのは、テーマピッカーダイアログ (環境設定: 色のテーマコマンド) がシステムの色モードを認識するようになったことです。システムがダークモードの場合、テーマの選択肢にダークテーマのみが表示されることに注目してください。
ダイアログには、window.autoDetectColorScheme
設定に直接移動するための新しいボタンも追加されています。
Markdown のリンクをコメントに貼り付け
コメントコントロールの入力エディターでは、リンクの貼り付けはMarkdownファイルにリンクを貼り付けるのと同じ動作をします。貼り付けオプションが表示され、コピーした元のリンクの代わりにMarkdownリンクを貼り付けることを選択できます。
ソース管理
ブランチ切り替え時の開いているエディターの保存/復元
このマイルストーンで、バージョン管理ブランチの切り替え時にエディターを保存および復元するという長年の機能要求に対応しました。この機能を有効にするには、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.quickTextSearch
は workbench.action.quickTextSearch
に変更されました。これは、これらの古い ID を使用する設定やキーバインディングがある場合に重要になる可能性があります。
検索ツリーの再帰的展開
検索ツリーで選択したツリーノードを再帰的に開くことができる新しいコンテキストメニューオプションが追加されました。
テーマ: Night Owl Light (vscode.devでプレビュー)
ターミナル
Git Bash シェル統合がデフォルトで有効に
Git Bash のシェル統合が自動的に有効になりました。これにより、Git Bash にはコマンドナビゲーション、スティッキースクロール、クイックフィックスなど、多くの機能が追加されます。
中央クリックによる貼り付けの設定
ほとんどの Linux ディストリビューションでは、中央クリックで選択範囲が貼り付けられます。同様の動作は、terminal.integrated.middleClickBehavior
を paste
に設定することで、他のオペレーティングシステムでも有効にできるようになりました。これにより、中央クリックで通常のクリップボードの内容が貼り付けられます。
ANSI ハイパーリンクのサポートを拡張
OSC 8 エスケープシーケンスを介した ANSI ハイパーリンクは、これまで http
と https
プロトコルのみをサポートしていましたが、現在では任意のプロトコルで動作します。デフォルトでは、セキュリティ上の理由から file
、http
、https
、mailto
、vscode
、vscode-insiders
プロトコルを持つリンクのみがアクティブになりますが、terminal.integrated.allowedLinkSchemes
設定を介してさらに追加できます。
ターミナルの新しいアイコンピッカー
ターミナルタブのコンテキストメニューからアイコン変更を選択すると、プロファイル用に構築された新しいアイコンピッカーが開くようになりました。
テーマ: 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 内のリンクと画像のパス補完を提供します。画像またはビデオファイルへのパスを補完する際に、補完の詳細に小さなプレビューが直接表示されるようになりました。これにより、探している画像やビデオをより簡単に見つけることができます。
Markdown の画像とビデオをホバーでプレビュー
Markdown の画像やビデオを、完全なMarkdown プレビューを開かずにすばやくプレビューしたいですか? 画像やビデオのパスにカーソルを合わせるだけで、小さなプレビューが表示されるようになりました。
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) キーボードショートカットを使用して起動します。
ターミナルインラインチャットは、統合されたターミナルのシェルとその内容に関するコンテキストを持つ @terminal
チャット参加者を使用します。
コマンドが提案されたら、⌘Enter (Windows, Linux Ctrl+Enter) を使用してターミナルでコマンドを実行するか、⌥Enter (Windows, Linux Alt+Enter) を使用してコマンドをターミナルに挿入します。コマンドは、実行する前に Copilot の応答で直接編集することもできます (現在、Windows および Linux では Ctrl+down、Tab、Tab、macOS では Cmd+down、Tab、Tab)。
Copilot を搭載した名前変更提案ボタン
Copilot を利用した名前変更の提案は、名前変更コントロールのきらめきアイコンを使用してトリガーできるようになりました。
コンテンツ除外
GitHub Copilot のコンテンツ除外が、Copilot for Business および Copilot Enterprise のすべてのお客様に対して Copilot Chat でサポートされるようになりました。コンテンツ除外の構成に関する情報は、GitHub Docs で確認できます。
コンテンツ除外によってファイルが除外されると、Copilot Chat はファイルの内容やパスを見ることができなくなり、LLM の提案生成には使用されません。
プレビュー: ノートブックエディターで生成
ノートブックエディターでインラインチャットが自動的にアクティブ化された新しいセルを挿入できるようになりました。notebook.experimental.generate
設定が true
に設定されている場合、ノートブックツールバーとセル間の挿入ツールバーに生成ボタンが表示されます。また、macOS で Cmd+I (Windows/Linux では Ctrl+I) を押すことでもトリガーできます。これは、ノートブックリストまたはセルコンテナにフォーカスがある場合です。この機能は、言語モデルの助けを借りて新しいセルにコードを生成するプロセスを簡素化するのに役立ちます。
Python
「継承された抽象クラスをすべて実装」コードアクション
Pylance を使用すると、抽象クラスの操作がより簡単になります。抽象クラスを継承する新しいクラスを定義する場合、継承された抽象クラスをすべて実装コードアクションを使用して、親クラスのすべての抽象メソッドとプロパティを自動的に実装できるようになりました。
テーマ: Catppuccin Macchiato (vscode.devでプレビュー)
新しい自動インデント設定
以前は、Pylance の自動インデント動作は editor.formatOnType
設定によって制御されていました。これは、自動インデントを無効にし、他のサポートされているツールで入力時の書式設定を有効にしたい場合に問題となる可能性がありました。この問題を解決するために、Pylance は独自の自動インデント動作を制御する設定: python.analysis.autoIndent
を持ち、これはデフォルトで有効になっています。
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 ドキュメントを作成していると、そのドキュメントのあるセクションが別の場所に属していることに気づくことがあります。そこで、そのセクションをコピーして別のファイルに貼り付けます。これで問題ないはず、ですよね? しかし、コピーしたテキストに相対パスのリンク、参照リンク、または画像が含まれていた場合、それらは壊れてしまい、手動で修正しなければならない可能性が高いです。これは非常に面倒なことですが、幸いなことに、新しい「貼り付け時にリンクを更新」機能が役立ちます!
この機能を有効にするには、"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
) は、言語モデル情報を取得し、特定の文字列のトークンをカウントする新しい関数をエクスポートします。それぞれ getLanguageModelInformation
と computeTokenLength
です。これらの関数を使用して、言語モデルの制限内のプロンプトを構築する必要があります。
注: インラインチャットは、今後のチャット参加者 API によって強化されるようになりました。これは、
registerInteractiveEditorSessionProvider
が非推奨になり、間もなく削除されることも意味します。
文書貼り付けの提案を更新
ドキュメント貼り付けの提案 API のイテレーションを継続しました。この API を使用すると、拡張機能がテキストドキュメントでのコピー/貼り付け操作にフックできるようになります。
API の注目すべき変更点
-
新しい
resolveDocumentPasteEdit
メソッド。貼り付け操作での編集を補完します。編集の計算に時間がかかる場合は、実際に貼り付け編集を適用する必要がある場合にのみ呼び出されるため、これを使用する必要があります。 -
すべての貼り付け操作は、
DocumentDropOrPasteEditKind
によって識別されるようになりました。これは、既存のCodeActionKind
と同様に機能し、貼り付け操作のキーバインドと設定で使用されます。
ドキュメント貼り付け拡張機能のサンプルには、最新の API 変更がすべて含まれているため、API をテストできます。変更点と全体的な API 設計に関するフィードバックを共有してください。
ホバーの詳細レベル
今回のイテレーションで、ホバーの縮小/展開を行う新しい提案API editorHoverVerbosityLevel
を追加しました。これは VerboseHover
と呼ばれる新しい型を導入し、canIncreaseHoverVerbosity
と canDecreaseHoverVerbosity
という2つのブール型フィールドを持ち、ホバーの詳細度を増減できることを示します。いずれかが true に設定されている場合、ホバーは +
と -
アイコンとともに表示され、これらを使用してホバーの詳細度を増減できます。
この提案された API は、provideHover
メソッドの新しいシグネチャも導入しており、HoverContext
型の追加パラメータを受け取ります。ユーザーによってホバー詳細度要求が送信されると、ホバーコンテキストには以前のホバーと、ユーザーが詳細度を増減させたいかどうかを示す HoverVerbosityAction
が入力されます。
拡張機能がトリガーするテスト実行での preserveFocus
拡張機能によってトリガーされるテスト実行リクエストに preserveFocus
ブール値を追加する提案があります。以前は、拡張機能 API からトリガーされたテスト実行では、フォーカスがテスト結果ビューに移動することがなかったため、一部の拡張機能ではユーザーエクスペリエンスの互換性を維持するために独自の工夫が必要でした。この新しいオプションは TestRunRequest
に設定でき、実行がエディター内からトリガーされたかのようにエディターにフォーカスを移動するよう要求できます。
注目すべき修正点
- 209917 Aux ウィンドウ: 最大化状態の復元 (Linux、Windows)
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
問題追跡
問題追跡への貢献者
- @gjsjohnmurray (ジョン・マレー)
- @IllusionMH (アンドリー・ディーエフ)
- @RedCMD (レッドCMD)
- @starball5 (スターボール)
- @ArturoDent (アルトゥロ・デント)
プルリクエスト
vscode
への貢献者
- @4-tel: fix: debug console で「!」で始まる行を検索する #174146 PR #210178
- @CareyJWilliams (キャリー・J・ウィリアムズ): 空の tasks.json へのタスクテンプレート書き込みを修正 PR #210675
- @cpendery (チャップマン・ペンデリー)
- fix: bundling error makes terminal suggestions fail PR #208822
- feat: add git-bash support to shell integration PR #208960
- fix: improve terminal marker placements on windows PR #209136
- fix: terminal suggestions should hide modal when no completions exist PR #210289
- fix: git bash で分割が失敗する PR #210513
- @Ditoo29 (ディオゴ・ピント): fix: 改行文字のシリアル化 PR #209703
- @frankli0324 (フランク): npm view 実行時の corepack 自動ピン機能を無効にする PR #210601
- @g-plane (Pig Fang): すべてのファイルがステージングまたはコミットされたときに Git multi-diff エディターを自動的に閉じる PR #210327
- @gjsjohnmurray (ジョン・マレー)
workbench.activityBar.iconClickBehavior
およびworkbench.activityBar.location
設定の説明を改善 PR #210574- アクティビティバーアイコンバッジを正しくクリアする (#210640 を修正) PR #210645
- @grgar (ジョージ・ガーサイド)
- web上でwindow.customTitleBarVisibility設定を使用しない PR #209162
- Fix color picker command title PR #210349
- cmd start escape をプロンプトの最後に移動 PR #210443
- @hsfzxjy (Xie Jingyi): デバッグ用のナビゲーション可能なコンテナイベントのログ PR #209357
- @jswillard (ジョン・ウィラード): クイックオープンでカスタムラベルを表示 PR #209681
- @marvinthepa (マーティン・サンダー): ターミナルでの中央クリック貼り付け PR #136633
- @mmastrac (マット・マストラック):
windowOptions
を xtermTerminal に追加してESC [18t
が機能するようにする PR #209310 - @nopeless (nopeless): fix: make
cmd
local in shell integration bash file PR #208364 - @pagict (Premium): feat. 検索ビューでサブツリーを展開するためのメニュー項目 'expand-select' を追加 PR #206033
- @pisv (ウラジミール・ピスカレフ):
OpenJsDocLinkCommand_Args
の不正な型定義を修正 PR #209872 - @qirong77: Monaco-Editor の inlinesuggest ツールバーのクラスが不足しているために CSS 変数が無効になる問題を修正 PR #207582
- @r-sargento (ラファエル・サルジェント): #201247 を修正 (統合ターミナルがデフォルトプロファイルから環境変数を設定しない) PR #209711
- @ScriptBloom (alviner): fix: 初回読み込み時にミニマップセクションヘッダーが不完全に表示される:#209603 PR #209605
- @sheetalkamat (Sheetal Nandi): tsserver に vscode の監視機能を使用 PR #193848
- @telamon (トニー・イワノフ): #114425 を修正し、インストール時の MIME 汚染を防ぐ PR #209510
- @timorthi (ティモシー・ング): 行番号表示モードが変更されたときにスティッキースクロールを再レンダリング PR #210815
- @WardenGnaw (アンドリュー・ワン): selectAndStartDebugging コマンドに 'noDebug' を追加 PR #209893
- @zWingz (zWing): fix: workbench.extensions.installExtension の実行時に予期せぬエラーが発生する PR #210135
- @ale-dg: ノートブックエディターと Jupyter の複数のパフォーマンス問題の診断に役立つフィードバックとログを継続的に提供。
vscode-css-languageservice
への貢献者
- @liaoyinglong (vigoss): ネストされた @container をサポート PR #390
vscode-emmet-helper
への貢献
vscode-eslint
への貢献者
- @hyoban (スティーブン・ジョウ): fix:
eslint.probe
のデフォルトオプションに json、jsonc を追加 PR #1830
vscode-hexeditor
への貢献
- @tomilho (トマス・シルバ)
- @veger (マールテン・ベーザー): スワップされたエントリを修正 PR #515
vscode-json-languageservice
への貢献
- @michaeltlombardi (マイキー・ロンバルディ (彼/彼)): パーサーが minContains/maxContains に errorMessage を使用することを確認 PR #229
vscode-languageserver-node
への貢献者
- @werat (アンディ・ヒッポ): 存在しない機能を登録解除する際にクラッシュしない PR #1460
vscode-python-debugger
への貢献者
- @DavidArchibald (デビッド・アーチボルド): WSL 上で実行中にデバッガーをプロセスにアタッチする問題を修正 PR #267
vscode-vsce
へのコントリビューション
- @yutotnh (yutotnh): feat:
git worktree add
で生成される .git を無視 PR #943
language-server-protocol
への貢献者
- @asukaminato0721 (港あすか): 2 lsp を追加 PR #1918
- @MariaSolOs (マリア・ホセ・ソラノ): マークアップ診断メッセージの明確化を追加 PR #1917
- @practicalli-johnny (プラクティカリ・ジョニー): サーバー: clojure-lsp リポジトリとメンテナを更新 PR #1921
- @sz3lbi (szelbi): SAP CDS サーバーを追加 PR #1924
- @unvalley (unvalley): docs: lsp サーバーに biome を追加 PR #1923
- @Wilfred (ウィルフレッド・ヒューズ): RequestCancelled ドキュメントコメントのタイプミスを修正 PR #1922
monaco-editor
へのコントリビューション
- @timotheeguerin (ティモシー・ゲリン): TypeSpec 言語のサポートを追加 PR #4450