2021年4月(バージョン1.56)
アップデート1.56.1:このアップデートは、これらのセキュリティ問題に対処します。
アップデート1.56.2:このアップデートは、これらの問題に対処します。
ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | Linux: deb rpm tarball Arm snap
Visual Studio Code 2021年4月リリースへようこそ。VS Codeチームは今月、いくつかのリードタイムの長いアップデートに忙しく取り組んできたので、プレビュー機能セクションで今後の機能について確認してください。このリリースに含まれる主なハイライトは次のとおりです
- 改善されたホバーフィードバック - クリック可能なエディターアクションをすばやく見つけるのに役立ちます。
- ターミナルプロファイルの改善 - カスタムのデフォルトターミナルプロファイルを作成します。
- デバッガーのインライン値 - デバッグセッション中に変数の値をインラインで表示します。
- ノートブックのKaTeXサポート - ノートブックのMarkdownセルでの数学サポート。
- 開発コンテナのボリュームビュー - Dockerコンテナ内のマウントされたボリュームを管理します。
- wingetインストール - VS CodeはWindowsパッケージマネージャーを介して利用可能です。
- 新しい入門ビデオ - VS Codeの入門とC++での作業に関するビデオ。
- ターミナルタブのプレビュー - 新しいタブビューで開いているターミナルを管理する様子を最初に確認します。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
太平洋時間5月11日火曜日午前8時(ロンドン時間午後4時)にVS Codeチームのライブストリームでライブにご参加いただき、このリリースの新機能のデモをご覧になり、ライブで質問をしてください。
Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。
Workbench
改善されたアクションホバーフィードバック
クリック可能なアクションに関するUXを向上させるために、ワークベンチ全体のアクションに対するマウスホバーフィードバックを変更しました。

無題のエディターヒント
多くの新規ユーザーが、VS Codeの完全な言語サポートを得るために言語を設定する必要があることを認識していないことが分かりました。この問題を解決するために、ユーザーが正しい言語モードを設定できるように、無題のエディターのヒントを導入しました。この無題のヒントは上級ユーザーには役に立たない可能性があるため、入力し始めるとすぐに消えるか、表示しないを選択すると、二度とヒントが表示されなくなります。

デフォルトのカスタムエディターとノートブックの解決
リソース(例えば、画像ビューアーと画像エディター)に対して、両方のエディターがデフォルトエディターであると主張する場合、競合を解決するためのプロンプトが表示されます。
以下の短いビデオでは、ユーザーがPNGファイルを開いています。このファイルは2つのエディターに関連付けられています。通知により、ユーザーはLuna Paint Image Editorを引き続き使用するか、新しいデフォルトを設定することができます。ユーザーはそれを設定し、バイナリHex Editorの使用を開始します。

更新されたカスタムダイアログ
"window.dialogStyle": "custom" を介して有効にできる、カスタムダイアログスタイルを更新しました。VS Codeは背景を暗くしてダイアログに焦点を当てやすくし、複数のアクションがある場合はセカンダリボタンのスタイルを使用するようになりました。

製品アイコンテーマ: Fluent Icons
以下の色トークンを使用して、セカンダリボタンのスタイルをテーマ化できます。
button.secondaryBackgroundbutton.secondaryForegroundbutton.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
ワークスペースの信頼がデフォルトで有効になっている場合、これを削除し、そのシステムを使用します。
タスク
アップグレードに伴うタスク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変数の正確な値が使用箇所に直接表示されています。

PowerShell用インライン値サポート拡張機能を使用して、PowerShellスクリプトのデバッグ中にインライン値を取得できます。
ブレーク時にデバッグビューが表示されます
debug.openDebug設定のデフォルト値がopenOnDebugBreakになったため、ブレークポイントにヒットするたびにVS Codeはデバッグビューを開きます。デバッグビューは、最初のセッション開始時にも表示されます。
JavaScriptデバッグ
いつものように、変更の完全なリストはvscode-js-debug変更ログに記載されています。
ブレークポイント診断ツールの発見性の向上
ヒューリスティックに基づいて、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設定でベルが有効になっていて、ターミナルベルがトリガーされると、ベルアイコンが表示されます。
タスクの状態もまもなくサポートする予定であり、タブをアクティブにしなくてもタスクの実行状態が一目でわかるようになります。
ウェルカムページのウォークスルー
Getting Startedページにコンテンツを配置するためのwalkthroughs貢献を拡張し、ステップの説明とステップの主要コンテンツの両方でMarkdownを許可するようにしました。Getting Startedページへの拡張機能の貢献は実験的な機能であり、"workbench.welcomePage.experimental.extensionContributions": true,で有効にできます。
以下の短いビデオは、ユーザーにLuna Paint拡張機能について教えるためのウォークスルーの例を示しています。

