2020 年 1 月 (バージョン 1.42)
アップデート 1.42.1: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap
Visual Studio Code の 2020 年 1 月リリースへようこそ。このバージョンには、皆さんに気に入っていただけるであろう多くのアップデートが含まれており、主なハイライトをいくつかご紹介します。
- 名前変更プレビュー - 差分ビューで保留中の名前変更を確認し、変更を簡単に承認または拒否できます。
- 開いているエディターの制限 - 一度に開くエディターの最大数を設定します。
- パネルの配置 - パネル (出力、ターミナル) をエディターの左、右、または下に移動します。
- 折りたたまれたコードのハイライト - 新しい背景のハイライトで折りたたまれた領域を素早く見つけます。
- デバッグコンソールの改善 - 構文ハイライト、括弧一致、入力履歴。
- グローバルタスクの定義 - ユーザーごとのタスクは、すべてのフォルダーとワークスペースで使用できます。
- Java 拡張機能のアップデート - データブレークポイントと呼び出し階層ビューの Java サポート。
- リモート開発 - SSH およびコンテナポートのマッピング用の新しい転送ポートビュー。
- 新しいコンテナチュートリアル - Docker コンテナの作成とデプロイ方法を学びます。
- プレビュー機能 - タイムラインビュー、検索エディター、セマンティックハイライトなどの初公開。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Insiders: 新しい機能をできるだけ早く見たいですか?毎日のInsidersビルドをダウンロードして、利用可能になり次第最新のアップデートを試すことができます。Visual Studio Codeの最新ニュース、アップデート、コンテンツについては、Twitterで@codeをフォローしてください!
Workbench
名前変更プレビュー
Visual Studio Code で 名前変更 の変更をプレビューできるようになりました。名前変更時には、⌘Enter (Windows、Linux Ctrl+Enter) で新しい名前を確定し、リファクタリングプレビュー パネルを表示できます。これは、保留中の変更を差分エディターに表示し、個々の変更のチェック/チェック解除を可能にします。名前変更が適用 (または中止) されると、差分エディターとプレビューパネルが閉じ、現在のエディターに戻ります。

テーマ: GitHub Sharp、フォント: FiraCode
開いているエディターの制限
一度に開くエディターの最大数を制限する新しい設定があります。
workbench.editor.limit.enabled: この機能を有効にします (デフォルトはオフ)。workbench.editor.limit.perEditorGroup: 制限をエディターグループごとに適用するか、すべてのグループに適用するか。workbench.editor.limit.value: 開いているエディターの最大数 (デフォルトは 10)。
有効にすると、新しいエディターを開いたときに、VS Code は最も使用頻度の低いエディターを閉じます。
以下に、制限が 3 に設定されている場合の動作を示します。

テーマ: Nord
注: ダーティエディター (未保存の変更があるファイル) は自動的に閉じられることはありませんが、開いているエディターの総数には含まれます。
無題のエディターの改善
VS Code の無題のエディターは、まだディスクに保存されていないテキストバッファーです。好きなだけ開いたままにしておくことができ、すべてのテキストコンテンツは再起動の間も保存され、復元されます。
無題のエディターのタイトル
以前は、無題のエディターには `Untitled-1` のように番号が振られた一般的な名前が付けられていました。このリリースでは、無題のエディターはドキュメントの最初の行の内容をエディターのタイトルに使用し、一般的な名前を説明として含めます。

テーマ: Nord
注: 最初の行が空であるか、単語を含まない場合、タイトルは以前と同様に `Untitled-*` に戻ります。
デフォルトの言語モード
デフォルトでは、無題のファイルには特定の言語モードが設定されていません。VS Code には、無題のファイルのデフォルト言語を設定するための `files.defaultLanguage` 設定があります。このリリースでは、この設定に新しい値 `{activeEditorLanguage}` を指定できるようになり、固定されたデフォルトの代わりに、現在アクティブなエディターの言語モードを動的に使用します。
さらに、テキストを無題のエディターにコピー&ペーストすると、VS Code エディターからコピーされたテキストであれば、VS Code は無題のエディターの言語モードを自動的に変更するようになりました。

テーマ: One Dark Pro
注: 無題のエディターにすでに言語モードが指定されている場合、テキストを貼り付けても変更されません。
最近使用したエディターのナビゲート
このリリースにより、すべてのエディターグループにわたる最近使用した (MRU) エディターのリストが利用できるようになりました。エディターは、アクティブなエディターとして開かれた場合、または既に開いている場合は新しいアクティブなエディターになった場合に最近使用されたと見なされます。エディターが閉じられると、このリストから削除されます。
このリストの応用例の 1 つが、新しい 表示: 最も最近使用したすべてのエディターを表示 (`workbench.action.showAllEditorsByMostRecentlyUsed`) コマンドから開くことができる新しい `edt mru` ピッカーです。

このピッカーをマウスなしで素早く操作するために、キーボードショートカットを追加できます。たとえば、以下は、Ctrl+Tab と Ctrl+Shift+Tab が (デフォルトのキーバインドのようにアクティブなグループ内だけでなく) すべてのグループのエディター間を移動するためのキーバインドです。
[
{
"key": "ctrl+tab",
"command": "workbench.action.quickOpenPreviousRecentlyUsedEditor",
"when": "!inEditorsPicker"
},
{
"key": "ctrl+shift+tab",
"command": "workbench.action.quickOpenLeastRecentlyUsedEditor",
"when": "!inEditorsPicker"
}
]
ピッカーを使用せずにリストをナビゲートしたい場合は、新しいコマンドがあります。
- 表示: 次に最近使用したエディターを開く (
workbench.action.openNextRecentlyUsedEditor) - 表示: 前に最近使用したエディターを開く (
workbench.action.openPreviousRecentlyUsedEditor)
どのエディターナビゲーションコマンドがピッカーで動作し、どのコマンドが動作しないかを区別するために、既存のいくつかのコマンドの動作が変更されました。特に、グループ内で最近使用したエディター コマンドは、もはやピッカーを使用しません。
- 表示: グループ内で次に最近使用したエディターを開く (
workbench.action.openNextRecentlyUsedEditorInGroup) - 表示: グループ内で以前に最近使用したエディターを開く (
workbench.action.openPreviousRecentlyUsedEditorInGroup)
ピッカーベースのナビゲーションには、以下を使用してください。
- 表示: グループ内で以前に最近使用したエディターをクイックオープン (
workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup) - 表示: グループ内で最も使用頻度の低いエディターをクイックオープン (
workbench.action.quickOpenLeastRecentlyUsedEditorInGroup)
パネルの移動
出力、デバッグコンソール、ターミナル、問題ペインを保持するパネルを、エディターの左側に移動できるようになりました。
コマンド 表示: パネル位置の切り替え (`workbench.action.togglePanelPosition`) は、以下の新しいコマンドを優先して削除されました。
- 表示: パネルを左に移動 (
workbench.action.positionPanelLeft) - 表示: パネルを右に移動 (
workbench.action.positionPanelRight) - 表示: パネルを下部に移動 (
workbench.action.positionPanelBottom)
再起動時にすべてのウィンドウを復元
VS Code の起動時にウィンドウを復元する設定は、デフォルトですべてのウィンドウを復元するように変更されました。以前の動作に戻したい場合は、"window.restoreWindows": "one" を設定して、単一のウィンドウのみを開くようにしてください。
保存の競合解決
VS Code は、ダーティファイル (VS Code の外部や別のプログラム (Git など) によって変更されたファイル) を保存しようとしたときに通知を表示する組み込みのメカニズムを備えています。

