2021年4月 (バージョン 1.56)
アップデート 1.56.1: このアップデートでは、これらのセキュリティ問題に対処しています。
アップデート 1.56.2: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal 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をダウンロードして、利用可能になり次第、最新の更新を試すことができます。
ワークベンチ
アクションホバーフィードバックの改善
ワークベンチ全体のアクションのマウスホバーフィードバックを変更し、クリック可能なアクションに関してより良いUXを提供しました。
無題のエディターヒント
多くの新規ユーザーが、VS Codeの完全な言語サポートを得るために言語を設定する必要があることを認識していないことが分かりました。この問題を解決するために、無題のエディターに、正しい言語モードを設定するのに役立つヒントを導入しました。無題のヒントは上級ユーザーには役に立たないかもしれませんが、入力し始めるとすぐに消えるか、表示しないを選択すると、ヒントが二度と表示されなくなります。
カスタムエディターとノートブックのデフォルト解決
2つのエディターが両方ともリソースのデフォルトエディターであると主張する場合(例えば、画像ビューアーと画像エディター)、競合を解決するためのプロンプトが表示されます。
以下の短いビデオでは、ユーザーはPNGファイルを開きます。このファイルは2つのエディターに関連付けられています。通知により、ユーザーはLuna Paint画像エディターを使い続けるか、新しいデフォルトを設定するかを選択できます。ユーザーはそうしてバイナリ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選択貼り付けコマンド
Linuxでは、選択クリップボードからターミナルに貼り付けるための新しいコマンド workbench.action.terminal.pasteSelection
が利用可能です。
ターミナルワークスペースのシェル権限が変更されました
プロファイル関連の今後の変更をサポートするため、.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 にアップグレードされます。
ターミナルタブに「Task」プレフィックスなし
新しいターミナルタブ機能を使用する場合、「Task」プレフィックスはターミナル名に追加されなくなります。代わりに、利用可能なスペースを有効活用するため、タスクは「ツール」アイコンで示されます。
eslint-stylish とのより良いマッチング
$eslint-stylish
問題マッチャーは、複数行の問題をより正確に照合します。
デバッグ
ブレークポイントビューの改善
データブレークポイントのアクセスタイプを表示
データブレークポイントの場合、VS Codeはブレークポイントビューでその名前の横にアクセスタイプ(「読み取り」、「書き込み」、「アクセス」)を表示するようになりました。
例外ブレークポイントのステータス/エラー報告の改善
例外ブレークポイントの場合、VS Codeはブレークポイントビューで個々の検証ステータスと詳細な理由を表示するようになりました。例外ブレークポイントが検証できない場合(たとえば、その条件に構文エラーが含まれている場合)、灰色表示され、ホバーすると対応するエラーメッセージが表示されます。
その他のUI改善
停止コマンドと切断コマンドの代替動作
デバッグセッションは通常、Debug: StopおよびDebug: Disconnectコマンドを使用して停止します。デバッグセッションがlaunch
タイプの場合、Stopコマンドはセッションを停止するだけでなく、デバッグ対象も終了させます。attach
タイプのデバッグセッションの場合、デバッグを停止してデバッグ対象の実行を再開するDisconnectコマンドがあります。
このリリースでは、デバッグツールバーからコマンドをトリガーする際に Alt
修飾子を押すことで、この動作を切り替えることができるようになりました。動作を変更することで、launch
タイプデバッグセッションではデバッグ対象を実行したままに、attach
タイプデバッグセッションではデバッグ対象を終了させることが可能になります。デフォルトコマンドで Alt
を使用する以外に、launch
と attach
の両方のデバッグセッションで、コマンドパレットから Debug: Stop と Debug: Disconnect の両方のコマンドにアクセスすることも可能です。
代替動作は、この機能をオプトインしたデバッグ拡張機能でのみ利用可能です。
不足しているデバッグ拡張機能のインストールフローの改善
ユーザーがデバッグを開始したいが、デバッグサポートを提供する必要な言語拡張機能(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.preview.typographer
設定により、組み込みのMarkdownプレビューでスマートクォートとシンプルなタイポグラフィック置換を有効にできます。
以下の例では、(c)
のようなMarkdownテキストが、プレビューで著作権記号©
に自動的に置き換えられます。
markdown.preview.typographer
設定はデフォルトで無効になっています。
shellscriptとして認識されるファイルの増加
.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に直接変更をコミットしたり、プルリクエストを開いたりできます。
- 別の環境で続ける - 続行... コマンド (コマンドパレットまたはリモートインジケーターのクイックピックメニューからアクセス可能) を使用します。
- リポジトリをローカルにクローンする
- リポジトリをコンテナにクローンする - 開発コンテナ拡張機能が必要です。
- ローカルリポジトリでの作業と同様の使い慣れたユーザーインターフェイスを提供します(*以下の「制限事項」を参照)。
- エクスプローラー - ファイルとフォルダを開く、コピーする、移動する、名前を変更する、削除する
- 検索 - 高速な全文検索*
- ソース管理 - 変更をステージングおよびコミットするほか、その他の多くのソース管理アクション
- タイムラインビュー - diffサポート付きのファイル履歴を参照
- クイックオープン - 開くファイルを素早く見つける
- リモートインジケーター - リモートリポジトリが接続されているプロバイダー (例: GitHub) を表示します。
- 異なるブランチで同時に作業 - 各リモートブランチは(Git用語で言うところの)個別の作業ツリーとして扱われます。つまり、行った変更はそのブランチに分離されます。プルリクエストをチェックアウトしたり、新しい作業項目を開始したりするために、変更をスタッシュして新しいブランチに切り替える必要はありません。そして前のブランチに戻ると、変更はまだそこにあります。
- GitHub Pull Requests and Issues 拡張機能をインストールすると、プルリクエストを素早く表示、探索、チェックアウトしたり、課題を表示して作業を開始したりできます。
制限
- 限られた言語インテリジェンス - 多くの言語サーバーはまだこの仮想化環境を理解していません。TypeScriptはリモートリポジトリに対して単一ファイルインテリジェンスをサポートしています。
- 限られた拡張機能のサポート - 言語サーバーと同様に、多くの拡張機能はリモートリポジトリでは動作しません。拡張機能はオプトアウトすることができ、仮想ワークスペースではアクティベートされません。詳細については、以下の拡張機能の作成セクションを参照してください。
- 検索 - 全文検索には、正確なテキストマッチングのために事前に構築されたインデックスが必要であり、そうでない場合はGitHubのあいまいなデフォルトブランチのみのネイティブ検索にフォールバックします。
- ターミナル - 非対応。開いているターミナルはすべてローカルファイルシステム上にあります。
- デバッグ - 非対応。
- タスク - 非対応。
ご意見をお聞かせください
リモートリポジトリ (RemoteHub) をぜひお試しいただき、ご意見やフィードバックをお待ちしております。この旅はまだ始まったばかりであり、開発を続けるにつれて機能セットが拡大し、制限が縮小することが予想されます。また、サポートされるプロバイダーのセットも拡大する予定です。GitHubは私たちがサポートする最初のプロバイダーであり、Azure Reposもまもなく登場します。
TypeScript 4.3
このリリースでは、今後のTypeScript 4.3リリースに対するサポートを引き続き改善しています。TypeScript 4.3 の新しい言語機能と改善点については、TypeScript ブログで詳しく読むことができます。ここでは、TypeScript 4.3 で可能になったエディターの改善点をいくつかご紹介します。
override
のサポート。override
キーワードを追加するためのクイックフィックスもあります。- インポートステートメントの補完。これは自動インポートに似ていますが、インポートステートメント自体を入力している点が異なります。
- 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 の開発状況を追跡し、issue #106488 でフィードバックを提供できます。
拡張機能への貢献
リモート開発
フル機能の開発環境としてコンテナ、リモートマシン、またはLinux 用 Windows サブシステム (WSL) を使用できるリモート開発拡張機能の作業は継続中です。
1.56の主な機能ハイライトは以下の通りです。
- コンテナボリュームにリポジトリをクローンする際の新しいボリュームビュー。
- リモートに接続している場合のローカルターミナル警告。
- 開発コンテナ拡張機能を開始する際にDocker Desktopのインストールを促すプロンプト。
新しい拡張機能の機能とバグ修正については、リモート開発リリースノートで学ぶことができます。
GitHub プルリクエストと課題
プルリクエストとイシューの作業、作成、管理を可能にするGitHub Pull Requests and Issues拡張機能の作業は引き続き進行中です。
すべての新機能と更新の詳細については、拡張機能の0.26.0リリースの完全な変更ログをご覧ください。
拡張機能作成
拡張機能が仮想ワークスペースをサポートするかどうかを定義する
新しいリモートリポジトリ拡張機能により、GitHubから直接コンテンツを含むフォルダーを開くことができます。これは、仮想ファイルシステムを提供し、その上でワークスペースを開くことで実現されます。他の拡張機能も同様です。それらはFTPサーバー、クラウドストレージ、またはデータベースからコンテンツを提供し、それらをVS Codeのユーザーにファイルとしてシームレスに提供します。
仮想ファイルシステム機能は以前から存在していましたが、すべての拡張機能が仮想ワークスペースで実行をサポートできるわけではないことが判明しました。仮想ワークスペースでは、ワークスペースファイルが物理的にディスク上に存在しません。このため、拡張機能が仮想ワークスペースでの実行をサポートするかどうかを通知するサポートを追加しました。拡張機能がオプトアウトした場合、VS Codeは仮想ワークスペースではアクティブ化せず、ユーザーはその拡張機能からのエラーを見ることはありません。
拡張機能は、以下に示すように package.json
で仮想ワークスペースのセットアップをオプトアウトします。
{
"capabilities": {
"virtualWorkspaces": false
}
}
目標は、できるだけ多くの拡張機能が仮想ワークスペースでの実行をサポートすることです。しかし、これは常に可能ではありません。特に、拡張機能がファイルが物理的に存在することを前提とするコンポーネントを使用している場合はそうです。仮想ワークスペースガイドには、拡張機能が仮想ワークスペースをサポートする方法が記載されています。
行動喚起: 拡張機能が仮想ワークスペースを処理できるかどうかを確認し、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が使用されるようになりました
Webview APIが最初に導入されて以来、Electronのwebviewタグを使用してWebviewを実装してきました。しかし、Web上では、VS CodeのWebviewは代わりに標準の<iframe>
要素を使用して実装されています。これは、<webview>
が利用できないためです。
デスクトップ版VS Codeを<iframe>
バックのウェブビューを使用するように移行することをしばらく検討していました。この変更により、デスクトップとウェブの間で、拡張機能により一貫したウェブビュー環境が提供されます。また、<webview>
から移行することで、Electronのサンドボックス化の取り組みにも役立ちます。
このイテレーションでは、ほとんどのウェブビューをiframeを使用するように切り替えました。<webview>
タグは、Findウィジェットを有効にするウェブビューのみで使用されており、さらにエンジニアリング作業を進めた後、それらもiframeを使用するように移行する予定です。
この変更は問題を引き起こすべきではありませんが、<iframe>
と <webview>
要素の動作が異なるいくつかのコーナーケースがあります。すべてが期待どおりに機能することを確認するために、拡張機能の簡単なテストパスを実行してください。
Webビューの検査が簡単に
<iframe>
-backed webviewsの明確な利点の1つは、それらがはるかに検査しやすくなったことです。
以前にウェブビューで作業したことがある場合、ウェブビューの内容を検査するために開発者: ウェブビュー開発者ツールを開くコマンドを使用する必要があったことを覚えているかもしれません。これにより、ウェブビュー専用の新しい開発者ツールパネルが開きました。
<iframe>
に基づくウェブビューでは、代わりに VS Code の標準開発者ツール (開発者: 開発者ツールの切り替え) を使用してウェブビューを検査できます。
これにより、複数のウェブビューを簡単に検査できます。また、ウェブビューが閉じても開発者ツールが閉じられることはなくなりました。
さらに、ウェブビュー内で発生する例外やコンソールメッセージが、トップレベルの開発者ツールコンソールに表示されるようになりました。
開発者ツールを使用して、ウェブビューのコンテキストで式を評価することもできます。VS Codeの開発者ツールをDeveloper: Toggle Developer Toolsで開いた後、コンソールを開き、コンテキストセレクターからウェブビューのactive-frame
を選択します。
全体として、VS Codeの標準開発者ツールを使用できることで、Webビューのより良い開発体験が提供されるはずです。
CodeActionTriggerKind
CodeActionContext
の新しい triggerKind
プロパティは、CodeActionProvider
から Code Action が要求される理由を追跡します。このプロパティの可能な値は次のとおりです。
Invoke
- キーボードショートカットまたはコマンドを使用して、Code Actions が明示的に要求されました。Automatic
- 明示的なユーザー操作なしにコードアクションが要求されました。これには、ドキュメントの内容が変更されたときにコードアクションを要求することが含まれます。
プロバイダーは triggerKind
を使用して、Code Actions の要求方法に応じて異なる結果セットを返すことができます。たとえば、自動的にトリガーされるリファクタリング Code Action プロバイダーは、Code Action の電球が表示される頻度を制限するために、正確な現在の選択範囲に対してのみリファクタリングを返す場合があります。しかし、Code Actions が明示的に要求された場合、同じプロバイダーは、現在の位置でユーザーが関心を持つ可能性のあるすべてのリファクタリングを表示しようと自動的に現在の選択範囲を拡張する場合があります。
更新された codicon
当社のcodicon ライブラリに以下の新しいアイコンを追加しました。
arrow-swap
コピー
debug-line-by-line
filter-filled
person-add
terminal-bash
terminal-cmd
terminal-debian
terminal-linux
terminal-powershell
terminal-tmux
terminal-ubuntu
ワンド
キーバインディングラベルの色
キーバインディングラベルは、コマンドに関連付けられたキーバインディングがある場合に表示されます。キーバインディングラベルの使用箇所には(ただし、これらに限定されません)
- コマンドパレット
- キーボードショートカットエディター
- キーボードショートカットレコーダーモーダル
- 拡張機能のマーケットプレイスページの「機能貢献」セクション
以下のカスタマイズが可能です。
keybindingLabel.background
: キーバインディングラベルの背景色。キーバインディングラベルはキーボードショートカットを表すために使用されます。keybindingLabel.foreground
: キーバインディングラベルの前景色。キーバインディングラベルはキーボードショートカットを表すために使用されます。keybindingLabel.border
: キーバインディングラベルの境界線の色。キーバインディングラベルはキーボードショートカットを表すために使用されます。keybindingLabel.bottomBorder
: キーバインディングラベルの下部境界線の色。キーバインディングラベルはキーボードショートカットを表すために使用されます。
Workspace Trust 拡張機能 API
前回のマイルストーンでは、Workspace Trustという機能に関して取り組んできた作業について言及しました。拡張機能作者の皆様には、更新情報についてissue #120251を注視していただくようお願いしましたが、引き続きそのようにお願いいたします。以下の情報と更新もそのissueで見つけることができます。
このマイルストーンでは、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
コンテキストキーを使用して、コマンドやビューを宣言的に非表示にできます。
行動喚起: issue #120251 の「Workspace Trust Extension Guide」を確認し、拡張機能に適切な 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
sは、vscode.test.createTestItem
で呼び出される管理対象オブジェクトになりました。- テスト結果は、
TestController.runTests
の内部または外部で呼び出すことができる標準的なvscode.test.createTestResults
メソッドによって作成されるようになりました。
これらの変更に伴い、生のテスト出力を表示する機能や、拡張機能がテストのロードエラーを示す機能など、いくつかの追加機能が加わりました。これらの変更は、今後の追加機能の強固な基盤を提供し、既存の拡張機能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'
});
デバッグアダプタープロトコル
例外ブレークポイントは通常のブレークポイントとより良く整合
setExceptionBreakpoints
リクエストは、他の set*Breakpoints
リクエストと同様に、オプションで Breakpoint
の配列を返すことができるようになりました。これにより、クライアントは個々の例外ブレークポイントやフィルターの検証エラーメッセージを表示できます。このリリースから、VS Code はこれらのエラーをブレークポイントビューに表示します。
再起動リクエストでデバッグ設定の変更を反映できるように
restart
リクエストは、新しいオプションのパラメータ arguments
を受け取るようになりました。これにより、クライアントは起動またはアタッチ設定の最新バージョンを渡すことができます。この追加により、デバッグアダプターは、デバッグ設定からの最新の値でセッションを再起動できます。
デバッガを切り離し、デバッグ対象を停止状態に保つ
disconnect
リクエストは、デバッグセッションを終了し、デバッグ対象の実行を継続するか、または終了するために使用されます。デバッガーが切断された後もデバッグ対象を停止状態に保つ新しいオプションがあります。これにより、新しいセッションでデバッグを継続することが可能になります。
この機能を実装するデバッグアダプターは、supportSuspendDebuggee
機能でそのサポートを通知する必要があります。クライアントは、新しいオプション引数 suspendDebuggee
を disconnect
リクエストに渡すことでこの機能を使用できます。
エンジニアリング
Electron 12の更新
このマイルストーンでは、Insidersでのテストとセルフホストに関わった皆様のおかげで、Electron 12をVS Codeにバンドルするための探索が完了しました。これは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
はコンテキストを認識するようになりました。
Service Worker がウェブビューでリソースを読み込むようになりました
デスクトップ版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
}
オーバーライドキーワードにはいくつかの利点があります。
-
コードを読んだときに、メソッドが基底クラスのメソッドをオーバーライドしていることを知らせてくれます。
-
基底クラスに存在しないメソッドをオーバーライドしようとするとエラーになります。これは、基底クラスでメソッド名を変更したが、サブクラスでメソッド名を更新し忘れたことによるエラーを捕捉するのに役立ちます。
このイテレーションでは、コードベースでオーバーライドキーワードを採用し、コアVS Codeとすべての組み込み拡張機能の両方で--noImplicitOverride
を有効にしました。この作業のほとんどを自動化しましたが、この変更により、コードがプロパティを誤って再宣言しているケースや、継承パターンが不明瞭なケースをいくつか発見するのに役立ちました。
この新しい厳格なルールは、将来の一般的なプログラミングミスを捕捉するのにも役立つはずです。
WindowsインストーラーがWindowsパッケージマネージャーに統合
arm64
のユーザーおよびシステムインストーラーを公開し、v1パッケージマニフェストスキーマを採用するために、Windowsパッケージマネージャー公開パイプラインを更新しました。これにより、x86
、x64
、arm64
のユーザーおよびシステムインストーラーを単一のマニフェストに統合できます。ユーザーは、パッケージをインストールする際に--scope
パラメータを使用するか、winget CLI設定を使用することで、ユーザーおよびシステムインストーラーを選択できます。
ドキュメント
更新された入門ビデオ
VS Codeの入門ビデオが更新されました。ビデオは、入門や拡張機能の使用から、デバッグやバージョン管理といったVS Codeの機能まで多岐にわたります。
新しいC++ビデオ
C++拡張機能チームは、IntelliSenseの構成、ビルド、C++プロジェクトのデバッグ方法を説明する入門ビデオのセットを作成しました。
VS Code の歴史と技術
VS Code のエンジニア、Ben Pasero 氏へのこのインタビューで、VS Code の歴史と根底にある技術について読むことができます。ベンは、VS Code の初期と、Electron をアプリケーションフレームワークとして使用して macOS、Windows、Linux で VS Code を実行できるようにすることについて語っています。
パートナー拡張機能
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 に貢献してくださった以下の皆様に、心からの感謝を申し上げます。
問題追跡への貢献者
- ジョン・マレー (@gjsjohnmurray)
- アンドリー・ディエフ (@IllusionMH)
- ドン・ジャヤマンネ (@DonJayamanne)
- サイモン・チャン (@yume-chan)
- T.Y.M.SAI (@tymsai)
- ArturoDent (@ArturoDent)
- アレクサンダー (@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): コメントのissue番号を修正 PR #121758
- @bourdakos1 (Nick Bourdakos): setiアイコンを更新 PR #120938
- @CanadaHonk
- [themes] High Contrast Black デフォルトテーマのJSON書式設定を修正 PR #120761
- [themes] High Contrast Black デフォルトテーマのJSON書式設定を修正 (2) PR #120815
- [themes] High Contrast Black デフォルトテーマのJSON書式設定を修正 (3) PR #120841
- @conwnet (netcon): fix: エディターが読み取り専用の場合のみtextarea domにreadonly属性を追加する PR #120503
- @gjsjohnmurray (ジョン・マレー)
- 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): ノートブック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): 一般的にソースとされるファイルをシェルスクリプトとして認識する 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): 拡張ホスト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): 「ブレークポイント」ビューで現在のDataBreakpointアクセスタイプを表示 (#_119588) PR #119817
vscode-eslint
への貢献者
- @JoshuaKGoldberg (Josh Goldberg): eslint.rules.customizations - overrides付きで実装 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