アクティビティバーとパネルでのカスタムホバーサポート
このマイルストーンでは、アクティビティバーとパネルでのカスタムホバーの実験的なサポートを追加しました。workbench.experimental.useCustomHover設定を使用してカスタムホバーを有効にできます。

テーマ: GitHub Light Theme 製品アイコンテーマ: Fluent Icons
リモートリポジトリ(RemoteHub)
このリリースの一部として、新しい組み込み拡張機能であるRemote Repositories (RemoteHub)をプレビューしています。これにより、GitHubリポジトリをローカルにクローンしたり、リポジトリを持たずに、VS Code内から直接参照、検索、編集、コミットできます。現在、VS CodeのInsiders版でのみ利用可能です。
はじめに
開始するには、コマンドパレットからリモートリポジトリを開く...コマンドを実行します。そこから、任意のGitHub URLを貼り付けるか、特定のリポジトリまたはプルリクエストを検索することを選択できます。

テーマ: Amethyst Dark Theme
URLを入力するか、リポジトリまたはプルリクエストを選択すると、VS Codeはそのリポジトリ用の新しいワークスペースを開きます。ステータスバーの左側にあるリモートステータスインジケーターは、リモートリポジトリに接続されているリモートプロバイダー名(例:GitHub)を表示します。

テーマ: Amethyst Dark Theme
機能
- リポジトリをクローンしたり、ローカルに持たなくても、任意のGitHubリポジトリを即座に開くことができます。
- GitHubリポジトリを簡単に編集して貢献できます。変更をGitHubに直接コミットしたり、プルリクエストを開いたりできます。
- 他の環境で続行する - 続行... コマンド(コマンドパレットまたはリモートインジケータークイックピックメニューからアクセス可能)を介して。
- リポジトリをローカルにクローン
- リポジトリをコンテナにクローン - 開発コンテナ拡張機能が必要です。
- ローカルリポジトリでの作業と同様の使い慣れたユーザーインターフェースを提供します(*以下の「制限事項」を参照)。
- エクスプローラー - ファイルとフォルダーを開く、コピーする、移動する、名前を変更する、削除する
- 検索 - 高速な全文検索*
- ソース管理 - 変更をステージングおよびコミットするだけでなく、その他の多くのソース管理アクション
- タイムラインビュー - 差分サポート付きのファイル履歴を表示
- クイックオープン - 開くファイルをすばやく見つける
- リモートインジケーター - リモートリポジトリが接続されているプロバイダー(例:GitHub)を表示します。
- 異なるブランチで同時に作業 - 各リモートブランチは個別のワークツリー(Git用語)として扱われるため、変更はすべてそのブランチに分離されます。プルリクエストをチェックアウトしたり、新しい作業項目を開始したりするために、変更をスタッシュして新しいブランチに切り替える必要はありません。そして、前のブランチに戻っても、変更は残っています。
- GitHub Pull Requests and Issues拡張機能をインストールして、プルリクエストをすばやく表示、探索、チェックアウトし、イシューを表示して作業を開始できます。
制限
- 言語インテリジェンスの制限 - 多くの言語サーバーはまだこの仮想環境を理解していません。TypeScriptはリモートリポジトリの単一ファイルインテリジェンスをサポートしています。
- 拡張機能の制限 - 言語サーバーと同様に、多くの拡張機能はリモートリポジトリでは動作しません。拡張機能はオプトアウトでき、仮想ワークスペースではアクティブ化されません。詳細については、以下の拡張機能の作成セクションを参照してください。
- 検索 - 完全なテキスト一致には事前構築されたインデックスが必要であり、それ以外の場合はGitHubのあいまいなデフォルトブランチのみのネイティブ検索にフォールバックします。
- ターミナル - 非対応。開いているターミナルはすべてローカルファイルシステム上にあります。
- デバッグ - 非対応。
- タスク - 非対応。
ご意見をお聞かせください
私たちは皆さんがRemote Repositories (RemoteHub)を試してくださることを大変楽しみにしており、皆様のご意見やフィードバックを心待ちにしています。この旅はまだ始まったばかりですので、開発を続けるにつれて機能セットが拡大し、制限が縮小することをご期待ください。また、サポートされるプロバイダーのセットも拡大していく予定です。GitHubは私たちがサポートする最初のプロバイダーであり、Azure Reposも近日中に登場します。
TypeScript 4.3
このリリースでは、間もなくリリースされるTypeScript 4.3のサポートが引き続き改善されています。TypeScript 4.3の新しい言語機能と改善点については、TypeScriptブログで詳しく読むことができます。ここでは、それが可能にするいくつかのエディターの改善点を紹介します。
overrideのサポート。overrideキーワードを追加するためのクイックフィックスもあります。- import文の補完。これは自動インポートに似ていますが、インポート文自体を入力する点が異なります。
- JSDoc
@linkタグのサポート。
TypeScript 4.3 nightlyビルドの使用を開始するには、TypeScript Nightly拡張機能をインストールするだけです。フィードバックを共有し、TypeScript 4.3でバグに遭遇した場合はお知らせください。
ワークスペースの信頼
前回のマイルストーンのリリースノートでは、特に拡張機能の作成者向けにWorkspace Trustに関する作業を共有しました。このマイルストーンでは、拡張機能APIとユーザーエクスペリエンスの両方で大きな進歩を遂げました。そうは言っても、Workspace Trustはこのリリースでは引き続き無効になりますが、ぜひ試してみてフィードバックを提供していただければ幸いです。
security.workspace.trust.enabledという設定でこの機能を有効にすることができます。有効にすると、VS Codeでフォルダーを開いたときに以下のダイアログが表示されます。