その目的は、ファイルがダーティになった後に変更されたにもかかわらず、保存するとディスク上のコンテンツが上書きされることをユーザーに知らせることです。比較 ボタンを選択すると、ディスク上のバージョンとともに変更を確認し、ファイルを上書きするか元に戻すかを選択できます。
ディスク上の変更を上書きできることが分かっている場合は、通知に直接 上書き ボタンが表示されるようになりました。また、files.saveConflictResolution をグローバル、ワークスペースごと、またはファイルタイプごとに設定して、この動作を完全に無効にすることもできます。オプションは askUser (デフォルト) または overwriteFileOnDisk です。
遅い保存操作の処理
VS Codeでは、ファイルをディスクに保存する際に拡張機能がファイルの内容を変更することができます。保存時にフォーマット や 保存時に修正 といった機能がその例です。しかし、保存は重要な操作であり、保存中に処理を行う拡張機能は、実際の保存操作が続行できるように迅速に完了する必要があります。"迅速に" は以前、VS Codeによって強制されており、タイムアウト後にVS Codeが拡張機能の保存操作をキャンセルしていました。この強制は高速な保存を保証しましたが、期待される処理が行われないことがあったため、不満の原因となることもありました。
このリリースでは、タイムアウトベースのアプローチを廃止し、代わりに保存に参加する拡張機能(「保存参加者」)をキャンセルできる進行状況通知を表示するようにしました。この通知は、保存操作が実行中であることを知らせ、保存参加者の完了を待つかどうかをユーザーが決定できるようにします。

テーマ: Light+
ソース管理入力
ソース管理ビューの入力ボックスが Monaco エディター を使用するようになりました。Monaco エディターは、複数のカーソルや行の移動/コピーコマンドなどの便利な機能をサポートしています。
マルチルートエクスプローラーでの2段階折りたたみ
マルチルートワークスペースを使用している場合、ファイルエクスプローラーの フォルダーを折りたたむ ボタンが2段階の動作になりました。最初のクリックでは、各トップレベル内のすべてのフォルダーが折りたたまれ、2回目のクリックではトップレベルのフォルダーが折りたたまれます。検索ビューではすでにこの動作が採用されています。

テーマ: Monokai
OS の配色に基づいてテーマを自動切り替え
Windows と macOS は現在、ライトおよびダークの配色をサポートしています。新しい設定 `window.autoDetectColorScheme` が追加され、VS Code に OS の配色変更を監視し、それに応じて一致するテーマに切り替えるように指示します。
配色が変更されたときに使用されるテーマをカスタマイズするには、以下の設定で好みのライトおよびダークテーマを設定できます。
workbench.preferredLightColorThemeworkbench.preferredDarkColorTheme
Editor
Peek ビューのフォーカスを制御
Peek ビューが最初にどこにフォーカスを置くかを制御する新しい設定とコマンドがあります。デフォルトでは、Peek は右側のツリーにフォーカスを当てるため、参照にすばやく移動できます。エディターで素早くコード変更を行いたい人にとっては、ツリーへの最初のフォーカスは最適ではありません。新しい `editor.peekWidgetDefaultFocus` 設定で優先順位を定義できるようになり、これを `editor` または `tree` に設定できます。また、Peek エディターとツリーの間でフォーカスを移動できる新しいコマンド `togglePeekWidgetFocus` (⌘K F2 (Windows、Linux Ctrl+K F2)) もあります。
折りたたまれた領域のハイライト
背景のハイライトが追加され、折りたたまれたコード領域がより見つけやすくなりました。

テーマ: Dark+
この機能は `editor.foldingHighlight` 設定で制御され、色は `editor.foldBackground` でカスタマイズできます。
"workbench.colorCustomizations": {
"editor.foldBackground": "#355000"
}
折りたたみ機能の改善
折りたたみインジケーターを Shift + クリック すると、まず内部範囲が折りたたまれます。再度 Shift + クリック すると (すべての内部範囲が既に折りたたまれている場合)、親が折りたたまれます。再度 Shift + クリック するとすべて展開されます。

