2021年4月 (バージョン 1.56)
Update 1.56.1: このアップデートでは、以下のセキュリティissue (問題)に対応しています。
Update 1.56.2: このアップデートでは、以下のissue (問題)に対応しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code 2021年4月リリースへようこそ。VS Codeチームは今月、いくつかの長期的なアップデートに取り組んできました。今後の情報については、プレビュー機能セクションをご覧ください。このリリースに含まれるハイライトをいくつかご紹介します。
- アクションホバーのフィードバックの改善 - クリック可能なエディターアクションをすばやく見つけるのに役立ちます。
- ターミナルプロファイルの改善 - カスタムデフォルトターミナルプロファイルを作成します。
- デバッガーのインライン値 - デバッグセッション中に変数値をインラインで表示します。
- ノートブック KaTeX サポート - ノートブックのMarkdownセルでの数式サポート。
- Dev Containersボリュームビュー - Dockerコンテナ内のマウントされたボリュームを管理します。
- winget インストール - VS CodeはWindows Package Managerから入手できます。
- 新しい入門ビデオ - VS Codeの入門とC++の操作に関するビデオ。
- ターミナルタブのプレビュー - 新しいタブビューで開いているターミナルを管理するプレビューをご覧ください。
これらのリリースノートをオンラインで読むには、Updates(code.visualstudio.com)にアクセスしてください。
ライブ配信に参加しませんか?5月11日(火)午前8時(太平洋時間)、VS Codeチームのライブストリームで、このリリースの新機能のデモをご覧いただき、ライブで質問をしてください(ロンドン時間午後4時)。
Insiders: 新機能をいち早く試してみたいですか?Insidersビルドをダウンロードして、最新のアップデートをいち早くお試しください。
ワークベンチ
アクションホバーのフィードバックの改善
ワークベンチ全体のアクションに対するマウスホバーフィードバックを変更し、クリック可能なアクションに関するUXを改善しました。
無題のエディターのヒント
多くの新規ユーザーが、VS Codeの言語サポートを最大限に活用するためには言語を設定する必要があることに気づいていないことに気づきました。この問題を解決するために、ユーザーが正しい言語モードを設定するのに役立つように、無題のエディターにヒントを導入しました。無題のヒントは、上級ユーザーには役に立たない可能性があるため、入力を開始するとすぐに消えるか、非表示にするを選択して、今後ヒントが表示されないようにすることができます。
デフォルトのカスタムエディターとノートブックの解決
リソースのデフォルトエディターであるべきだと主張するエディターが2つある場合(たとえば、画像ビューアーと画像エディター)、競合を解決するためのプロンプトが表示されます。
以下の短いビデオでは、ユーザーがPNGファイルを開き、それが2つのエディターに関連付けられています。通知により、ユーザーはLuna Paint Image Editorを使い続けるか、新しいデフォルトを構成できます。ユーザーは新しいデフォルトを構成し、バイナリHex Editorを使い始めます。
更新されたカスタムダイアログ
"window.dialogStyle": "custom"
を使用して有効にできるカスタムダイアログスタイルを更新しました。VS Codeは背景を暗くして、ダイアログに焦点が当たりやすくし、アクションが複数ある場合は、セカンダリボタンのスタイルを使用するようになりました。
製品アイコンテーマ: Fluent Icons
次のカラートークンを使用して、セカンダリボタンのスタイルをテーマできます。
button.secondaryBackground
button.secondaryForeground
button.secondaryHoverBackground
自動更新は有効な拡張機能のみ
現在有効になっている拡張機能のみを自動更新するようにVS Codeを設定できるようになりました。
テーマ: GitHub Light Theme
ターミナル
プロファイルの改善
前回のイテレーションでは、ターミナルプロファイルを導入しました。ターミナルは、terminal.integrated.defaultProfile.<platform>
設定でデフォルトプロファイルを設定することをサポートするようになりました。
環境とアイコンのサポートもプロファイルシステムに追加されました。
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"overrideName": true,
"icon": "terminal-powershell",
"env": {
"TEST_VAR": "value"
}
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell",
今後は、これらの設定がデフォルトのターミナル構成を切り替えるための推奨される方法となり、terminal.integrated.shell
およびterminal.integrated.shellArgs
設定は非推奨となりました。
新しいターミナルピッカー
プロファイルと設定ショートカットは、ドロップダウンから新しい+ボタンのドロップダウンに移動しました。
これにより、デフォルト以外のプロファイルに基づいて新しい分割ターミナルを作成することもサポートされます。
新しいキーバインド
ターミナルには、今回のリリースでいくつかの新しいデフォルトキーバインドがあります。
- 前のターミナルに移動 -
Ctrl+PageUp
(macOSCmd+Shift+]
) - 次のターミナルに移動 -
Ctrl+PageDown
(macOSCmd+shift+[
) - ターミナルタブビューにフォーカス -
Ctrl+Shift+\
(macOSCmd+Shift+\
) - ターミナルタブのプレビュー
いつものように、これらのデフォルトキーバインドは削除したり、キーバインドシステムを介してカスタムキーバインドを追加したりできます。
Linux 選択ペーストコマンド
新しいコマンドworkbench.action.terminal.pasteSelection
は、Linuxで選択クリップボードからターミナルに貼り付けるために利用できます。
ターミナルワークスペースシェルのアクセス許可が変更されました
プロファイルに関連する今後の変更をサポートするために、.vscode/settings.json
にターミナル設定が存在する場合に表示されるプロンプトは削除され、ワークスペース設定の使用をオプトインする設定が優先されました。これは信頼できないワークスペースでは危険な可能性があることに注意してください。
"terminal.integrated.allowWorkspaceConfiguration": true
ワークスペースの信頼がデフォルトで有効になっている場合、これを削除してそのシステムを使用します。
タスク
Tasks 0.1.0 の削除とアップグレード
Tasks 2.0.0 は3年以上利用可能で正常に動作しており、tasks 0.1.0 はその間ずっと非推奨となっていました。Node.jsフリーレンダラーの目標に照らして、tasks 0.1.0 はNode.jsフリーの世界に持ち込まれるのではなく、削除されました。0.1.0タスクを含むフォルダーを開くと、自動的にバージョン2.0.0にアップグレードされます。
ターミナルタブに「タスク」プレフィックスなし
新しいターミナルタブ機能を使用する場合、「タスク」プレフィックスはターミナル名に追加されなくなります。代わりに、タスクは利用可能なスペースを有効活用するために「ツール」アイコンで示されます。
eslint-stylish とのマッチングの改善
$eslint-stylish
問題マッチャーは、複数行の問題をより正確にマッチングします。
デバッグ
ブレークポイントビューの改善
データブレークポイントのアクセスタイプが表示される
データブレークポイントの場合、VS Codeはブレークポイントビューの名前の横にアクセスタイプ(「読み取り」、「書き込み」、または「アクセス」)を表示するようになりました。
例外ブレークポイントのステータス/エラーレポートの改善
例外ブレークポイントの場合、VS Codeはブレークポイントビューに個々の検証ステータスと詳細な理由を表示するようになりました。例外ブレークポイントを検証できない場合(たとえば、条件に構文エラーが含まれている場合)、グレー表示になり、ホバーすると対応するエラーメッセージが表示されます。
その他のUI改善
停止および接続解除コマンドの代替動作
デバッグセッションは通常、デバッグ: 停止およびデバッグ: 接続解除コマンドを使用して停止されます。デバッグセッションのタイプがlaunch
の場合、停止コマンドはセッションを停止するだけでなく、デバッギーも終了します。attach
タイプのデバッグセッションの場合、接続解除コマンドがあり、デバッグを停止し、デバッギーの実行を再開します。
今回のリリースでは、デバッグツールバーからコマンドをトリガーする際にAlt
修飾キーを押すことで、この動作を反転させることができるようになりました。動作を変更すると、launch
タイプのデバッグセッションでデバッギーを実行したままにしたり、attach
タイプのデバッグセッションでデバッギーを終了したりすることができます。デフォルトのコマンドでAlt
キーを使用する以外に、デバッグ: 停止とデバッグ: 接続解除の両方のコマンドに、launch
とattach
の両方のデバッグセッションのコマンドパレットからアクセスすることもできます。
代替動作は、この機能をオプトインしたデバッグ拡張機能でのみ利用できます。
不足しているデバッグ拡張機能のインストールフローの改善
ユーザーがデバッグを開始したいが、デバッグサポートを提供する必要な言語拡張機能(PythonやJavaなど)をインストールしていない場合のフローを改善しました。このような場合、VS Codeは適切な拡張機能をインストールするようにユーザーにプロンプトを表示するようになりました。
コールスタック列の停止インジケーター
VS Codeは、デバッギーが行で停止するたびに、コールスタック列インジケーターをレンダリングするようになりました。これは、プログラムが現在行のどこで停止しているかを特定するのに役立つはずです。
一部の言語でデフォルトでインライン値
VS CodeのデバッガーUIは、ソースコードをステップ実行するときにエディターにインラインで変数値を表示するインライン値をサポートしています。この機能はVS Codeコアの一般的な実装に基づいており、すべての言語に完全に適合するとは限らず、基になるソース言語を理解していないため、誤った値を表示することもあります。これらの理由から、この機能はデフォルトでは有効になっていませんでした。
新しいデバッガー拡張機能APIにより、言語拡張機能が正しいインライン値サポートを提供できるようになり、改善されたインライン値機能がデフォルトで有効になりました。
この機能を有効にするには、debug.inlineValues
設定に新しい(デフォルト)値auto
が追加されました。auto
に設定すると、インライン値は「改善されたインライン値」サポートがある言語に対して自動的に有効になります。
Debugger for Java拡張機能は、APIを採用した最初のデバッガー拡張機能の1つです。下のスクリーンショットでは、Java変数の正確な値が使用箇所のすぐ横に表示されています。
Inline Values support for PowerShell拡張機能を使用すると、PowerShellスクリプトをデバッグしながらインライン値を取得できます。
ブレーク時にデバッグビューを表示
debug.openDebug
設定のデフォルト値がopenOnDebugBreak
になったため、ブレークポイントにヒットするたびに、VS Codeはデバッグビューを開きます。デバッグビューは、最初のセッション開始時にも表示されます。
JavaScript デバッグ
いつものように、変更の完全なリストはvscode-js-debug changelogにあります。
ブレークポイント診断ツールの発見可能性の向上
ヒューリスティックに基づいて、ブレークポイントがバインドされにくい問題をユーザーが抱えている可能性があることを検出した場合、VS Codeはブレークポイント診断ツールを開くことを提案する通知を表示します。
このプロンプトは、その有効性と積極性を実験しているため、最初はユーザーの一部にのみ表示されます。
プライベートクラスフィールドのサポート
プライベートクラスフィールドがデバッガーで表示および検査できるようになりました。
ノートブック
行番号の切り替え
現在のセッションでセルツールバーからセル行番号を一時的に切り替えたり、notebook.lineNumbers
設定を使用してすべてのノートブックの行番号の表示/非表示を変更したりできるようになりました。
ファイルタイプごとのセルツールバーの位置
セルツールバーの位置は、notebook.cellToolbarLocation
設定を介してファイルタイプごとにカスタマイズできるようになりました。たとえば、GitHub Issueノートブックの場合はセルツールバーを右側に配置し、Jupyterノートブックの場合は左側に配置できます。
Markdownセルでの数式サポート
ノートブックMarkdownセル内で数式を使用できるようになりました。
VS Codeは、数式をレンダリングするためにKaTeXを使用します。Markdownセルに数式を埋め込む方法は2つあります。
- 単一のドル記号を使用する:
$...$
。これにより、インライン数式が作成されます。 - 二重ドル記号を使用する:
$$...$$
。これにより、中央揃えのブロック数式が作成されます。
実験的なノートブックマークアップレンダラーAPIを使用して数式サポートを実装しました。このAPIの最終的な目標は、拡張機能がノートブックでのMarkdownのレンダリングを拡張できるようにすることです。
言語
Markdownプレビュータイポグラファーサポート
新しいmarkdown.preview.typographer
設定を使用すると、組み込みのMarkdownプレビューで、スマートクォートと単純なタイポグラフィの置換を有効にできます。
下の例では、(c)
などのMarkdownテキストが、プレビューで著作権記号©
に自動的に置き換えられます。
markdown.preview.typographer
設定はデフォルトで無効になっています。
シェルスクリプトとして認識されるファイルが増えました
.xsession
および.xprofile
ファイル名拡張子を持つファイルは、自動的にシェルスクリプトとして認識されます。
プレビュー機能
ターミナルタブ
ターミナルのタブはプレビュー機能として利用可能であり、次の設定で有効にできます。
"terminal.integrated.tabs.enabled": true
有効にすると、新しいタブビューは、少なくとも2つのターミナルがある場合にのみデフォルトで表示されます。単一のターミナルの場合、タブは次のようにパネルタイトルに「インライン」表示されます。
各タブは、コンテキストメニューからいくつかの操作をサポートしています。
分割およびターミナル終了は、ホバーで利用できます。
新しいタブの動作をエクスプローラーの動作に合わせるように努めてきました。その他の動作をいくつかご紹介します。
- 空白スペースをダブルクリックすると、新しいターミナルが作成されます。
- サッシをダブルクリックすると、タブビューの幅が、すべてのタイトルを切り捨てずに表示する「理想的な」サイズと、アイコンのみを表示する狭いビューの間で切り替わります。
- タブは、
terminal.integrated.tabs.location
設定を使用して左側に移動できます。 - その他のさまざまな構成設定は、
terminal.integrated.tabs
の下で利用できます。
ターミナルステータス
タブとともに、ターミナルのステータスの概念を導入しました。ターミナルには多くのステータスがあり、それぞれがターミナルが一時的に置かれる可能性のある状態を表し、最も重大度の高いステータスがタブの横に表示されます。ステータスアイコンは、タブビューのターミナルタイトルの右側に表示されます。ホバーすると、ステータスの詳細と関連付けられたアクションが表示されます。
今のところ、これらの状態がサポートされています。
- 再起動が必要: 拡張機能がターミナルの環境を変更したい場合、警告アイコンステータスが使用されます。
- 接続解除: ターミナルがプロセスとの接続を失うと、プラグアイコンステータスが使用されます。
- ベル:
terminal.integrated.enableBell
設定でベルが有効になっている場合にベルアイコンが表示され、ターミナルベルがトリガーされます。
タスクの実行ステータスがタブをアクティブ化しなくても一目でわかるように、タスクステータスを近日中にサポートする予定です。
ようこそページウォークスルー
ステップの説明とステップのメインコンテンツの両方でMarkdownを許可するように、[はじめに]ページにコンテンツを配置するためのwalkthroughs
コントリビューションを拡張しました。[はじめに]ページへの拡張機能のコントリビューションは実験的な機能であり、"workbench.welcomePage.experimental.extensionContributions": true,
で有効にできます。
下の短いビデオでは、Luna Paint拡張機能についてユーザーに教えるためのウォークスルーの例を示しています。
アクティビティバーとパネルのカスタムホバーサポート
このマイルストーンでは、アクティビティバーとパネルのカスタムホバーの実験的サポートを追加しました。workbench.experimental.useCustomHover
設定を使用してカスタムホバーを有効にできます。
テーマ: GitHub Light Theme 製品アイコンテーマ: Fluent Icons
リモートリポジトリ (RemoteHub)
このリリースの一部として、新しい組み込み拡張機能であるRemote Repositories (RemoteHub)のプレビューを開始しました。これにより、リポジトリをローカルにクローンしたり持ったりすることなく、VS Code内から直接GitHubリポジトリを即座にブラウズ、検索、編集、コミットできます。現在、VS CodeのInsidersエディションでのみ利用可能です。
はじめに
開始するには、コマンドパレットからリモートリポジトリを開く...コマンドを実行します。そこから、任意のGitHub URLを貼り付けるか、特定のリポジトリまたはプルリクエストを検索するように選択できます。
テーマ: Amethyst Dark Theme
URLを入力するか、リポジトリまたはプルリクエストを選択すると、VS Codeはそのリポジトリの新しいワークスペースを開きます。ステータスバーの左側にあるリモートステータスインジケーターは、接続されているリモートプロバイダー名(リモートリポジトリの場合はGitHubなど)を示します。
テーマ: Amethyst Dark Theme
機能
- リポジトリをクローンしたり、ローカルにリポジトリを持ったりすることなく、任意のGitHubリポジトリを即座に開きます。
- 任意のGitHubリポジトリを簡単に編集して貢献できます - 変更をGitHubに直接コミットしたり、プルリクエストを開いたりできます。
- 別の環境で続行 - 別の環境で続行...コマンド(コマンドパレットまたはリモートインジケータークイックピッカーメニューからアクセス可能)を使用します。
- リポジトリをローカルにクローンする
- リポジトリをコンテナにクローンする - Dev Containers拡張機能が必要です
- ローカルリポジトリでの作業と同様の使い慣れたユーザーインターフェースを提供します(*以下の「制限事項」を参照)。
- エクスプローラー - ファイルとフォルダーを開く、コピー、移動、名前変更、削除
- 検索 - 高速な全文検索*
- ソース管理 - 変更をステージングおよびコミットしたり、他の多くのソース管理アクションを実行したりできます
- タイムラインビュー - 差分サポート付きのファイル履歴を表示
- クイックオープン - 開くファイルをすばやく見つける
- リモートインジケーター - リモートリポジトリが接続されているプロバイダー(例: GitHub)を表示
- 異なるブランチで同時に作業する - 各リモートブランチは個別のワークツリー(Git用語)として扱われます。つまり、行った変更はそのブランチに分離されます。PRをチェックアウトしたり、新しい作業項目を開始したりするために新しいブランチに切り替えるためだけに、変更を一時退避する必要はありません。前のブランチに戻ると、変更はまだそこにあります。
- GitHub Pull Requests and Issues拡張機能をインストールし、プルリクエストをすばやく表示、探索、チェックアウトし、issueを表示して作業を開始します。
制限事項
- 制限された言語インテリジェンス - 多くの言語サーバーは、まだこの仮想化された環境を理解していません。TypeScriptは、リモートリポジトリの単一ファイルインテリジェンスをサポートしています。
- 制限された拡張機能サポート - 言語サーバーと同様に、多くの拡張機能はリモートリポジトリでは動作しません。拡張機能はオプトアウトでき、仮想ワークスペースではアクティブ化されません。詳細については、以下の拡張機能の作成セクションを参照してください。
- 検索 - 全文検索には、正確なテキストマッチングのための事前構築されたインデックスが必要です。それ以外の場合は、GitHubのファジーデフォルトブランチのみのネイティブ検索にフォールバックします。
- ターミナル - サポートされていません。開いているターミナルはすべてローカルファイルシステム上にあります。
- デバッグ - サポートされていません。
- タスク - サポートされていません。
ご意見をお聞かせください
Remote Repositories (RemoteHub)をぜひお試しいただき、ご意見やフィードバックをお待ちしております。私たちはこの旅を始めたばかりですので、開発を続けるにつれて、機能セットが拡大し、制限事項が縮小することを期待してください。また、サポートされるプロバイダーのセットも拡大していきます。GitHubは、私たちがサポートしている最初のプロバイダーであり、Azure Reposが間もなく登場します。
TypeScript 4.3
このリリースでは、今後のTypeScript 4.3リリースに対するサポートが引き続き改善されています。TypeScript 4.3の新機能と改善点については、TypeScriptブログをご覧ください。以下は、TypeScript 4.3で有効になるエディターの改善点の一部です。
override
のサポート。override
キーワードを追加するためのクイックフィックスもあります。- インポートステートメントの補完。これは自動インポートのようなものですが、インポートステートメント自体に入力しています。
- JSDoc
@link
タグのサポート。
TypeScript 4.3ナイトリービルドの使用を開始するには、TypeScript Nightly拡張機能をインストールするだけです。フィードバックを共有し、TypeScript 4.3でバグが発生した場合はお知らせください。
ワークスペースの信頼
前回のマイルストーンのリリースノートでは、拡張機能作成者向けのワークスペースの信頼に関する作業を共有しました。拡張機能APIとユーザーエクスペリエンスの両方で、このマイルストーンで大きな進歩を遂げました。そうは言っても、ワークスペースの信頼はこのリリースでは無効のままになりますが、ぜひ試してみてフィードバックを提供してください。
security.workspace.trust.enabled
設定で機能を有効にできます。有効にすると、VS Codeでフォルダーを開くときに次のダイアログが表示されます。
このダイアログは、ユーザーが早期に決定を下し、決定の影響を理解できるようにするために重要です。機能を理解したら、security.workspace.trust.startupPrompt
設定を使用して、ダイアログを表示するタイミングをカスタマイズできます。
ワークスペースの信頼の開発をフォローし、issue #106488でフィードバックを提供できます。
拡張機能への貢献
リモート開発
Remote Development extensions(リモート開発拡張機能)の作業が継続されています。これにより、コンテナ、リモートマシン、またはWindows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
1.56の機能ハイライトには、以下が含まれます。
- コンテナボリュームにリポジトリをクローンするときの新しいボリュームビュー。
- リモートに接続されている場合のローカルターミナルの警告。
- Dev Containers拡張機能で開始するときにDocker Desktopをインストールするプロンプト。
新しい拡張機能の機能とバグ修正については、Remote Development release notes(リモート開発リリースノート)をご覧ください。
GitHub Pull Requests and Issues
GitHub Pull Requests and Issues拡張機能の作業が継続されています。これにより、プルリクエストとissueの作業、作成、管理を行うことができます。
すべての新機能と更新の詳細については、拡張機能のchangelog for the 0.26.0リリースをご覧ください。
拡張機能の作成
拡張機能が仮想ワークスペースをサポートするかどうかを定義する
新しいRemote Repositories拡張機能を使用すると、GitHubから直接コンテンツを含むフォルダーを開くことができます。これは、仮想ファイルシステムを提供し、その上にワークスペースを開くことによって行われます。他の拡張機能も同様です。ftpサーバー、クラウドストレージ、またはデータベースからコンテンツを提供し、これらをVS Codeのユーザーにファイルとしてシームレスに提供します。
仮想ファイルシステム機能はしばらくの間存在していましたが、すべての拡張機能がワークスペースファイルがディスク上に物理的に存在しない仮想ワークスペースでの実行をサポートできるわけではないことがわかりました。このため、拡張機能が仮想ワークスペースでの実行をサポートするかどうかを通知するためのサポートを追加しました。拡張機能がオプトアウトした場合、仮想ワークスペースに対してVS Codeによってアクティブ化されず、ユーザーはこの拡張機能からのエラーが表示されなくなります。
拡張機能は、以下に示すようにpackage.json
で仮想ワークスペースのセットアップをオプトアウトします。
{
"capabilities": {
"virtualWorkspaces": false
}
}
目標は、できるだけ多くの拡張機能が仮想ワークスペースでの実行をサポートすることです。ただし、特に拡張機能がファイルが物理的に存在することを前提とするコンポーネントを使用している場合は、常に可能であるとは限りません。Virtual Workspaces guide(仮想ワークスペースガイド)は、拡張機能が仮想ワークスペースをサポートする方法を文書化しています。
行動喚起: 拡張機能が仮想ワークスペースを処理できるかどうかを確認し、package.json
でvirtualWorkspaces
機能を適宜設定してください。
拡張機能が新しいvirtualWorkspaces
プロパティを採用するまで、移行期間があります。それまでは、virtualWorkspaces
機能をfalse
に設定する必要があると思われる拡張機能の内部リストを管理します。これは、拡張機能がNode.js fs
モジュールを使用しているかどうか、したがってファイルシステムに直接アクセスしているかどうかを分析に基づいて行われました。ただし、拡張機能の作成者は、拡張機能がvirtualWorkspaces
機能をサポートしているかどうかを評価するのに最適な立場にあります。採用状況を追跡するために、次の追跡 issue #122836を作成しました。拡張機能がリストにあり、virtualWorkspaces
機能を導入している場合は、上記のissueにコメントを追加してください。
リモートインジケーターメニュー
拡張機能は、リモートインジケーターメニューにコントリビュートできるようになりました。
statusBar/remoteIndicator
メニューコントリビューションポイントは、リモートインジケーターメニューにコマンドを追加します。
"contributes": {
"menus": {
"statusBar/remoteIndicator": [
{
"command": "remote-wsl.newWindow",
"when": "!remoteName && isWindows",
"group": "remote_10_wsl_0_local@1"
}
]},
"commands": [
{
"command": "remote-wsl.newWindow",
"title": "New WSL Window",
"category": "Remote-WSL"
}
]
}
メニューがプロバイダーに基づいてエントリをソートできるようにするには、group
が特定の構文に従う必要があります。
リモートからのコマンドの場合: remote_${orderOfGroups}_${remoteName)_${internalGrouping}@${orderInGroup}
仮想ファイルシステムからのコマンドの場合: virtualfs_${orderOfGroups}_${fileScheme)_${internalGrouping}@${orderInGroup}
orderOfGroups
は、グループをソートするために使用される2桁の数字ですremoteName
は、remoteAuthorityの最初の部分です (wsl, ssh, ...)fileScheme
は、仮想ファイルシステムのURIスキーマですinternalGrouping
は、各コントリビューションで自由に使用できますorderInGroup
は、グループ内のエントリをソートするために使用されます
例: remote_10_wsl_1-open@1
ほとんどのwebviewでiframeが使用されるようになりました
webview APIが最初に導入されて以来、Electronのwebviewタグを使用してwebviewを実装してきました。ただし、Webでは、VS Codeのwebviewは、<webview>
が利用できないため、代わりに標準の<iframe>
要素を使用して実装されています。
デスクトップ版のVS Codeを<iframe>
ベースのwebviewを使用するように移行することをしばらく検討してきました。この変更により、拡張機能はデスクトップとWebの間でより一貫性のあるwebview環境を提供できるようになります。<webview>
からの移行は、Electronサンドボックス化の取り組みにも役立ちます。
今回のイテレーションでは、ほとんどのwebviewをiframeを使用するように切り替えました。<webview>
タグは、検索ウィジェットを有効にするwebviewにのみ使用されるようになり、もう少しエンジニアリング作業を行った後、iframeを使用するように移行する予定です。
この変更によって問題が発生することはありませんが、<iframe>
要素と<webview>
要素の動作が異なるコーナーケースがいくつかあります。拡張機能を簡単にテストして、すべてが期待どおりに動作することを確認してください。
webviewの検査が容易になりました
<iframe>
ベースのwebviewの明確な利点の1つは、検査がはるかに簡単になったことです。
以前にwebviewを操作したことがある場合は、webviewの内容を検査するために開発者: Webview開発者ツールを開くコマンドを使用する必要があったことを覚えているかもしれません。これにより、webview専用の新しい開発者ツールパネルが開きます。
<iframe>
ベースのwebviewを使用すると、代わりにVS Codeの標準開発者ツール (開発者: 開発者ツールを切り替える) を使用してwebviewを検査できます。
これにより、複数のwebviewを簡単に検査できます。また、webviewが消えても、開発者ツールは閉じなくなりました。
さらに、webview内で発生する例外とコンソールメッセージが、トップレベルの開発者ツールコンソールに出力されるようになりました。
また、開発者ツールを使用して、webviewのコンテキストで式を評価することもできます。開発者: 開発者ツールを切り替えるを使用してVS Code開発者ツールを開いた後、コンソールを開き、コンテキストセレクターからwebviewのactive-frame
を選択します。
全体として、VS Codeの標準開発者ツールを使用できることで、webviewの開発エクスペリエンスが向上するはずです。
CodeActionTriggerKind
CodeActionContext
の新しいtriggerKind
プロパティは、CodeActionProvider
からコードアクションが要求される理由を追跡します。このプロパティの可能な値は次のとおりです。
Invoke
- コードアクションは、キーボードショートカットまたはコマンドのいずれかで、明示的に要求されました。Automatic
- コードアクションは、明示的なユーザーアクションなしで要求されました。これには、ドキュメントの内容が変更されたときにコードアクションを要求することが含まれます。
プロバイダーは、triggerKind
を使用して、コードアクションが要求される方法に応じて、さまざまな結果のセットを返すことができます。たとえば、自動的にトリガーされるリファクタリングコードアクションプロバイダーは、コードアクションライトバルブが表示される頻度を制限するために、現在の選択範囲と完全に一致するリファクタリングのみを返す場合があります。ただし、コードアクションが明示的に要求された場合、同じプロバイダーは、ユーザーが現在の場所に関心を持つ可能性のあるすべてのリファクタリングを表示するために、現在の選択範囲を自動的に展開する場合があります。
更新されたcodicon
次の新しいアイコンをcodiconライブラリに追加しました。
arrow-swap
copy
debug-line-by-line
filter-filled
person-add
terminal-bash
terminal-cmd
terminal-debian
terminal-linux
terminal-powershell
terminal-tmux
terminal-ubuntu
wand
キーバインドラベルの色
コマンドに関連付けられたキーバインドがある場合、キーバインドラベルが表示されます。キーバインドラベルの使用例には、以下が含まれます(ただし、これらに限定されません)。
- コマンドパレット
- キーボードショートカットエディター
- キーボードショートカットレコーダーモーダル
- 拡張機能のマーケットプレイスページの「機能コントリビューション」セクション
次のカスタマイズが利用可能です。
keybindingLabel.background
: キーバインドラベルの背景色。キーバインドラベルは、キーボードショートカットを表すために使用されます。keybindingLabel.foreground
: キーバインドラベルの前景色。キーバインドラベルは、キーボードショートカットを表すために使用されます。keybindingLabel.border
: キーバインドラベルのボーダー色。キーバインドラベルは、キーボードショートカットを表すために使用されます。keybindingLabel.bottomBorder
: キーバインドラベルのボトムボーダー色。キーバインドラベルは、キーボードショートカットを表すために使用されます。
ワークスペースの信頼拡張機能API
前回のマイルストーンでは、ワークスペース信頼と呼ばれる機能について取り組んできたことをお伝えしました。拡張機能の作者の皆様には、issue #120251 での更新情報を注視していただくようお願いしており、引き続きお願いしております。以下の情報と更新も、その issue でご確認いただけます。
今回のマイルストーンでは、ワークスペース信頼拡張機能 API を提案から安定版に移行しました。これにより、ワークスペース信頼に拡張機能をオンボーディングするためのガイドの最初の草案をリリースすることができました。API は小さいので、簡単に見ていきましょう。
package.json
の untrustedWorkspaces
機能を使用して、信頼されていないワークスペースで完全、部分的、または非サポートを提供するために拡張機能を宣言できます。
次の例では、拡張機能が信頼されていないワークスペースで完全にサポートされていることを宣言しています。この場合、拡張機能は信頼されていないワークスペースで有効になります。
"capabilities": {
"untrustedWorkspaces": {
"supported": true
}
}
次の例では、拡張機能が信頼されていないワークスペースでサポートされていないことを宣言しています。この場合、拡張機能は信頼されていないワークスペースで無効になります。
"capabilities": {
"untrustedWorkspaces": {
"supported": false
}
}
3 番目のオプションは、limited
サポートを宣言することです。limited
オプションを選択すると、3 つのツールが提供されます。
まず、ワークスペースで構成できる設定があり、ワークスペースの値を適用するにはワークスペースが信頼されている必要がある場合、untrustedWorkspaces
オブジェクトの restrictedConfigurations
配列プロパティを使用して設定を含めることができます。そうすることで、VS Code は、拡張機能が VS Code ワークスペース構成 API を使用してこれらの設定値を読み取るときに、これらの制限された設定のワークスペース値を無視します。
次の例では、信頼されていないワークスペースで制限される設定を宣言しています。
"capabilities": {
"untrustedWorkspaces": {
"supported": "limited",
"restrictedConfigurations": [
"markdown.styles"
]
}
}
次に、現在のワークスペースが信頼されているかどうかをプログラムで確認およびリッスンすることもできます。次の API を使用します。
export namespace workspace {
/**
* When true, the user has explicitly trusted the contents of the workspace.
*/
export const isTrusted: boolean;
/**
* Event that fires when the current workspace has been trusted.
*/
export const onDidGrantWorkspaceTrust: Event<void>;
}
最後に、when 句で isWorkspaceTrusted
コンテキストキーを使用して、コマンドまたはビューを宣言的に非表示にすることもできます。
アクションのお願い: issue #120251 の「ワークスペース信頼拡張機能ガイド」を確認し、拡張機能に適した untrustedWorkspaces.supported
値を設定してください。
提案された拡張機能API
すべてのマイルストーンには、新しい提案された API が付属しており、拡張機能の作者はそれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案された API を試すために行う必要があることは次のとおりです。
- 提案された API は頻繁に変更されるため、Insiders ビルドを使用する必要があります。
- 拡張機能の
package.json
ファイルに"enableProposedApi": true
という行が必要です。 - vscode.proposed.d.ts ファイルの最新バージョンをプロジェクトのソースの場所にコピーします。
提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的な変更が発生する可能性があり、既存の拡張機能を破壊することは決して望んでいません。
ネイティブノートブック
ネイティブノートブック API の大部分を最終決定に向けて準備しています。数多くの小さな調整と、いくつかの大きな変更も行いました。
ノートブックシリアライザー
NotebookSerializer
API を追加しました。これは、「バイト」を NotebookData
に、またはその逆に変換する簡単な方法を提供します。この API を実装すると、ノートブックは、バックアップ、元に戻す、ダーティステートなどの機能を無料で利用できます。拡張機能の作者は、この新しい API を採用し、以前のコンテンツプロバイダーベースの API を使用しないことをお勧めします。
ノートブックコントローラー
ノートブックコントローラー API は、カーネルプロバイダー API に代わるものです。ノートブックコントローラーは、ノートブックの実行エンジンを提供し、ノートブックの出力を生成します。ノートブックは、複数のコントローラーを提供することも、何も提供しないこともでき、VS Code ではユーザーがコントローラーを選択できます。代わりに、拡張機能は、ドメインモデルの要求に応じて、コントローラーを自由に作成、変更、および削除できます。
ノートブックセルステータスバー
NotebookCellStatusBarItemProvider
API は、createCellStatusBarItem
メソッドに代わるものです。これにより、拡張機能は、ラベル、アイコン、およびコマンド付きの項目を、すべてのセルエディターの下部にあるステータスバーに提供できます。これは、他の多くの VS Code 拡張機能 API と同じプロバイダーパターンに従います。
テスト
今月は新しいテスト API のサブセットを最終決定する予定でしたが、改良に重点を置き、最終決定を来月に延期しました。issue #122208 で追跡されています。今回のイテレーションで行われた API の変更は主に次のとおりです。
TestProvider
はTestController
に名前が変更され、そのメソッドもそれに応じて名前が変更されました。TestItem
は、vscode.test.createTestItem
によって呼び出される管理オブジェクトになりました。- テスト結果は、標準の
vscode.test.createTestResults
メソッドを通じて作成されるようになり、TestController.runTests
の内外から呼び出すことができます。
これらの変更により、未加工のテスト出力を表示する機能や、拡張機能がテストのロードエラーを示す機能など、いくつかの追加機能が追加されました。これらの変更は、今後の追加機能の強固な基盤を提供し、既存の拡張機能 API により緊密に沿ったものになると考えています。
また、既存の Test Explorer UI 拡張機能で動作する任意のアダプターがネイティブ VS Code テストに自動的にプラグインできるようにする Test Adapter Converter 拡張機能も作成しました。コンバーター拡張機能は現在手動でインストールできますが、間もなく Test Explorer UI と統合され、既存のユーザーとアダプターがネイティブテストにシームレスに移行できるようになります。
ウェブビューとの間での ArrayBuffer の転送の改善
現在のバージョンの VS Code では、型付き配列をウェブビューとの間で送受信する場合、いくつかの癖があります。
UInt8Array
などの型付き配列は、非常に非効率的にシリアル化されます。これにより、数メガバイトのデータを転送する必要がある場合にパフォーマンスの問題が発生する可能性があります。- 送信された型付き配列は、受信側で正しい型として再作成されません。
UInt8Array
を送信すると、受信者は代わりにUInt8Array
のデータ値を持つ汎用オブジェクトを取得します。
これらの問題はどちらもバグですが、既存の動作に依存する拡張機能を破壊する可能性なしに修正することもできません。同時に、新しく作成された拡張機能が現在の紛らわしく非効率的な動作を望む理由はまったくありません。
したがって、既存の拡張機能については既存の動作を維持したまま、新しい拡張機能をより正しい動作にオプトインさせることにしました。これは、拡張機能の package.json
の engines
を調べることによって行われます。
"engines": {
"vscode": "^1.57.0",
}
拡張機能が VS Code 1.57 以降をターゲットにしている場合、型付き配列は受信側で再作成され、ウェブビューとの間での大きな型付き配列の転送がはるかに効率的になるはずです。
この動作をテストして、期待どおりに動作しない場合、または既存のコードに予期しない回帰が発生する場合はお知らせください。
TerminalOptions.message
この新しい提案により、拡張機能はプロセスが起動する前にターミナルにメッセージを表示できます。
vscode.window.createTerminal({
message: '\x1b[3;1mSome custom message\x1b[0m'
});
デバッグアダプタープロトコル
例外ブレークポイントが通常のブレークポイントとより適切に連携
setExceptionBreakpoints
リクエストは、オプションで他の set*Breakpoints
リクエストと同様に Breakpoint
の配列を返すことができるようになりました。これにより、クライアントは個々の例外ブレークポイントまたはフィルターの検証エラーメッセージを表示できます。今回のリリース以降、VS Code はこれらのエラーをブレークポイントビューに表示します。
再起動リクエストがデバッグ構成の変更を反映可能に
restart
リクエストは、新しいオプションパラメーター arguments
を取るようになり、クライアントは起動またはアタッチ構成の最新バージョンを渡すことができます。この追加により、デバッグアダプターは、デバッグ構成からの最新の値でセッションを再起動できます。
デバッガーを切断し、デバッグ対象を中断状態のままにする
disconnect
リクエストは、デバッグセッションを終了し、デバッグ対象の実行を続行するか、終了するために使用されます。デバッガーが切断された後、デバッグ対象を中断状態に保つための新しいオプションがあります。これにより、新しいセッションでデバッグを再開することが可能になります。
この機能を実装するデバッグアダプターは、supportSuspendDebuggee
機能を使用してそのサポートを発表する必要があります。クライアントは、新しいオプション引数 suspendDebuggee
を disconnect
リクエストに渡すことで、この機能を使用できます。
エンジニアリング
Electron 12 のアップデート
今回のマイルストーンでは、Electron 12 を VS Code にバンドルする調査を完了しました。Insiders でのテストとセルフホスティングにご協力いただいた皆様に感謝いたします。これは Electron のメジャーリリースであり、Chromium 89.0.4389.114 および Node.js 14.16.0 が付属しています。
Electron サンドボックスの進捗状況
今回のマイルストーンでは、Electron の サンドボックス および コンテキスト分離 機能を有効にする準備を VS Code ウィンドウに対して継続的に行いました。
具体的には
- サンドボックス化されたレンダラーで VS Code ウィンドウにアクセスするために必要なすべての環境プロパティを変更しました。
- 可能な特定のケースで
iframe
を選択的に有効にすることにより、カスタムエディターのwebview
の代わりにiframe
要素に切り替えることを検討しています。 - レンダラーにあるネイティブモジュールまたは Node.js 要件の一部を他のプロセスに移動するか、完全に削除することができました。
windows-process-tree
をコンテキスト対応にしました。
サービスワーカーがウェブビューでリソースをロードするために使用されるようになりました
デスクトップ版 VS Code では、ウェブビューはサービスワーカーを使用してローカルリソースをロードするようになりました。ウェブ版 VS Code は常にサービスワーカーを使用していましたが、以前のデスクトップ版 VS Code は Electron プロトコル を使用していました。
デスクトップバージョンでサービスワーカーを使用することで、デスクトップとウェブの間でウェブビューの動作をより適切に調整できます。また、いくつかの厄介なバグを修正し、約 1000 行のコードを削除することができました。
この変更は、ほとんどのウェブビュー拡張機能には影響を与えないはずですが、いくつかのエッジケースで問題が発生する可能性があります。
-
ウェブビューがリソースをロードする方法について仮定する拡張機能
拡張機能が
vscode-webview-resource:
プロトコルを直接使用していたり、リソース URI に関する他の仮定をハードコーディングしていたりすると、機能しなくなる可能性があります。代わりに、リソースの URI を作成するには、常に
.asWebviewUri
を使用するようにしてください。また、返される URI の形式は将来変更される可能性があることに注意してください。 -
iframe の
src
をディスク上の HTML ファイルを指すように設定する拡張機能サービスワーカーはこのリクエストを確認できないため、サポートされなくなりました。これはすでにウェブの場合に当てはまっており、このパターンは一般的ではないと考えています。
推奨される修正方法は、iframe を使用せず、代わりに HTML ファイルの内容をウェブビューにインライン化することです。
コードベースで暗黙的なオーバーライドが無効になりました
今後の TypeScript 4.3 リリースでは、サブクラスのメソッドがスーパークラスのメソッドをオーバーライドすることをコンパイラーに伝える新しい override キーワード が導入されます。また、スーパークラスのメソッドをオーバーライドするすべてのメソッドで override
キーワードを使用する必要がある新しい --noImplicitOverride
フラグもあります。
class Foo {
foo() {...}
}
class SubFoo extends Foo {
foo() { ... } // Error when noImplicitOverride is enabled: missing override specifier
}
override キーワードにはいくつかの利点があります。
-
コードを読んでいるときに、メソッドが基本クラスからオーバーライドされていることを警告します。
-
基本クラスに存在しないメソッドをオーバーライドしようとするとエラーになります。これは、基本クラスでメソッドの名前を変更したが、サブクラスでメソッド名を更新するのを忘れた場合に発生するエラーをキャッチするのに役立ちます。
今回のイテレーションでは、コードベースで override キーワードを採用し、コア VS Code とすべての組み込み拡張機能の両方で --noImplicitOverride
を有効にしました。この作業の大部分を自動化しましたが、この変更は、コードがプロパティを誤って再宣言していたり、継承パターンが不明確であったりするいくつかのケースをキャッチするのに役立ちました。
この新しい厳密性ルールは、将来、一般的なプログラミングミスをキャッチするのにも役立つはずです。
Windows インストーラーが Windows パッケージマネージャーに統合
Windows パッケージマネージャー パブリッシングパイプラインを更新して、arm64
用のユーザーおよびシステムインストーラーを公開し、v1 パッケージマニフェストスキーマ を採用しました。これにより、x86
、x64
、および arm64
用のユーザーおよびシステムインストーラーを単一のマニフェストに統合できます。ユーザーは、パッケージを インストール する際、または winget CLI 設定 を使用する際に、--scope
パラメーターを使用してユーザーインストーラーとシステムインストーラーを選択できます。
ドキュメント
入門ビデオの更新
VS Code の 入門ビデオ が更新されました。ビデオの範囲は、はじめに や 拡張機能の使用 から、デバッグ や バージョン管理 などの VS Code の機能にまで及びます。
新しい C++ ビデオ
C++ 拡張機能 チームが、IntelliSense の構成、C++ プロジェクトのビルドとデバッグの方法を説明する一連の 入門ビデオ を作成しました。
VS Code の背後にあるストーリーとテクノロジー
VS Code の歴史と基盤となるテクノロジーについては、VS Code エンジニアの Ben Pasero への このインタビュー で読むことができます。Ben は、VS Code の初期の頃や、macOS、Windows、Linux で VS Code を実行できるようにするアプリケーションフレームワークとして Electron を使用することについて語っています。
パートナー拡張機能
Azure Machine Learning
Azure Machine Learning 拡張機能を使用すると、機械学習ワークフロー用の強力なクラウドコンピューティングリソースを作成および管理できます。リモート機能を使用すると、安全で監査可能、かつ準拠した方法でコンピューティングリソースにシームレスに 接続 できます。
注目すべき修正
- 108559: RunInTerminal がワークスペース設定バグから指定された統合ターミナルを使用しない
- 118282: デバッガーステップオーバーが skipFiles に入る
- 118731: ブラウザウィンドウとタブを非同期的に開くときに Safari のポップアップブロッカーを回避する方法を調査する
- 119340: 未キャッチの例外ブレークポイントが有効になっている場合、デバッグなしで実行が終了しない
- 121347: バックアップから復元するとファイルが文字化けする
- 119059: カスタムテキストエディター: バックアップを復元すると 2 つのエディターが開く
- 120245: CSS:
!important
補完が壊れている - 120393: webgl コンテキストロスの処理を改善する
- 120435:
emmet.extensionsPath
の有効なパスチェックを削除する - 120882: エクスプローラーにファイルを貼り付けても、エディターでそのファイルが開かなくなった
- 121148: デバッグドロップダウンに重複した起動構成が表示される
- 120277: ファイル検索ペインの水平スクロールバーが小さすぎて、スクロール方向が間違っている
謝辞
最後になりましたが、今月 VS Code に貢献してくださった以下の皆様に心から感謝申し上げます。
Issue トラッキングへの貢献
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Don Jayamanne (@DonJayamanne)
- Simon Chan (@yume-chan)
- T.Y.M.SAI (@tymsai)
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
vscode
への貢献
- @akosyakov (Anton Kosyakov): ターミナルの作成と初期サイズ変更の間の競合を修正 PR #121272
- @alanrenmsft (Alan Ren): 必要なノードハンドルを見つける際の問題を修正 PR #118091
- @alexmyczko (Alex Myczko): debian control description を改善 PR #119160
- @aliasliao (Liao Jinyuan): html ファイルで誤った候補が昇格される emmet の問題を修正 PR #120480
- @andrewbranch (Andrew Branch)
- [typescript-language-features] TypeScript 4.3 のインポート文補完をサポート PR #119009
- [html-language-features] 4.3 プロトコルの TS 言語サービス呼び出しを更新 PR #120362
- [typescript-language-features] インポート文補完のテレメトリを追加 PR #121243
- 隣接する @ts-expect-error による Previewer.plain 呼び出しのミスを修正 PR #121975
- @anthony-c-martin (Anthony Martin): seti-ui ファイルアイコンを更新 PR #119468
- @arnobl (arno): fix(notebook): セルの再作成でセルが再選択されない問題を修正 PR #120086
- @awilkins (Adrian Wilkins): Linux 上の統合ターミナルに選択範囲貼り付けを実装 PR #108397
- @benmccann (Ben McCann): コメントの問題番号を修正 PR #121758
- @bourdakos1 (Nick Bourdakos): seti アイコンを更新 PR #120938
- @CanadaHonk
- [themes] ハイコントラストブラックのデフォルトテーマの JSON 形式を修正 PR #120761
- [themes] ハイコントラストブラックのデフォルトテーマの JSON 形式を修正 (2) PR #120815
- [themes] ハイコントラストブラックのデフォルトテーマの JSON 形式を修正 (3) PR #120841
- @conwnet (netcon): fix: エディターが読み取り専用の場合のみ textarea dom に readonly 属性を追加 PR #120503
- @gjsjohnmurray (John Murray)
- fix #120485 タイムラインプロバイダーがない場合、エクスプローラーのコンテキストメニューから
タイムラインを開く
を非表示にする PR #120497 - fix-120578 停止していない場合はコールスタックのステップイン/オーバー/アウトを提供しない PR #120581
- fix #121509 2 つの API コマンド結果のドキュメントエラー PR #121511
- fix #120485 タイムラインプロバイダーがない場合、エクスプローラーのコンテキストメニューから
- @hantatsang (Sang)
- markdown-language-features: Windows プレビューリンク URI を修正 PR #120090
- emmet 自己終了略語サポートを追加 PR #120311
- @jeanp413 (Jean Pierre)
- scss での emmet 補完を修正 PR #118666
- 問題パネルが
files.exclude
オプションを無視する問題を修正 PR #119040 - シンプルなブラウザーアイコンが firefox で壊れている問題を修正 PR #120275
- 分割設定エディター JSON で水平スクロールバーが狭すぎる問題を修正 PR #121027
- 特殊文字 '#', '%' または '?' を含む画像をプレビューできない回帰を修正 PR #121874
- @Jolg42 (Joël Galeran): npm 拡張機能をリファクタリングして npm のみを使用するように変更 PR #120317
- @joyceerhl (Joyce Er): ノートブック markdown セルの不足している padding-bottom を追加 PR #122505
- @KapitanOczywisty: PHP 文法を更新 PR #120339
- @Kingwl (Wenlu Wang): 次/前の競合を追加 PR #97613
- @leemun1 (Mike Lee): feat: markdown 用の追加の周囲のペアのサポートを追加 (#_119982) PR #121698
- @lf- (Jade): 拡張機能構成スキーマの検証エラーのレポートを改善 PR #120457
- @limitedmage (Juliana Peña): suggestWidget の表示と非表示の競合状態を修正 PR #121396
- @LuisPeregrinaIBM2: wsl -l -q, ヘッダーとデフォルトマークを削除 PR #120382
- @nan0tube (Yongming Lai): 一般的にソースが設定されているファイルを shellscript として認識 PR #121373
- @plainerman (Michael Plainer): 無効になっている拡張機能の自動更新を無効にするサポートを追加 PR #113155
- @PooyaZv (Pooya Vakeely): cuda-cpp lang id、文法、および問題マッチャーを追加
PR #119444 - @qchateau (Quentin Chateau): format modified: 空白文字の変更を含む行をフォーマット PR #119021
- @sdegutis (Steven Degutis): エラーメッセージをより明確にする PR #121339
- @sokolovstas (Stanislav): eslint-stylish 問題マッチャーのファイルロケーションパターンを修正 PR #117576
- @solomatov (Konstantin Solomatov): ext host IPC タイムアウトの場合に終了 PR #122399
- @stoyannk (Stoyan Nikolov): extensio のプロファイルを引き起こした間違った変数名のシャドウイングを修正… PR #120054
- @timmaffett (Tim Maffett): ほとんどの ANSI SGR コードのデバッグコンソールサポートを修正および拡張 PR #120891
- @vinku: Emmet: スクリプトタグで次/前の項目を選択が機能しない問題を修正 PR #118842
- @wdesgardin (William Desgardin): feat: markdown プレビューにタイポグラファーオプションを追加 PR #119641
- @yannickowow (Yanis HAMITI): 「ブレークポイント」ビューに現在のデータブレークポイントアクセスタイプを表示 (#_119588) PR #119817
vscode-eslint
への貢献
- @JoshuaKGoldberg (Josh Goldberg): eslint.rules.customizations を実装 - オーバーライド付き PR #1164
vscode-json-languageservice
への貢献
- @KapitanOczywisty
- @mifieldxu (Mifield): minimatch を使用した glob マッチングの改善 PR #93
- @ssbarnea (Sorin Sbarnea): 依存関係をアップグレード PR #95
vscode-vsce
への貢献
debug-adapter-protocol
への貢献
- @jarpoole (Jared Poole): ESP-IDF デバッグアダプター PR #190
- @vadimcn: JSON スキーマへの直接参照を追加 PR #185
vscode-js-debug
への貢献
- @millerds (Darren Miller): String support chakracore PR #979
- @swissmanu (Manuel Alabor): CDP プロキシ: 他の拡張機能が CDP 接続を再利用できるようにする PR #964
vscode-generator-code
への貢献
- @felipecrs (Felipe Santos): 検索結果から dist フォルダーを非表示にする PR #260
- @miles-crighton (Miles Crighton): fix: トークン検査コマンドを更新 PR #249
- @noah-vdv (Noah van der Veer): 162 行目の 'orther' のタイプミスを修正 PR #255