このダイアログは、ユーザーが早期に決定を下し、その決定の影響を理解するために重要です。機能について理解したら、security.workspace.trust.startupPrompt設定を使用して、ダイアログを表示するタイミングをカスタマイズできます。
Workspace Trustの開発状況は、イシュー #106488で追跡し、フィードバックを提供できます。
拡張機能への貢献
リモート開発
リモート開発拡張機能の作業が続けられています。これにより、コンテナ、リモートマシン、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
1.56の主要な機能は以下のとおりです。
- コンテナボリュームでリポジトリをクローンする際の新しいボリュームビュー。
- リモートに接続されている場合のローカルターミナル警告。
- 開発コンテナ拡張機能で開始する際にDocker Desktopをインストールするように促すプロンプト。
新しい拡張機能の機能とバグ修正については、Remote Developmentリリースノートで確認できます。
GitHub Pull Requests and Issues
GitHub Pull Requests and Issues拡張機能の作業が続いており、プルリクエストとイシューの作業、作成、管理が可能です。
すべての新機能と更新の詳細については、拡張機能の0.26.0リリースの完全な変更ログをご覧ください。
拡張機能作成
拡張機能が仮想ワークスペースをサポートするかどうかを定義する
新しいリモートリポジトリ拡張機能により、GitHubから直接コンテンツを含むフォルダを開くことができます。これは、仮想ファイルシステムを提供し、その上でワークスペースを開くことで実現されます。他の拡張機能も同様です。これらは、FTPサーバー、クラウドストレージ、またはデータベースからコンテンツを提供し、それらをシームレスにVS Codeのファイルとしてユーザーに提供します。
仮想ファイルシステム機能はしばらく前から存在していましたが、すべての拡張機能が仮想ワークスペースで実行をサポートできるわけではないことがわかりました。仮想ワークスペースでは、ワークスペースファイルが物理的にディスク上に存在しません。このため、拡張機能が仮想ワークスペースでの実行をサポートするかどうかを示すサポートを追加しました。拡張機能がオプトアウトしている場合、仮想ワークスペースではVS Codeによってアクティブ化されず、ユーザーはこの拡張機能からのエラーは表示されません。
拡張機能は、以下に示すようにpackage.jsonで仮想ワークスペースのセットアップをオプトアウトします。
{
"capabilities": {
"virtualWorkspaces": false
}
}
目標は、できるだけ多くの拡張機能が仮想ワークスペースでの実行をサポートすることです。しかし、特にファイルが物理的に存在すると仮定するコンポーネントを拡張機能が使用している場合、常に可能であるとは限りません。仮想ワークスペースガイドは、拡張機能が仮想ワークスペースをサポートする方法を文書化しています。
Call to Action: 拡張機能が仮想ワークスペースを処理できるかどうかを確認し、package.jsonでvirtualWorkspaces機能を適切に設定してください。
拡張機能が新しいvirtualWorkspacesプロパティを採用するまで、移行期間があります。それまでは、virtualWorkspaces機能をfalseに設定すべきだと私たちが考える拡張機能の内部リストを保持しています。これは、拡張機能がNode.jsのfsモジュールを使用しており、したがってファイルシステムに直接アクセスしているかどうかの分析に基づいて行われました。しかし、拡張機能の作成者は、拡張機能がvirtualWorkspaces機能をサポートしているかどうかを評価するはるかに良い立場にあります。採用を追跡するために、以下の追跡イシュー #122836を作成しました。拡張機能がリストに含まれており、virtualWorkspaces機能を採用している場合は、上記のイシューにコメントを追加してください。
リモートインジケーターメニュー
拡張機能はリモートインジケーターメニューに貢献できるようになりました。

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
ほとんどのWebビューでiframeを使用するようになりました
WebビューAPIが最初に導入されて以来、ElectronのWebビュータグを使用してWebビューを実装してきました。しかしWebでは、VS CodeのWebビューは<webview>が利用できないため、代わりに標準の<iframe>要素を使用して実装されています。
この変更により、デスクトップとWebの間で拡張機能に一貫したWebビュー環境が提供されるため、デスクトップ版のVS Codeを<iframe>バックのWebビューを使用するように移行することをしばらく検討してきました。<webview>からの移行は、Electronのサンドボックス化の取り組みにも役立ちます。
今回のイテレーションでは、大部分のWebビューをiframeを使用するように切り替えました。<webview>タグは、検索ウィジェットを有効にするWebビューでのみ使用されており、さらに少しのエンジニアリング作業の後、それらもiframeを使用するように移行する予定です。
この変更によって問題が発生することはないはずですが、<iframe>と<webview>要素の動作が異なるいくつかのコーナーケースがあります。すべてが期待どおりに機能することを確認するために、拡張機能をすばやくテストしてください。
Webビューの検査が簡単に
<iframe>ベースのウェブビューの明確な利点の1つは、検査がはるかに簡単になったことです。
以前にWebビューを扱ったことがある方は、Webビューの内容を検査するために開発者: Webビュー開発者ツールを開くコマンドを使用する必要があったことを覚えているかもしれません。これにより、Webビュー専用の新しい開発者ツールパネルが開きました。