既に折りたたまれた範囲で 折りたたみ コマンド (⌥⌘[ (Windows, Linux Ctrl+Shift+[)) を使用すると、次に展開されていない親範囲が折りたたまれます。
新しい改行オプション
デフォルトでは、エディターはすべての文字が同じ幅であると仮定して改行位置を計算します。この仮定により、デフォルトのアルゴリズムは高速ですが、等幅フォントでない場合や、文字の幅が異なるスクリプトでテキストを記述している場合、結果が思わしくありません。新しい設定 `editor.wrappingStrategy` が追加され、`advanced` に設定すると、エディターは改行位置の計算をブラウザに委任します。
アクセシビリティ
提案ウィジェットの改善
提案ウィジェットは ARIA アラートを使用しなくなり、スクリーンリーダーにフォーカスされていることを適切に示します。これにより、スクリーンリーダーが誤って邪魔になるのを防ぐはずです。
スクリーンリーダーが検出された場合、editor.accessibilityPageSize は 160 に設定されます。
`editor.accessibilityPageSize` 設定は、スクリーンリーダーが一度に読み取ることができるエディター内の行数を制御します。ただし、大きな値を使用するとパフォーマンスに影響があります。このリリースでは、スクリーンリーダーが検出された場合(そしてNVDAのバグによりそれ以上は設定しない)、自動的に値を160行に設定することにしました。
Orca を使用した Linux アクセシビリティ
Orca スクリーンリーダーを使用して Linux で VS Code を利用可能にするための調査を開始しました。しかし、この作業には Electron 7 が必要であるため、次の安定版リリースでさらに進展が見られると予想しています。それまでの間、Linux アクセシビリティについては、Insiders バージョンをご利用いただき、フィードバックをお寄せください。
統合ターミナル
スクロール感度
ターミナルのスクロール感度が、新しい設定を使用してエディターとは独立して構成できるようになりました。
terminal.integrated.mouseWheelScrollSensitivity- マウスホイールスクロール倍率 (デフォルトは 1)。terminal.integrated.fastScrollSensitivity- Alt キーを押したときの高速スクロール倍率 (デフォルトは 5)。
デバッグ
簡素化された初期デバッグビュー
デバッグビューでの開始を簡素化するため、VS Code は 実行とデバッグ ボタンを 1 つだけ表示するようになりました。デバッグなしで実行 アクション (すべてのデバッガーでサポートされているわけではありません) は、デバッグメインメニューで引き続き利用できます。
ユーザーからのフィードバックに基づき、ブレークポイントが少なくとも1つ設定されている場合、開始ビューにブレークポイントペインが表示されるようになりました。

デバッグコンソールの改善
デバッグコンソール入力
デバッグコンソール入力が、現在アクティブなエディターの言語モードを使用するようになりました。これにより、デバッグコンソール入力は、構文カラーリング、インデント、引用符の自動閉じ、その他の言語機能をサポートします。

入出力表示
デバッグコンソールの入出力表示を調整し、より区別しやすくしました。VS Code は、入力式にのみ矢印を表示します。

デバッグコンソール入力履歴の提案
デバッグコンソールの入力ボックスが、以前に入力されたエントリを自動的に提案するようになりました。履歴の提案と他の IntelliSense エントリを区別するために、テキストアイコンが使用されます。

デバッグ後、デバッグコンソールを非表示にする
デバッグが停止した後にデバッグコンソールを自動的に閉じるかどうかを制御する新しい設定 `debug.console.closeOnEnd` が追加されました。
console.table(...) のサポート
デバッグコンソールで、Node.js の `console.table(...)` API からの出力を表示できるようになりました。

ロード済みスクリプトビューの改善
ロード済みスクリプトビューは、VS Code の新しいツリービューを使用するように更新されました。これは、VS Code のファイルエクスプローラーと同様に、単一の子フォルダーを同じコンパクトな形式で表示します。さらに、入力中にツリーを検索して展開できるようになりました。

次回のリリースでは、「入力中に検索して展開する」機能がツリーの機能と重複するため、デバッグ: ロード済みスクリプトを開く コマンドを削除する予定です。
起動構成の並べ替えとグループ化
起動構成と複合構成が、新しい構造化属性 presentation をサポートするようになりました。order、group、hidden 属性を使用することで、デバッグ構成ドロップダウンとデバッグクイックピックで構成と複合構成を並べ替え、グループ化、非表示にすることができます。
たとえば、launch.json 内の起動構成には、次の presentation フィールドを含めることができます。
"presentation": {
"group": "5_tests",
"order": 10,
"hidden": false
}
例として、VS Code 自身のいくつかの起動構成にプレゼンテーションを追加し、より意味のある方法でグループ化したり、複合起動構成の一部であるだけの構成を非表示にしたりしました。

デバッグアクティビティバーアイコンと装飾
ユーザーのフィードバックに基づき、アクティビティバーのデバッグアイコンを更新し、実行とデバッグ をより適切に表現するようにしました。デバッグ中は、デバッグアイコンに数値の装飾が表示され、アクティブなデバッグセッションの数を示します。

タスク
ユーザーレベルのタスク
tasks.json で宣言されたタスクが、ユーザー設定レベルでサポートされるようになりました。多くのプロジェクトで共通して使用するビルドスクリプトがある場合や、プロジェクトフォルダーにタスクを含めたくない場合は、ユーザーの tasks.json ファイルにタスクを追加できます。タスク: ユーザータスクを開く コマンドを実行してユーザーレベルのタスクを作成すると、これらのタスクはすべてのフォルダーとワークスペースで利用できるようになります。ここでは shell および process タスクタイプのみがサポートされます。
入力 pickString ラベル
タスク `inputs` を使用する場合、pickString 入力 options に分かりやすいラベルを追加できます。
"inputs": [
{
"id": "pickAnInputValue",
"description": "Pick a Value",
"type": "pickString",
"options": [
"first-value",
{
"label": "Second Value",
"value": "second-long-value-that-can-be-simplified-for-display"
}
],
"default": "first-value"
}
]
ラベルは次のように表示されます。

言語
TypeScript 3.7.5
バンドルされている TypeScript のバージョンを 3.7.5 に更新しました。このマイナーアップデートには、Windows の C: ドライブに保存されていないプロジェクトの IntelliSense の修正など、いくつかの重要なバグ修正が含まれています。
HTML ミラーカーソルがデフォルトでオフに
HTML ミラーカーソル は、オプトイン機能になりました。次回のイテレーションでは、この機能をより理解しやすく、より多くの言語で利用できるようにするため、その実装を改善し続けます。html.mirrorCursorOnMatchingTag をオンにすることで、この機能は引き続き使用できます。
プレビュー機能
プレビュー機能はリリース準備ができていませんが、使用できる程度には機能しています。開発段階での皆様の早期フィードバックをお待ちしております。
タイムラインビュー
このマイルストーンでは、新しいタイムラインビューの開発を進め、初期プレビューを公開します。これは、リソース (ファイル、フォルダー) の時系列イベント (Git コミット、ファイルの保存、テストの実行など) を視覚化するための統合ビューです。タイムラインビューを有効にするには、Insiders エディションを使用し、次の設定を追加する必要があります。
"timeline.showView": true
以下に、ファイルの Git コミット履歴を表示するタイムラインビューを示します。

テーマ: Dark Amethyst
この初期プレビューでは、タイムラインビューはアクティブなドキュメントの Git コミット履歴を表示し、現在は 32 項目に制限されています。これらのコミットのいずれかを選択すると、そのコミットによって導入された変更の差分ビューが開きます。拡張機能も独自のタイムラインソースを提供できるようになり、この統合タイムラインビューに表示されます。最終的には、ビューに表示するソースを選択 (フィルター) できるようになります。
この新機能にはさらに多くの計画がありますので、ご期待ください。この機能の進捗状況は、issue #84297 を購読し、'timeline' ラベルの付いた問題に注目することで追跡できます。このビューに表示したい他の種類の情報に関するアイデアがあれば、ぜひお知らせください!
検索エディター
私たちは新しい検索エディターの開発を継続しており、このイテレーションの目標は、検索エディターを主要な検索エクスペリエンスにすることでした。その目的のために、検索エディターのクエリを設定するための UI を実装しました。

テーマ: Noctis Lilac、フォント: Hasklig
検索エディターには、好みのキーボードショートカットにバインドできるいくつかのコマンドがあります。
search.action.openNewEditor: アクティブなエディターグループで新しい検索エディターを開きます。search.action.openInEditor: 現在の検索結果を新しい検索エディターにコピーします。
検索エディターの詳細と今後のアップデートについては、問題 #23931 を参照してください。
注: 検索エディターは Insiders でデフォルトで有効になっており、Stable では search.enableSearchEditorPreview を true に設定することでオプトインできます。
TypeScript と JavaScript のセマンティックハイライト
TypeScriptとJavaScriptのセマンティックハイライトのサポートは開発中であり、まだデフォルトでは有効になっていません。以下の設定を追加することで試すことができます。
"editor.semanticHighlighting.enabled": true
有効にすると、一部の識別子が新しい色とスタイルを持ち、解決された型に従ってハイライトされるようになります。デフォルトの構文 (TextMate) ハイライターは多くのトークンを `variables` として分類しますが、これらは名前空間、クラス、パラメーターなどに解決されるようになりました。
これはインポートセクションで最もよく見られます。各インポートされたシンボルがシンボルの型で色付けされるようになりました。

開発者: エディタトークンとスコープを検査 コマンドを使用して、各場所で計算されたセマンティックトークンと構文トークンを検査できます。
新しいJavaScriptデバッガー
私たちは Node.js と Chrome 用の新しいデバッガを開発してきました。これは Insiders ではデフォルトでインストールされており、VS Code Stable ではマーケットプレイスからインストールできます。既存の起動構成で debug.javascript.usePreview 設定を有効にすることで、使用を開始できます。今月追加された新機能の一部を以下に示します。
新しい JS デバッガーは、新しい JavaScript デバッグターミナルで実行するコマンドを自動的にデバッグします。このターミナルは、デバッグ: JavaScript デバッグターミナルを作成 コマンドで開くことができます。

テーマ: Earthsong、フォント: Fira Code
新しいデバッガは、package.json の `scripts` セクションに デバッグ CodeLens を提供し、追加の設定なしでスクリプトを実行およびデバッグできます。

CodeLens の表示と場所 (上部またはインライン) は、debug.javascript.codelens.npmScripts 設定で設定できます。
ぜひお試しください!新しいデバッガーで問題が発生した場合は、vscode-js-debug リポジトリに問題を報告できます。
サイドバーからパネルへのビューの移動
VS Code のレイアウトをより簡単にカスタマイズできるように、活発に作業が行われています。この設定で進捗状況をテストできます。
"workbench.view.experimental.allowMovingToNewContainer": true
設定を有効にすると、一部のビューに新しいコンテキストメニューエントリが表示され、サイドバーとパネルの間で移動できるようになります。現在、この設定はエクスプローラーのアウトラインビューと拡張機能によって提供されるビューにのみ影響します。また、サイドバーのようにパネルでこれらのビューを結合することはできません。

テーマ: LaserWave、フォント: Cascadia Code
これは機能のプレビューにすぎず、上記の制限を含め、その多くの側面が変更される可能性があります。詳細については、Insiders バージョンで確認してください。
検索に関する注記: ビューを移動するための新しい汎用的な方法により、古い検索ビュー設定 search.location とコマンド 検索: 検索ビュー位置の切り替え (`search.action.toggleSearchViewPosition`) は非推奨になります。設定は自動的に移行されるはずですが、今後検索ビューを移動するには新しい汎用的な方法を使用する必要があります。新しいコンテキストメニューエントリで検索ビューを移動するために、上記の実験的なプレビュー設定を有効にする必要はありません。
TypeScript 3.8 ベータのサポート
VS Code は来月の公式リリースまで TypeScript 3.8 をバンドルしませんが、このイテレーションでは、TypeScript 3.8 ベータのすべてのエキサイティングな新機能 をサポートしました。
これらには以下が含まれます。
- JavaScript および TypeScript ファイルにおける プライベートフィールド の IntelliSense と構文ハイライト。
- JavaScript および TypeScript の呼び出し階層サポート。
- テンプレート文字列への変換リファクタリング!
TypeScript Nightly 拡張機能 をインストールすることで、これらすべての新しい TypeScript 3.8 機能を今すぐ簡単に試すことができます。TypeScript 3.8 ベータ版で何かバグに遭遇した場合は、フィードバックをお寄せください!
拡張機能への貢献
Java デバッガーがデータブレークポイントをサポート
Debugger for Java 拡張機能は、VS Code 1.38 で導入された データブレークポイント をサポートするようになりました。この機能により、変数の値が変更されたときにヒットするブレークポイントを作成できます。
以下に、Owner.telephone 文字列が変更されたときにデバッガが中断する様子を示します。

Java 呼び出し階層ビュー
Language Support for Java 拡張機能が Call Hierarchy (呼び出し階層) ビューをサポートするようになりました。これにより、関数からの、または関数へのすべての呼び出しが表示され、呼び出し元の呼び出し元や呼び出しの呼び出しにドリルダウンできます。
シンボルを右クリックし、Peek > Peek Call Hierarchy を選択すると、呼び出し階層が表示されます。

リモート開発
リモート開発拡張機能の作業が続けられています。これにより、コンテナ、リモートマシン、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
バージョン 1.42 の主な機能は以下の通りです。
- Remote - SSH: Windows サーバーのサポートが改善され、OS の自動検出が含まれます。
- WSL: WSL リソースの Windows エクスプローラーを開く Explorer で表示 のサポート。
- Dev Containers: Git や zsh などの依存関係を含む、事前に構築されたコンテナイメージ。
- 転送ポートビュー: SSH およびコンテナポートのマッピング、表示、再利用。
新しい拡張機能とバグ修正については、Remote Development リリースノート で確認できます。
拡張機能作成
Codicon を再利用
ほとんどの VS Code アイコンには、codicon アイコンフォントが使用されています。拡張機能は、これらのアイコンをシンプルかつ宣言的な方法で再利用できるようになりました。
vscode.ThemeIcon型は、codicon の名前でインスタンス化できるようになりました。たとえば、`new vscode.ThemeIcon("zap")` のように使用します。vscode.MarkdownString型は、$(のインライン構文をサポートするようになりました。たとえば、) myMdString.appendMarkdown('Hello $(globe)');のように使用します。MarkdownString内で codicon を使用するには、supportThemeIconsコンストラクタ引数を有効にする必要があることに注意してください。- 拡張機能の
package.jsonファイルで定義されたcommandsは、アイコンに codicon を使用できるようになりました。インライン構文を使用します。たとえば、"icon": "$(zap)"のように使用します。
![]()
テーマ: Light+
上記のホバー例は、利用可能なすべての codicon をレンダリングしています。ホバーは以下のスニペットで作成されましたが、読みやすさのためにほとんどの codicon 名は `all` 定数から削除されています。
vscode.languages.registerHoverProvider(
'*',
new (class implements vscode.HoverProvider {
provideHover(doc: vscode.TextDocument, pos: vscode.Position) {
const all = `$(activate-breakpoints)$(add)...$(zoom-out)`;
const md = new vscode.MarkdownString(all, true);
return new vscode.Hover(md, doc.getWordRangeAtPosition(pos));
}
})()
);
補完アイテムの挿入と置換
単語の末尾でトリガーされる補完は通常、その単語を置換します。しかし、単語内で補完がトリガーされる場合、単語の末尾を置換すべきかどうかが明確ではありません。拡張機能の作者の好みに応じて、ユーザーはどちらかの動作を受け取ります。これは理想的ではないため、補完アイテムの挿入範囲と置換範囲を表現するための API が追加されました。
そのために、CompletionItem#range に新しい OR 型を追加しました。
export class CompletionItem {
range?: Range | { inserting: Range; replacing: Range };
//...
}
- 範囲が
undefinedの場合、VS Code は現在の単語の範囲を 置換 に使用し、カーソル位置で切り詰めた同じ範囲を 挿入 に使用します。 - 範囲が単純な
vscode.Rangeの場合、VS Code は挿入または置換の場所が 1 つしかないことを認識します。 - 範囲が
insertingとreplacingの範囲を持つオブジェクトの場合、VS Code はそれらを直接使用します。
この情報は、ユーザーが好みを定義できる `editor.suggest.insertMode` 設定と組み合わせて使用されます。次のリリースで挿入と置換の動作をより視覚的にする計画があるため、拡張機能の作成者にはこの API を迅速に採用するようお願いしています。
CallHierarchyProvider の洗練
CallHierarchyProvider#prepareCallHierarchy に小さな変更を加え、1 つまたは複数の CallHierarchyItem 要素を返すことができるようになりました。many オプションは、複数のオーバーロードを持つ要素の呼び出し階層を要求する場合に便利です。
ターミナルに公開される作成オプション
Terminal オブジェクトに新しい creationOptions プロパティが追加され、拡張機能がターミナルがどのように作成されたかを識別するために使用できるようになりました。
言語固有の設定
拡張機能は、新しい構成スコープ `language-overridable` を使用して、言語でオーバーライドできる設定を提供できるようになりました。
例
"contributes": {
"configuration": {
"title": "sample",
"properties": {
"sample.languageSetting": {
"type": "boolean",
"scope": "language-overridable"
}
}
}
}
Configuration APIはこれらの設定をサポートするように拡張されました。必要な `languageId` を渡すことで、APIを使用してこれらの設定を読み取り、更新できます。
例
/**
* Read language configuration.
*/
const textDocumentConfiguration = vscode.workspace.getConfiguration('sample', {resource, languageId});
textDocumentConfiguration.get('languageSetting');
/**
* Override configuration under language
*/
textDocumentConfiguration.update('languageSetting', false, ConfigurationTarget.Global, true);
/**
* Listen language configuration changes
*/
workspace.onDidChangeConfiguration(e => {
if(e.affectsConfiguration('sample.languageSetting', {resource, languageId}) {
}
});
詳細については、Configuration API を参照してください。
拡張機能ビューのコンテキストメニュー
新しいメニューの場所 `extension/context` を使用して、拡張機能ビューの拡張機能のコンテキストメニューにコマンドを提供できるようになりました。
例
"contributes": {
"commands": [
{
"command": "extension.helloWorld",
"title": "Hello World"
}
],
"menus": {
"extension/context": [
{
"command": "extension.helloWorld",
"group": "2_configure",
"when": "extensionStatus==installed",
}
]
}
}

コマンド実行時に拡張機能のIDが引数として渡されます。
例
vscode.commands.registerCommand('extension.helloWorld', extensionId => {
vscode.window.showInformationMessage(extensionId);
});
コマンドの when 条件で使用できる、次の定義済みコンテキストがサポートされています。
extensionStatus==installedisBuiltinExtension
DebugConfigurationProvider の変数置換アクセス用フック
デバッグ用の拡張機能 API は、`DebugConfigurationProvider` に `resolveDebugConfiguration` というフックを提供しており、これはデバッグアダプターに渡される前にデバッグ構成を検証するために使用できます。このフックは変数が置換される前に呼び出されるため、検証コードは簡単にデバッグ構成にさらに多くの変数を追加し、それらを時間内に置換させることができます。
このアプローチでは、`resolveDebugConfiguration` フックで解決された変数値を使用することが困難になる場合があります。たとえば、拡張機能 (置換された値が利用可能なデバッグアダプターではない) にのみ存在する機能を検証または実装する場合などです。問題 #85206 に例があります。一部の拡張機能は、独自に変数を置換し始めています (すべての場合をカバーしないため、しばしば不完全です)。
ユーザーの視点から見ると、これは紛らわしいです。デバッグ構成では、一部の属性変数を使用できます (置換後にデバッグアダプターで処理されるため) が、一部の属性変数は使用できません (置換がまだ行われていない拡張機能で処理されるため)。問題 #87450 は、後者の問題の良い例です。
このマイルストーンでは、DebugConfigurationProvider に 2 つ目のフック resolveDebugConfigurationWithSubstitutedVariables を追加することでこの問題に対処しました。このフックは、すべての変数が置換されたデバッグ構成を受け取ります。
この新しい API の利用が可能になったため、すべてのデバッグ拡張機能の作者の方々には、現在実装されている `DebugConfigurationProvider.resolveDebugConfiguration` を慎重に見直し、新しい変数を導入せず、置換された変数で実行されることで恩恵を受けるすべてのコードを、新しいメソッド `resolveDebugConfigurationWithSubstitutedVariables` に移動するようお願いしています。
拡張機能内にデバッグアダプターを実装する
既存のデバッグ拡張機能 API は、デバッグアダプターをいくつかの方法で実行するために `DebugAdapterDescriptorFactory` を登録する機能をサポートしています。
外部プロセスとして
vscode.debug.registerDebugAdapterDescriptorFactory('mock', {
createDebugAdapterDescriptor: _session => {
return new vscode.DebugAdapterExecutable('mockDebug.exe');
}
});
ネットワークセッションとして
vscode.debug.registerDebugAdapterDescriptorFactory('mock', {
createDebugAdapterDescriptor: _session => {
return new vscode.DebugAdapterServer(12345, 'localhost');
}
});
このマイルストーンでは、デバッグアダプターの「インライン」実装を提供できる 3 番目のバリアントが追加されました。
vscode.debug.registerDebugAdapterDescriptorFactory('mock', {
createDebugAdapterDescriptor: _session => {
return new vscode.DebugAdapterInlineImplementation(new InlineDebugAdapter());
}
});
これにより、ストリームベースのメカニズムを介してアダプターと通信する必要がなくなり、アダプターが拡張機能内で実行され、VS Codeの拡張機能デバッグの一部として簡単にデバッグできるため、開発が簡素化されます。
インライン実装 (上記の `InlineDebugAdapter` など) は、デバッグアダプタープロトコル を実装する必要があります。VS Code の拡張機能 API に完全なデバッグアダプタープロトコルを含めたくないため、そのプロトコルの最小限のサブセットを導入しました。インターフェース `vscode.DebugAdapter` には、DAP メッセージをアダプターに渡すメソッド (`handleMessage`) と、アダプターから受信した DAP メッセージをリッスンするメソッド (`onDidSendMessage`) の 2 つのメソッドしかありません。
このインターフェースに基づいて、デバッグアダプターの実装は以下のソースコードから始まります。
class InlineDebugAdapter implements vscode.DebugAdapter {
private sendMessage = new vscode.EventEmitter<DebugProtocol.ProtocolMessage>();
private sequence: 1;
readonly onDidSendMessage: vscode.Event<DebugProtocol.ProtocolMessage> = this.sendMessage
.event;
handleMessage(message: DebugProtocol.ProtocolMessage): void {
switch (message.type) {
case 'request':
const request = <DebugProtocol.Request>message;
switch (request.command) {
case 'initialize':
const response: DebugProtocol.Response = {
type: 'response',
seq: this.sequence++,
success: true,
request_seq: request.seq,
command: request.command
};
this.sendMessage.fire(response);
break;
// many more requests needs to be handled here...
default:
break;
}
break;
case 'response':
break;
case 'event':
break;
}
}
dispose() {
// clean up resources
}
}
デバッグアダプタープロトコル (node モジュール vscode-debugprotocol として利用可能) は `vscode.DebugAdapter` インターフェースの互換性のあるスーパーセットであるため、完全なプロトコルが必要で、デバッグアダプターを自分で実装したい場合は、モジュールをインポートできます。
よりはるかに簡単な代替手段は、ノードモジュール vscode-debugadapter として利用できる、当社のデフォルトのデバッグアダプター実装を (引き続き) 使用することです。バージョン 1.38.0-pre.4 以降、このモジュールで導入された `DebugSession` (または `LoggingDebugSession`) は、拡張機能 API で定義されたインターフェース `vscode.DebugAdapter` と互換性があります。
このAPIを使用すると、既存のデバッグアダプターの実装を次のように簡単に使用できます。
vscode.debug.registerDebugAdapterDescriptorFactory('mock', {
createDebugAdapterDescriptor: _session => {
return new vscode.DebugAdapterInlineImplementation(new MockDebugSession());
}
});
詳細については、Mock debug の例を参照してください。
注意: このリリースでは、デバッグアダプターを作成するための拡張機能 API が完成しました。そのため、**3 月のリリースで debuggers 貢献ポイントの非推奨属性 2 つのサポートを削除する** ことを発表します。
adapterExecutableCommand- 代わりに拡張機能 API のvscode.DebugAdapterDescriptorFactoryとvscode.DebugAdapterExecutableを使用してください。Mock debug の例 (API の使用方法 を示しています) を参照してください。enableBreakpointsFor- 代わりにbreakpoints貢献ポイントを使用してください。変換はpackage.jsonで行う必要があります。
現在の (非推奨の) JSON が次のようになっている場合:
"contributes": {
"debuggers": [{
"type": "csharp",
// ...
"enableBreakpointsFor": [ "csharp", "razor" ]
// ...
}]
変換は次のようになります。
"contributes": {
"breakpoints": [
{ "language": "csharp" },
{ "language": "razor" }
],
"debuggers": [{
"type": "csharp",
// ...
}]
影響を受ける拡張機能は、2 月中に新しい API に実装を適合させることをお勧めします。これにより、3 月までに問題を修正する十分な時間を確保できます。
提案された拡張API
すべてのマイルストーンには新しい提案APIが付属しており、拡張機能の作成者はそれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案APIを試すには、次の手順を実行する必要があります。
- 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
- 拡張機能の
package.jsonファイルに次の行が必要です:"enableProposedApi": true。 - 最新バージョンのvscode.proposed.d.tsファイルをプロジェクトのソース場所にコピーします。
提案APIを使用する拡張機能は公開できないことに注意してください。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊したくありません。
ワークスペース編集メタデータの追加
VS Code に搭載されたリファクタリングプレビューのサポートには、新しい、オプションの API 提案が付属しています。これにより、ワークスペース編集の変更を分類できます。たとえば、変更にユーザーの確認が必要かどうかを定義したり、「文字列とコメントの名前変更」などの説明を追加したりできます。この提案は issue #77728 で追跡されており、現在の設計は WorkspaceEditMetadata インターフェースを中心としています。
セマンティックハイライト
言語にセマンティックハイライトを追加することに関心がある場合は、セマンティックハイライトの概要に、概念と新しい API の概要が記載されています。
認証プロバイダー
一部の拡張機能では、他のサービスへの認証が必要です。問題 #88309 の提案は、拡張機能が他の拡張機能からアクセスできる認証プロバイダーを登録できるようにし、認証を実行するための共通のメカニズムを提供します。
タイムラインプロバイダー
拡張機能は、新しいタイムラインビューに独自のソースを提供する間もなく可能になります。独自のタイムラインソースを追加することに興味がありますか?問題 #84297 のこの初期提案を確認し、フィードバックをお寄せください。
Documentation.Refactoring 貢献ポイント
提案された `documentation.refactoring` 貢献ポイントにより、拡張機能はリファクタリングのドキュメントを提供できます。ユーザーはリファクタリングを要求するときにこのドキュメントを表示することを選択できます。

提案された貢献ポイントは、コマンドを使用してドキュメントの表示方法を拡張機能が制御できるようにします。
"contributes": {
"documentation": {
"refactoring": [
{
"title": "Learn more about JS/TS refactorings",
"when": "typescript.isManagedFile",
"command": "_typescript.learnMoreAboutRefactorings"
}
]
}
}
title— ユーザーに表示されるドキュメントアクションのラベル。when— ドキュメントを表示するタイミングの When 句。command— ドキュメントを表示するコマンド。たとえば、このコマンドはウェブページを開いたり、VS Code 内に直接ドキュメントを表示したりできます。
問題 #86788 が提案のステータスを追跡しています。
カスタムエディタのバックアップとホットイグジットフック
私たちは、このイテレーションでも提案されているカスタムエディタAPIの開発を継続しました。今月の主な調査は、カスタムエディタでホットイグジットを有効にする方法でした。問題 #88719では、ホットイグジットをサポートするために直面した課題と検討したいくつかのアプローチについて説明しています。
この調査の結果は、WebviewCustomEditorEditingDelegate インターフェースに新しいオプションの backup メソッドを追加することです。このメソッドは、リソースが変更されてから 1 秒ほど後に VS Code によって呼び出されます。backup メソッド内で、拡張機能はリソースを現在の状態に永続化する必要があります。ほとんどの場合、これはリソースをワークスペースストレージフォルダーに書き込むことを意味します。その後、エディターが再ロードされるときに、ワークスペース自体からリソースをロードする前に、永続化されたバックアップが存在するかどうかを確認する必要があります。
次回のイテレーションでも、カスタムエディタAPIの反復を継続します。
複雑な補完ラベル
私たちは、完全修飾名、インポートパス、戻り値の型、その他の情報を提供する必要がある複雑な補完項目に対応するために、CompletionItem API を進化させています。情報は事前に提供されなければならず、後で解決されるべきではありません。提供された情報は、提案ウィジェットにインラインで表示されます。次のイテレーションで現在の提案を反復します。その間、UI と発見可能性の課題の一部を解決するために、提案ウィジェットにステータスバーを追加することを検討しています。API に関するフィードバックをお待ちしております。

テーマ: Nord、フォント: Input Mono
診断エラーにリンクを追加する
診断エラーに、エラーコードに関連付けられたリンクを持たせることができるようになりました。リンクが提供された場合、問題パネル、インラインエラービュー、および診断エラーのホバーに表示されます。次回のイテレーションでこの機能の開発を続けるにあたり、問題 #11847 でフィードバックを提供できます。

Language Server Protocol
言語サーバープロトコル のバージョン 3.15 が利用可能になりました。また、VS Code LSP クライアント および Node.js で書かれた LSP サーバー 用の対応する npm モジュールもリリースしました。ライブラリの最新バージョンには、セマンティックトークンに関する提案された仕様と実装が含まれています。
LSP Web サイトでは、言語サーバーインデックス形式の仕様の予備バージョンと、対応する LSIF 概要がホストされています。
ブラウザーのサポート
ファイルをエディタにドラッグアンドドロップ
ブラウザで VS Code を使用する際、ローカルファイルをエディタ領域にドラッグアンドドロップして、ファイルの内容を持つダーティ (未保存) ファイルとして開くことができるようになりました。

新コマンド
| キー | コマンド | コマンドID |
|---|---|---|
| パネルを左に移動 | workbench.action.positionPanelLeft |
|
| パネルを右に移動 | workbench.action.positionPanelRight |
|
| パネルを下部に移動 | workbench.action.positionPanelBottom |
|
| 次に最近使用したエディターを開く | workbench.action.openNextRecentlyUsedEditor |
|
| 以前使用したエディターを開く | workbench.action.openPreviousRecentlyUsedEditor |
|
| グループ内で次に最近使用したエディターを開く | workbench.action.openNextRecentlyUsedEditorInGroup |
|
| グループ内で以前使用したエディターを開く | workbench.action.openPreviousRecentlyUsedEditorInGroup |
|
| 最近使用したエディターのピッカーを開く | workbench.action.showAllEditorsByMostRecentlyUsed |
|
| ピッカーを介して以前使用したエディターを開く | workbench.action.quickOpenPreviousRecentlyUsedEditor |
|
| ⌃Tab (Windows、Linux Ctrl+Tab) | ピッカーを介してグループ内で以前使用したエディターを開く | workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup |
| ピッカーを介して最も使用頻度の低いエディターを開く | workbench.action.quickOpenLeastRecentlyUsedEditor |
|
| ⌃⇧Tab (Windows、Linux Ctrl+Shift+Tab) | ピッカーを介してグループ内で最も使用頻度の低いエディターを開く | workbench.action.quickOpenLeastRecentlyUsedEditorInGroup |
| 開発者: 拡張機能ホストを再起動 | workbench.action.restartExtensionHost |
エンジニアリング
TSLint から ESLint への移行
VS Code は主に TypeScript で書かれています。コンパイラの他に、特定のスタイルとエンジニアリングルールを強制するためにリンティングを使用しています。以前は TSLint をそのタスクに使用していましたが、約 1 年前に TSLint のメンテナーが ESLint を優先して その非推奨を発表しました。
このマイルストーンでは、ESLint への移行が完了しました。これには、私たちの lint-configuration と カスタムルール が含まれます。最後に、`yo code` 拡張機能ジェネレーターも更新され、新しい TypeScript 拡張機能も ESLint によってチェックされるようになりました。
ご自身のプロジェクトで TSLint を使用している場合は、ESLint への切り替えを支援する TSLint から ESLint への移行 ガイドを作成しました。
TypeScript 3.8 ベータ版による VS Code のビルド
VS Code は現在、TypeScript 3.8 ベータ版 リリースを使用してビルドされています。
Monaco エディターを Shadow DOM でホストするためのサポート
マウス処理と動的 CSS に関するさまざまな問題を修正し、Monaco エディターが Shadow DOM API シャドウルート 内でホストできるようになりました。
新しいドキュメント
コンテナ
Microsoft Docker 拡張機能を使用した コンテナ の作成に関する新しい記事が公開されました。Node.js および ASP.NET Core アプリケーションをコンテナ化し、コンテナレジストリ にプッシュし、クラウドに コンテナをデプロイ するチュートリアルが掲載されています。

注目すべき修正点
- 12058: シャットダウン時のデータ損失を防ぐため、UI 状態を定期的に保存する
- 79205: 大文字小文字を区別しないプラットフォームで大文字小文字を区別するファイルシステムに接続した場合、エクスプローラーツリーが正しいコンテンツを表示しない
- 83543: デバッグプログラムの場所がアクティブなセッションのみに表示される
- 85057: カスタムダイアログでダイアログの詳細を説明行に移動する
- 86445: ホットキーで複数のウォッチデバッグ変数を同時に削除できない
- 88240: 多数のウォッチドロップダウン式を作成するのが遅い
- 89057: 読み取り専用エディタでも問題を表示できるようにする
- 89405: テキストファイル: 読み取り専用モデルの場合、ダーティを報告しない
ありがとうございます
最後に、そしてもちろん最も重要なこととして、Visual Studio Codeをさらに良くするために協力してくれた以下の方々に、心からの感謝を申し上げます!
問題追跡への貢献者
vscodeへの貢献者
- Alexander Fell (@AlexFell-Velo): パネルを左に配置 PR #84477
- AlexStrNik (@AlexStrNik): Fix #89493 PR #89653
- Brett Cannon (@brettcannon): Merge pull request #87946 from brettcannon/patch-2 PR #87946
- Bura Chuhadar (@BuraChuhadar)
- Siberian Cat (@cat-kitten): Roblox XML ファイルの構文ハイライトサポート PR #87755
- Charles Gagnon (@Charles-Gagnon): カバレッジのためにテストコードを計測しない PR #86608
- Chayim Refael Friedman (@ChayimFriedman2): セッション終了後にデバッグコンソールを非表示にする PR #83249
- Daniel Beigi (@dbeigi): Fixed #83983 collapsed をハイライトに追加 PR #84955
- Dmitry Gozman (@dgozman): デバッグアダプターメッセージを別タスクで処理; #33822, #79196 参照 PR #81403
- Dima Krasner (@dimkr): node-native-keymap を 2.1.1 に更新し、arm64 クロスコンパイルを容易にする PR #86659
- David Lechner (@dlech): デバッグアダプター再起動後にスレッドがフェッチされない問題を修正 PR #88790
- Daryl Chan (@dvrylc): アクティブなアイコンテーマがない場合、Markdown プレビューエディターアイコンを非表示にする PR #88692
- Fabien Launay (@FabienLaunay)
- Gabriel DeBacker (@GabeDeBacker): 拡張機能のインストールおよびアンインストールコマンドの実行が呼び出し元に例外をスローできるようにする PR #88714
- Jens Fischer (@Gama11): QuickPickItem.description と detail のドキュメントを明確化 PR #88622
- John Murray (@gjsjohnmurray): #85645 変数取得失敗メッセージの表示 PR #85842
- @GustavoASC
- Yunseok (@hannut91): タイポを修正 PR #88824
- Harald Rosberg (@hrosb): electron を 6.1.6 に更新、アクセシビリティアプリでウィンドウタイトルが表示されない問題を修正 PR #86837
- Andrew Liu (@hypercubestart): 解析された JSDoc author タグを修正 PR #80898
- Yuki Ueda (@Ikuyadeu): 'declare var' を 'declare const' に置き換える PR #87709
- Andrii Dieiev (@IllusionMH): 「含める/除外するファイル」フィールドの履歴エントリ入力でデバウンスを行う PR #86785
- Jason (@JasonMFry): :speech_balloon: ウェルカムページの文法を修正 PR #88801
- Jean Pierre (@jeanp413)
- Merge pull request #87827 from jeanp413/fix-79857 PR #87827
- enum 設定値のリンクがクリックできない問題を修正 PR #86463
- フィルタリングがアクティブなときに新しいデバッグウォッチ式を作成できない問題を修正 PR #88502
- ファイルドラッグアンドドロップがエクスプローラーペインを開かない問題を修正 PR #88078
- ファイルエクスプローラーでの新規ファイル/フォルダー作成および名前変更時に、フォーカスされた要素が正しくない問題を修正 PR #87052
- プレフィックスの前のスニペット置換を修正 PR #86509
- 空のワークスペースでターミナル環境変数が解決されない問題を修正 PR #83369
- mightProducePrintableCharacter テンキーサポートを修正 PR #77911
- Peek ウィジェットでインラインエディターにデフォルトでフォーカスするかどうかを制御する設定を追加 PR #88185
- Andy Edwards (@jedwards1211): fix(extHostProgress): デバウンスではなくスロットル PR #86161
- Jon Bockhorst (@jmbockhorst): ターミナルリンクの動作をエディターと一貫させる PR #83620
- Robert Jin (@jzyrobert)
- Kristian Thy (@kthy): feat: perl5 の領域折りたたみ PR #85642
- kevinn (@latel): fix stateService の最小限の誤字 PR #86744
- Jiaxun Wei (@LeuisKen): fix: サンドボックス属性に 'allow-forms' を追加 PR #87334
- Luis Oliveira (@lmvco): Shadow DOM のサポート PR #88536
- Jonathan Carter (@lostintangent): Markdown/Emmet 言語機能のスキーマ制限を削除 PR #87541
- Maher Jendoubi (@MaherJendoubi): Contributing: タイポを修正 PR #89256
- Maira Wenzel (@mairaw): タイポを修正 PR #88730
- Matias Godoy (@mattogodoy): タイポを修正 PR #86957
- Matt Crouch (@mjcrouch): さまざまなアイコンコンテナーの場所からスタイルが欠落している問題を修正 PR #88157
- Marko Novakovic (@mnovakovic): CallStackView はアクティブなフレームを一番上に移動しようとする PR #88074
- Mohammad Rahhal (@mrahhal): ミラーカーソル選択の修正 PR #86986
- Ilya Murav'jov (@muravjov): editor.insertSpaceAfterComment 設定 PR #41747
- Micah Smith (@Olovan): #84145 ターミナルパネルの切り替え時に修正 PR #88098
- pan93412 (@pan93412): fix(tokenClassificationExtensionPoint): いくつかのタイポ PR #89704
- Przemek Dziewa (@pdziewa): 長いステータスバーアイテムを修正 PR #87164
- Oliver Larsson (@Playturbo): 使いやすい pickstring オプション PR #89180
- Remy Suen (@rcjsuen): CompletionItem の insertText に不足していたドキュメントを追加 PR #87115
- @romainHainaut: Fix #83644 PR #86619
- Sameer Puri (@sameer): Linux でプライマリクリップボードを Shift-Insert で貼り付けられるようにする、#36170 を修正 PR #63374
- @sharkykh: 「名前変更時の現在の Git ブランチ名」を復元 PR #86919
- Simon Siefke (@SimonSiefke): fix #87181: ローカル関数の typescript 補完アイテムの種類 PR #87182
- @smilegodly: 重複する「検索をクリア」と「設定が見つかりません」を削除 PR #86494
- Konstantin Solomatov (@solomatov)
- @SPGoding: 拡張機能 package.json スキーマの誤ったキーを修正 PR #87042
- @sportshead: search.contribution.ts から search.location を削除 PR #89585
- @sverg1: customEditor のトグルと保存/プレビューのキーバインド PR #86505
- Ye Zhihao (@Vigilans): FileExplorer のブロック内で TreeView のリストサービスが誤って処理される問題を修正 PR #87805
- @xearonet: .bat 変数の囲みを修正 PR #88986
- Pen Tree (@zyctree): vscode.d.ts のタイポを修正 PR #87704
vscode-eslintへの貢献者
- Nikhil Verma (@NikhilVerma): モードがオブジェクトではなく配列であることを明確にする (config の場合) PR #853
- Tyler Waters (@tswaters): Fixes #805: package.json の eslint をサポート PR #877
language-server-protocolへの貢献者
- Sebastian Zarnekow (@szarnekow): マイナーな書式設定の不具合を修正 PR #876
- @KamasamaK
vscode-languageserver-nodeへの貢献者
debug-adapter-protocolへの貢献者
- Gerald Richter (@richterger): adapters.md を更新 PR #89
vscode-vsceへのコントリビューション
- Felix Hao (@felixhao28): リンクされた npm モジュールをサポート PR #411
- 道化師 (@wraith13): 現在の状況に合わせてメッセージを修正 PR #409
- Shaun Tabone (@xontab): 互換性を高めるため、npm list コマンドのログレベルを error に変更 PR #412
vscode-js-debugへの貢献者
- Ben Creasy (@jcrben): fix: launch.json から "program" を省略できるようにする PR #203
vscode-generator-codeへの貢献者
- Jake Witcher (@jakewitcher): 言語拡張テンプレートの language-configuration.json のタイポを修正 PR #189
- Stavros Tsourlidakis (@stsourlidakis): ext-command-js/test の eslint の問題を修正 PR #190
vscode-azurecli への貢献
- Matthew Burleigh (@mburleigh): マルチラインコマンドをサポート PR #61
vscode-emmet-helperへの貢献
- Diogo Felix (@onlurking): feat: emmet 略語を更新 PR #34
localizationへの貢献
Microsoft Localization Community Platform (MLCP) を利用する Cloud + AI Localization コミュニティメンバーは 800 人を超え、Visual Studio Code には約 170 人のアクティブなコントリビューターがいます。新しい翻訳の提供、翻訳への投票、プロセス改善の提案など、皆様のご貢献に感謝いたします。
貢献者の概要はこちらです。貢献者名リストを含むプロジェクトの詳細については、https://aka.ms/vscodeloc のプロジェクトサイトをご覧ください。
- ボスニア語 (ラテン文字、ボスニア・ヘルツェゴビナ): Sead Mulahasanović, Adnan Rizvan, Ismar Bašanović。
- ブルガリア語: Andreyka Lechev。
- チェコ語: Michal Černík。
- デンマーク語: Lasse Stilvang。
- オランダ語: Philip Denys, Lemuel Gomez, Dennis Hummel, Gideon van de Laar。
- 英語 (イギリス): Martin Littlecott, Alexander Ogilvie, Krishna Regar, Alonso Calderon, Daniel Imms, Kamalsinh Solanki。
- フィンランド語: Tuula P。
- フランス語: Antoine Griffard, Thierry DEMAN-BARCELÒ, Edouard Choinière, Joel Monniot, Rodolphe NOEL, Lucas A., Alain, BUFERNE, Xavier Laffargue, Mohamed Sahbi, DJ Dakta。
- ドイツ語: Pascal Wiesendanger, Marvin Heilemann, jan-nitsche, Jakob von der Haar, Michael Richter。
- ギリシャ語: Valantis Kamayiannis, Θοδωρής Τσιρπάνης。
- ヘブライ語: Ariel Bachar.
- ヒンディー語: Kiren Paul, Niraj Kumar, Preeti Madhwal, Jaadu Jinn, Mahtab Alam。
- ハンガリー語: József Cserkó, Kiss Attila Csaba, Krisztián Papp。
- 中国語 (簡体字): Yizhi Gu, Tingting Yi, Justin Liu, ick, Charles Dong, Peng Zeng, Tony Xia, 斌 项, 普鲁文, paul cheung, 张锐, Zhiqiang Li, Yixing Zheng, AlexiZz Nakido, 冉 耀隆, Chow David, Sheng Jiang, yungkei fan, Yao Rui, Joel Yang, 钟越, Chenglong Wei, 一斤瓜子, Yiting Zhu, Alexander ZHANG, YanJun Sun, Libing Yang, ZHENGCHENG CHEN, 张 任飞, 光宇 朴, 石岩 詹, 舜杰 杨, WJ Wang, Siam Chen。
- 中国語 (繁体字): Winnie Lin, 船長, Alan Tsai, TingWen Su。
- インドネシア語: Eriawan Kusumawardhono, Aldila, Arif Fahmi, Laurensius Dede Suhardiman, Mychael Go, Christian Elbrianno, Septian Adi。
- イタリア語: Alessandro Alpi, Luigi Bruno.
- 日本語: 符波 孝之, 有賀 誠一, 牧野 浩一, 尾崎 義久, 内田 貴康, 石井 俊, 内田 恭平, 天明 雅和, 戸倉 絢。
- 韓国語: Hongju。
- ラトビア語: Andris Vilde.
- ノルウェー語: Frode Aarebrot, Anders Stensaas, Thomas Ødegård, Thomas Isaksen。
- ポーランド語: Makabeus Orban, Mateusz Redynk, Kacper Łakomski, Piotr Rysak, Wojciech Maj, Oskar Janczak, Szymon Seliga, Franx Bar, Marcin Anonimus。
- ポルトガル語 (ブラジル): Marcelo Fernandes, Arthur Lima, Albert Tanure, Loiane Groner, Nylsinho Santos, Alessandro Trovato, Pudda, Matheus Vitti Santos, Rodrigo Crespi, Wellington OStemberg, Roberto Fonseca, Felipe Galante, Rodrigo Tavares, Alessandro Fragnani, Felipe Nascimento, Alexis Lopes。
- ポルトガル語 (ポルトガル): Francisco Osorio, Luís Chaves, Ricardo Sousa Vieira, João Fernandes。
- ルーマニア語: Tiberiu Frățilă, LaServici, Dan Ichim。
- ロシア語: Vadim Svitkin, Николай Соколовский, Дмитрий Кирьянов, Baturin Valery。
- セルビア語 (キリル文字): Dusan Milojkovic。
- スペイン語: José María Aguilar, Ricardo Estrada Rdez, JOSE AHIAS LOPEZ PORTILLO, Gustavo Gabriel Gonzalez, Camilo Sasía。
- スウェーデン語: Pelle Alstermo。
- タミル語: Rajesh Waran, MUTHU VIJAY, Sankar Raj, Kadhireshan S, saravanan ramesh, Aravindh JANAKIRAMAN, Pandidurai R, Madhu Chakravarthy, Madhu Maha.
- トルコ語: Mehmet Yönügül, Özgür ERSOY, mehmetcan Gün, Misir Jafarov, Isa Inalcik, Fırat Eşki, Gökberk Nur, Safa Selim.
- ウクライナ語: Serhii Shulhin, Arthur Murauskas, Oleksandr Krasnokutskyi, Фомін Тарас.
- ベトナム語: Dat Nguyen, Vương, Van-Tien Hoang, Dao Ngo, ng-hai.