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 月リリースへようこそ。このバージョンでは多くのアップデートがあり、きっと気に入っていただけると思います。主なハイライトをいくつかご紹介します。
- Markdown の画像と動画のプレビュー - リンクにカーソルを合わせると、Markdown の画像と動画をプレビューできます。
- 拡張されたブランチ切り替え - ブランチを切り替える際に、開いているエディターをシームレスに復元します。
- ミドルクリックによる貼り付けのサポート - マウスのミドルクリックを使用してターミナルにテキストをすばやく貼り付けます。
- Remote - SSH 経由の WSL - Remote - SSH 経由でリモートマシンに接続しているときに WSL を使用します。
- ユーザー補助ビュー - ユーザー補助ビューからコメント、チャットコードブロック、ターミナルコマンドをナビゲートします。
- UI アクションのキーボードショートカット - 右クリックで UI アクションのキーバインドを直接カスタマイズします。
- クイック検索 - クイック検索でワークスペース全体のテキストを検索します。
- AI 搭載の名前変更候補 - Copilot を使用してエディターでインテリジェントな名前変更候補を取得します。
- Copilot コンテンツ除外 - Copilot コンテキストで使用されないようにファイルを除外します。
- ローカルワークスペース拡張機能 - 拡張機能をワークスペースに直接含めてインストールします。
これらのリリースノートをオンラインで読むには、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 拡張機能の言語モデルリクエストの数を確認できます。
ローカルワークスペース拡張機能
ローカルワークスペース拡張機能は、VS Code 1.88 リリースで最初に導入され、一般提供されるようになりました。拡張機能をワークスペースに直接含めて、そのワークスペースでのみインストールできるようになりました。この機能は、特定のワークスペースのニーズに対応し、よりカスタマイズされた開発エクスペリエンスを提供するために設計されています。
この機能を使用するには、ワークスペース内の .vscode/extensions
フォルダーに拡張機能が必要です。VS Code は、拡張機能ビューの [ワークスペースの推奨事項] セクションにこの拡張機能を表示し、そこからユーザーがインストールできます。VS Code は、この拡張機能をそのワークスペースにのみインストールします。ローカルワークスペース拡張機能をインストールして実行するには、ユーザーがワークスペースを信頼する必要があります。
たとえば、VS Code リポジトリの vscode-selfhost-test-provider
拡張機能を考えてみましょう。この拡張機能はテスト機能にプラグインし、コントリビューターがワークスペース内で直接テストを表示および実行できるようにします。次のスクリーンショットは、拡張機能ビューの [ワークスペースの推奨事項] セクションにある vscode-selfhost-test-provider
拡張機能と、それをインストールする機能を示しています。
VSIX
ファイルではなく、展開された拡張機能を .vscode/extensions
フォルダーに含める必要があることに注意してください。拡張機能のソースのみを含めて、ワークスペースのセットアップの一部としてビルドすることもできます。
クイックオープンでのカスタムエディターラベル
先月、エディタータブのラベルをパーソナライズできるカスタムラベルを導入しました。この機能は、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
がオフの場合にのみ使用されます。
このマイルストーンでは、新しい機能として、テーマピッカーダイアログ ([Preferences: Color Theme] コマンド) がシステムカラーモードを認識するようになりました。システムがダークモードの場合、テーマ選択にダークテーマのみが表示されることに注目してください。
ダイアログには、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 リポジトリに新しい issue をファイルしてください。
検索
クイック検索
クイック検索を使用すると、ワークスペースファイル全体でテキスト検索をすばやく実行できます。クイック検索は実験的ではなくなったため、コマンドパレット ([⇧⌘P (Windows, Linux Ctrl+Shift+P)) で [Search: Quick Search] コマンドを使用して試してみてください。✨🔍
テーマ: 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-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) を使用して起動します。
ターミナル インラインチャットは、統合ターミナルのシェルとその内容に関するコンテキストを持つ @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 ドキュメント (英語)にあります。
ファイルがコンテンツ除外によって除外されている場合、Copilot Chat はファイルの内容またはパスを表示できず、LLM 候補の生成には使用されません。
プレビュー: ノートブックエディターで生成
ノートブックエディターでインラインチャットを自動的にアクティブにして新しいセルを挿入することをサポートするようになりました。設定 notebook.experimental.generate
が true
に設定されている場合、ノートブックツールバーとセル間の挿入ツールバーに [Generate] ボタンが表示されます。また、フォーカスがノートブックリストまたはセルコンテナーにある場合は、macOS では Cmd+I (または Windows/Linux では Ctrl+I) を押してトリガーすることもできます。この機能は、言語モデルの助けを借りて新しいセルでコードを生成するプロセスを簡素化するのに役立ちます。
Python
「継承されたすべての抽象クラスを実装する」コードアクション
Pylance を使用すると、抽象クラスの操作が簡単になりました。抽象クラスから継承する新しいクラスを定義するときに、[継承されたすべての抽象クラスを実装する] コードアクションを使用して、親クラスからすべての抽象メソッドとプロパティを自動的に実装できるようになりました。
テーマ: Catppuccin Macchiato (プレビュー: vscode.dev)
新しい自動インデント設定
以前は、Pylance の自動インデント動作は editor.formatOnType
設定によって制御されていましたが、自動インデントを無効にしたいが、他のサポートされているツールで入力時のフォーマットを有効にしたい場合に問題がありました。この問題を解決するために、Pylance には自動インデント動作を制御する独自の設定 python.analysis.autoIndent
があります。これはデフォルトで有効になっています。
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 リンクの自動更新
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
) は、言語モデル情報を取得し、特定の文字列のトークン数をカウントするための新しい関数をエクスポートします。これらは、それぞれ getLanguageModelInformation
と computeTokenLength
です。これらの関数を使用して、言語モデルの制限内のプロンプトを作成する必要があります。
注: インラインチャットは、今後のチャット参加者 API によって強化されるようになりました。これは、
registerInteractiveEditorSessionProvider
が非推奨になり、間もなく削除されることも意味します。
更新されたドキュメント貼り付け提案
ドキュメント貼り付け提案 API (英語) のイテレーションを続けています。この API を使用すると、拡張機能はテキストドキュメントのコピー/貼り付け操作にフックできます。
API の注目すべき変更点:
-
貼り付け操作で編集を埋める新しい
resolveDocumentPasteEdit
メソッド。貼り付け編集を実際に適用する必要がある場合にのみ呼び出されるため、編集の計算に時間がかかる場合は、これを使用する必要があります。 -
すべての貼り付け操作は、
DocumentDropOrPasteEditKind
によって識別されるようになりました。これは、既存のCodeActionKind
とよく似ており、貼り付け操作のキーバインドと設定で使用されます。
このdocument paste extension sampleには、最新のAPI変更がすべて含まれているため、APIを試すことができます。変更点やAPI全体の設計に関するフィードバックをぜひお寄せください。
Hover Verbosity Level(ホバー詳細レベル)
今回のイテレーションでは、ホバーを縮小/拡大するための新しい提案APIであるeditorHoverVerbosityLevel
を追加しました。これは、VerboseHover
という新しい型を導入するもので、canIncreaseHoverVerbosity
とcanDecreaseHoverVerbosity
という2つのブール値フィールドを持ち、ホバー詳細度を上げたり下げたりできることを示します。どちらかがtrueに設定されている場合、ホバーは+
と-
のアイコン付きで表示され、これらを使用してホバー詳細度を上げ下げできます。
提案されたAPIは、provideHover
メソッドの新しいシグネチャも導入しており、HoverContext
型の追加パラメータを受け取ります。ユーザーによってホバー詳細度リクエストが送信されると、ホバーコンテキストには、以前のホバーと、ユーザーが詳細度を上げたいか下げたいかを示すHoverVerbosityAction
が設定されます。
拡張機能によってトリガーされるTestRunでのpreserveFocus
拡張機能によってトリガーされるテスト実行リクエストにpreserveFocus
ブール値を追加する提案があります。これまで、拡張機能APIからトリガーされたテスト実行では、フォーカスがテスト結果ビューに移動することはなく、ユーザーエクスペリエンスの互換性を維持するために一部の拡張機能が車輪の再発明をする必要がありました。この新しいオプションは、TestRunRequest
に設定して、エディター内で実行がトリガーされた場合と同様にフォーカスを移動するようにエディターに要求できます。
注目すべき修正
- 209917 Auxウィンドウ:最大化状態の復元(Linux、Windows)
謝辞
最後になりましたが、VS Codeのコントリビューターの皆様に心から感謝申し上げます。
Issue tracking(Issue追跡)
Issue追跡への貢献
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @starball5 (starball)
- @ArturoDent (ArturoDent)
Pull requests(プルリクエスト)
vscode
への貢献
- @4-tel: fix: デバッグコンソールで「!」で始まる行を検索する #174146 PR #210178
- @CareyJWilliams (Carey Williams): Fix task template writes to an empty tasks.json(タスクテンプレートが空のtasks.jsonに書き込む問題を修正) PR #210675
- @cpendery (Chapman Pendery)
- fix: bundling error makes terminal suggestions fail(バンドルエラーによりターミナルの提案が失敗する問題を修正) PR #208822
- feat: add git-bash support to shell integration(シェル統合にgit-bashのサポートを追加) PR #208960
- fix: improve terminal marker placements on windows(Windowsでのターミナルマーカーの配置を改善) PR #209136
- fix: terminal suggestions should hide modal when no completions exist(補完が存在しない場合、ターミナルの提案はモーダルを非表示にする必要がある) PR #210289
- fix: split fails in git bash(git bashでsplitが失敗する問題を修正) PR #210513
- @Ditoo29 (Diogo Pinto): fix: serialization of newline characters(改行文字のシリアル化を修正) PR #209703
- @frankli0324 (Frank): disable corepack auto pin feature when executing npm view(npm view実行時にcorepackの自動ピン機能を無効化) PR #210601
- @g-plane (Pig Fang): Auto close Git multi-diff editor when all files staged or comitted(すべてのファイルがステージングまたはコミットされたときにGitマルチdiffエディターを自動的に閉じる) PR #210327
- @gjsjohnmurray (John Murray)
workbench.activityBar.iconClickBehavior
およびworkbench.activityBar.location
設定の説明を改善 PR #210574- アクティビティバーのアイコンバッジを正しくクリア(fix #210640) PR #210645
- @grgar (George Garside)
- Web上でwindow.customTitleBarVisibility構成を使用しない PR #209162
- カラーピッカーのコマンドタイトルを修正 PR #210349
- cmdの開始エスケープをプロンプトの最後に移動 PR #210443
- @hsfzxjy (Xie Jingyi): デバッグ用のナビゲーブルコンテナイベントのロギング PR #209357
- @jswillard (John Willard): クイックオープンにカスタムラベルを表示 PR #209681
- @marvinthepa (Martin Sander): ターミナルでのマウス中央クリック貼り付け PR #136633
- @mmastrac (Matt Mastracci):
ESC [18t
を動作させるためにwindowOptions
をxtermTerminalに追加 PR #209310 - @nopeless (nopeless): fix: シェル統合bashファイルで
cmd
をローカルにする PR #208364 - @pagict (Premium): feat. 検索ビューでサブツリーを展開するメニュー項目「expand-select」を追加 PR #206033
- @pisv (Vladimir Piskarev):
OpenJsDocLinkCommand_Args
の不正な型定義を修正 PR #209872 - @qirong77: Monacoエディターのインライン提案ツールバーでCSS変数が無効になる原因となっていたクラスの欠落を修正 PR #207582
- @r-sargento (Rafael Sargento): Fix #201247 (統合ターミナルがデフォルトプロファイルから環境変数を設定しない問題を修正) PR #209711
- @ScriptBloom (alviner): fix: 最初のロード時にミニマップセクションヘッダーが不完全に表示される問題を修正:#209603 PR #209605
- @sheetalkamat (Sheetal Nandi): tsserverにvscode watchesを使用 PR #193848
- @telamon (Tony Ivanov): Fixed #114425 インストール時のMIME汚染を防止 PR #209510
- @timorthi (Timothy Ng): 行番号表示モードが変更されたときにスティッキー スクロールを再レンダリング PR #210815
- @WardenGnaw (Andrew Wang): selectAndStartDebuggingコマンドに「noDebug」を追加 PR #209893
- @zWingz (zWing): fix: execCommand workbench.extensions.installExtension実行時の予期しないエラーを修正 PR #210135
- @ale-dg: notebookエディターとjupyterにおける複数のパフォーマンス問題を診断するために、継続的にフィードバックとログを提供。
vscode-css-languageservice
への貢献
- @liaoyinglong (vigoss): ネストされた@containerをサポート PR #390
vscode-emmet-helper
への貢献
vscode-eslint
への貢献
- @hyoban (Stephen Zhou): fix: json、jsoncを
eslint.probe
のデフォルトオプションに追加 PR #1830
vscode-hexeditor
への貢献
- @tomilho (Tomás Silva)
- @veger (Maarten Bezemer): Fix swapped entries(エントリの入れ替えを修正) PR #515
vscode-json-languageservice
への貢献
- @michaeltlombardi (Mikey Lombardi (He/Him)): parserがminContains/maxContainsにerrorMessageを使用するように保証 PR #229
vscode-languageserver-node
への貢献
- @werat (Andy Hippo): 存在しない機能を登録解除するときにクラッシュしないように修正 PR #1460
vscode-python-debugger
への貢献
- @DavidArchibald (David Archibald): WSLで実行中にプロセスにデバッガーをアタッチする問題を修正 PR #267
vscode-vsce
への貢献
- @yutotnh (yutotnh): feat:
git worktree add
によって生成された.gitを無視 PR #943
language-server-protocol
への貢献
- @asukaminato0721 (Asuka Minato): 2つのlspを追加 PR #1918
- @MariaSolOs (Maria José Solano): マークアップ診断メッセージの明確化を追加 PR #1917
- @practicalli-johnny (Practicalli Johnny): servers: clojure-lspリポジトリとメンテナを更新 PR #1921
- @sz3lbi (szelbi): SAP CDSサーバーを追加 PR #1924
- @unvalley (unvalley): docs: lspサーバーにbiomeを追加 PR #1923
- @Wilfred (Wilfred Hughes): RequestCancelledドキュメントコメントのタイプミスを修正 PR #1922
monaco-editor
への貢献
- @timotheeguerin (Timothee Guerin): TypeSpec言語のサポートを追加 PR #4450