<iframe>ベースのWebビューでは、代わりにVS Codeの標準開発者ツール(開発者: 開発者ツールを切り替える)を使用してWebビューを検査できます。

これにより、複数のWebビューを簡単に検査できます。Webビューが閉じても開発者ツールが閉じなくなるという利点もあります。
さらに、Webビュー内で発生した例外やコンソールメッセージは、トップレベルの開発者ツールコンソールに表示されるようになりました。

開発者ツールを使用して、Webビューのコンテキストで式を評価することもできます。開発者: 開発者ツールを切り替えるでVS Codeの開発者ツールを開き、コンソールを開き、コンテキストセレクターからWebビューのactive-frameを選択します。

全体として、VS Codeの標準開発者ツールを使用できるようになったことで、Webビューのより良い開発体験が提供されるはずです。
CodeActionTriggerKind
CodeActionContextの新しいtriggerKindプロパティは、CodeActionProviderからコードアクションが要求される理由を追跡します。このプロパティの可能な値は次のとおりです。
Invoke- キーボードショートカットまたはコマンドで明示的にコードアクションが要求されました。Automatic- 明示的なユーザー操作なしにコードアクションが要求されました。これには、ドキュメントの内容が変更されたときにコードアクションを要求することが含まれます。
プロバイダーはtriggerKindを使用して、コードアクションが要求された方法に応じて異なる結果のセットを返すことができます。たとえば、自動的にトリガーされるリファクタリングコードアクションプロバイダーは、コードアクションの電球が表示される頻度を制限するために、正確な現在の選択範囲のリファクタリングのみを返す場合があります。ただし、コードアクションが明示的に要求された場合、同じプロバイダーは現在の選択範囲を自動的に展開して、ユーザーが現在の場所で関心を持つ可能性のあるすべてのリファクタリングを表示しようとする場合があります。
更新された codicon
当社のcodicon ライブラリに以下の新しいアイコンを追加しました。
arrow-swapコピーdebug-line-by-linefilter-filledperson-addterminal-bashterminal-cmdterminal-debianterminal-linuxterminal-powershellterminal-tmuxterminal-ubuntuwand
![]()
キーバインディングラベルの色
キーバインディングがコマンドに関連付けられている場合、キーバインディングラベルが表示されます。キーバインディングラベルの使用例には、以下が含まれます(これらに限定されません)。
- コマンドパレット
- キーボードショートカットエディター
- キーボードショートカットレコーダーモーダル
- 拡張機能のマーケットプレイスページの「機能貢献」セクション
以下のカスタマイズが利用可能です。
keybindingLabel.background: キーバインディングラベルの背景色。キーバインディングラベルはキーボードショートカットを表すために使用されます。keybindingLabel.foreground: キーバインディングラベルの前景色。キーバインディングラベルはキーボードショートカットを表すために使用されます。keybindingLabel.border: キーバインディングラベルの境界線の色。キーバインディングラベルはキーボードショートカットを表すために使用されます。keybindingLabel.bottomBorder: キーバインディングラベルの下境界線の色。キーバインディングラベルはキーボードショートカットを表すために使用されます。
ワークスペース信頼拡張機能API
前回のマイルストーンで、Workspace Trustという機能に取り組んでいたことをお伝えしました。拡張機能の作成者には、更新情報についてイシュー #120251に注目するように依頼し、引き続きそうしています。以下の情報と更新もそのイシューで見つけることができます。
このマイルストーンでは、Workspace Trust拡張機能APIを提案段階から安定段階に移行しました。これにより、拡張機能をWorkspace Trustにオンボーディングするためのガイドの最初の部分をリリースできました。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コンテキストキーを使用して、コマンドやビューを宣言的に非表示にすることができます。
Call to Action: イシュー #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の一部を最終化する予定でしたが、改善に注力し、最終化を来月に延期しました(イシュー #122208で追跡)。今回のイテレーションで行われたAPIの変更は主に以下のとおりです。
TestProviderはTestControllerに名前が変更され、そのメソッドもそれに合わせて名前が変更されました。TestItemは、vscode.test.createTestItemによって呼び出される管理対象オブジェクトになりました。- テスト結果は、標準の
vscode.test.createTestResultsメソッドを介して作成されるようになり、TestController.runTestsの内外から呼び出すことができます。
これらの変更により、生のテスト出力を表示したり、拡張機能がテストの読み込みエラーを示すことができるなど、いくつかの追加機能がもたらされました。これらの変更は、今後の追加機能の堅固な基盤を提供し、既存の拡張機能APIにより密接に整合すると考えています。
また、既存のTest Explorer UI拡張機能で動作するすべてのアダプターをネイティブVS Codeテストに自動的にプラグインできるようにするTest Adapter Converter拡張機能も作成しました。Converter拡張機能は今日手動でインストールできますが、まもなくTest Explorer UIと統合され、既存のユーザーとアダプターのネイティブテストへのシームレスな移行パスが提供されます。
ArrayBuffersのWebビューとの間で送受信が改善されました
現在のバージョンのVS Codeでは、型付き配列をWebビューに送信したりWebビューから受信したりする際に、いくつかの癖があります。
UInt8Arrayなどの型付き配列は、非常に非効率にシリアル化されます。これにより、何メガバイトものデータを転送する必要がある場合にパフォーマンスの問題が発生する可能性があります。- 送信された型付き配列は、受信側で正しい型として再作成されません。
UInt8Arrayを送信すると、受信側は代わりにUInt8Arrayのデータ値を持つ汎用オブジェクトを受け取ります。
これらの問題はどちらもバグですが、既存の動作に依存する拡張機能を壊す可能性なしに修正することはできません。同時に、新しく作成された拡張機能が現在の混乱し非効率な動作を望む理由はまったくありません。
したがって、既存の拡張機能には既存の動作を残し、新しい拡張機能にはより正しい動作をオプトインさせることにしました。これは、拡張機能のpackage.jsonのenginesを参照して行われます。
"engines": {
"vscode": "^1.57.0",
}
拡張機能がVS Code 1.57+をターゲットにしている場合、型付き配列は受信側で再作成され、Webビューとの間で大規模な型付き配列の転送がはるかに効率的になります。
この動作をテストし、期待どおりに動作しない場合や既存のコードに予期しない回帰を引き起こす場合はお知らせください。
TerminalOptions.message
この新しい提案により、拡張機能はプロセスが起動する前にターミナルにメッセージを表示できます。
vscode.window.createTerminal({
message: '\x1b[3;1mSome custom message\x1b[0m'
});
Debug Adapter Protocol
例外ブレークポイントが通常のブレークポイントとより適切に整合するようになりました
setExceptionBreakpointsリクエストは、他のset*Breakpointsリクエストと同様に、オプションでBreakpointの配列を返すことができるようになりました。これにより、クライアントは個々の例外ブレークポイントまたはフィルターの検証エラーメッセージを表示できます。このリリースから、VS Codeはこれらのエラーをブレークポイントビューに表示します。
再起動要求でデバッグ構成の変更を反映できるようになりました
restartリクエストは、新しいオプションパラメーターargumentsを取るようになり、クライアントは起動またはアタッチ構成の最新バージョンを渡すことができます。この追加により、デバッグアダプターはデバッグ構成の最新の値でセッションを再起動できます。
デバッガを切断し、デバッグ対象を停止状態に保つ
disconnectリクエストは、デバッグセッションを終了し、デバッグ対象の実行を続行するか、終了するために使用されます。デバッガが切断された後もデバッグ対象を中断状態に保つための新しいオプションがあります。これにより、新しいセッションでデバッグを再開することが可能になります。
この機能を実装するデバッグアダプタは、supportSuspendDebuggee機能でそのサポートを通知する必要があります。クライアントは、disconnect要求に新しいオプション引数suspendDebuggeeを渡すことでこの機能を使用できます。
エンジニアリング
Electron 12へのアップデート
今回のマイルストーンでは、Electron 12をVS Codeにバンドルする探求を終えました。テストとInsidersでのセルフホスティングに携わってくださった皆様に感謝いたします。これはElectronの主要なリリースであり、Chromium 89.0.4389.114とNode.js 14.16.0が付属しています。
Electronサンドボックスの進捗
このマイルストーンでは、VS CodeウィンドウをElectronのサンドボックスおよびコンテキスト分離機能を有効にする準備を継続しました。
具体的には
- サンドボックス化されたレンダラーでVS Codeウィンドウにアクセスするために必要なすべての環境プロパティを変更しました。
- カスタムエディターのために
webviewの代わりにiframe要素に切り替えることを検討しており、可能な場合は特定のケースでiframeを選択的に有効にしています。 - レンダラーのネイティブモジュールまたはNode.jsの要件の一部を他のプロセスに移動するか、完全に削除することができました。
windows-process-treeをコンテキスト認識型にしました。
Webビュー内のリソースの読み込みにService Workerが使用されるようになりました
デスクトップ版VS Codeでは、WebビューはService Workerを使用してローカルリソースを読み込むようになりました。Web版VS Codeでは常にService Workerが使用されていましたが、以前のデスクトップ版VS CodeはElectronプロトコルを使用していました。
デスクトップ版でサービスワーカーを使用することで、デスクトップとウェブ間でのウェブビューの動作をより良く整合させることができます。また、いくつかの厄介なバグの修正にも役立ち、約1000行のコードを削除することができました。
この変更は、ほとんどのウェブビュー拡張機能に影響を与えないはずですが、いくつかのエッジケースでは問題を引き起こす可能性があります。
-
Webビューがリソースを読み込む方法について仮定を置いている拡張機能
拡張機能が
vscode-webview-resource:プロトコルを直接使用していたり、リソースURIに関するその他の仮定をハードコーディングしていた場合、動作しなくなる可能性があります。代わりに、リソースのURIを作成するには常に
.asWebviewUriを使用してください。また、返されるURIの形式は将来変更される可能性があることにも注意してください。 -
iframeの
srcをディスク上のHTMLファイルを指すように設定する拡張機能サービスワーカーはこのリクエストを見ることができないため、これをサポートしなくなりました。これはWebではすでにそうであり、このパターンは一般的ではないと考えています。
推奨される修正方法は、iframeを使用せず、HTMLファイルの内容をWebビューにインラインで含めることです。
コードベースで暗黙的なオーバーライドは無効
間もなくリリースされる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の歴史と基礎となるテクノロジーについて読むことができます。ベンは、VS Codeの初期の頃と、Electronをアプリケーションフレームワークとして使用してmacOS、Windows、LinuxでVS Codeを実行できるようにすることについて語っています。
パートナー拡張機能
Azure Machine Learning
Azure Machine Learning拡張機能を使用すると、機械学習ワークフロー用の強力なクラウドコンピューティングリソースを作成および管理できます。そのリモート機能により、安全で監査可能で準拠した方法でコンピューティングリソースにシームレスに接続できます。
注目すべき修正点
- 108559: RunInTerminalがワークスペース設定の指定された統合ターミナルを使用しないバグ
- 118282: Debugger Step Over into skipFiles
- 118731: ブラウザウィンドウとタブを非同期で開く際にSafariのポップアップブロッカーを回避する方法を調査する
- 119340: 未キャッチ例外ブレークポイントが有効になっている場合、デバッグなしで実行は終了しない
- 121347: バックアップから復元するとファイルが文字化けする
- 119059: カスタムテキストエディター: バックアップが復元時に2つのエディターを開く
- 120245: CSS:
!important補完が壊れている - 120393: WebGLコンテキスト損失の処理を改善する
- 120435:
emmet.extensionsPathの有効なパスチェックを削除 - 120882: エクスプローラーでファイルを貼り付けても、そのファイルがエディターで開かれない
- 121148: 重複する起動構成がデバッグドロップダウンに表示される
- 120277: ファイル検索ペインの水平スクロールバーが小さすぎて、間違った方向にスクロールする
ありがとうございます
最後に、今月 VS Code に貢献してくださった以下の皆様に、心からの感謝を申し上げます。
問題追跡への貢献者
- 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コントロール記述の改善 PR #119160
- @aliasliao (Liao Jinyuan): HTMLファイルで間違った提案が促進されるemmetの問題を修正 PR #120480
- @andrewbranch (Andrew Branch)
- [typescript-language-features] TypeScript 4.3のimport文補完をサポート PR #119009
- [html-language-features] 4.3プロトコル用にTS言語サービス呼び出しを更新 PR #120362
- [typescript-language-features] import文補完のテレメトリを追加 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
- [テーマ] ハイコントラストブラックのデフォルトテーマのJSON書式設定を修正 PR #120761
- [テーマ] ハイコントラストブラックのデフォルトテーマのJSON書式設定を修正 (2) PR #120815
- [テーマ] ハイコントラストブラックのデフォルトテーマのJSON書式設定を修正 (3) PR #120841
- @conwnet (netcon): fix: エディターが読み取り専用の場合にのみtextarea DOMにreadonly属性を追加 PR #120503
- @gjsjohnmurray (John Murray)
- fix #120485 タイムラインプロバイダーがない場合にエクスプローラーのコンテキストメニューから
Open Timelineを非表示にする 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): ノートブックマークダウンセルに不足している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): 一般的にソースとなるファイルをシェルスクリプトとして認識させる PR #121373
- @plainerman (Michael Plainer): 無効な拡張機能の自動更新を停止するサポートを追加 PR #113155
- @PooyaZv (Pooya Vakeely): cuda-cpp言語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ホストIPCタイムアウトの場合に終了 PR #122399
- @stoyannk (Stoyan Nikolov): 拡張機能のプロファイルが原因で発生した間違った変数名のシャドウイングを修正… 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): 文字列サポート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

