2020年6月 (バージョン 1.47)
アップデート 1.47.1: このアップデートは、このセキュリティ問題に対処します。
アップデート 1.47.2: このアップデートは、これらの問題に対処します。
アップデート 1.47.3: このアップデートは、これらの問題に対処します。
ダウンロード: Windows: x64 Arm64 | Mac: Intel | Linux: deb rpm tarball snap
Visual Studio Code の2020年6月リリースへようこそ。このバージョンには、皆さんに気に入っていただけることを願う多くのアップデートが含まれており、主なハイライトは以下の通りです。
- アクセシビリティの改善 - 新しいスクリーンリーダー機能。
- Windows ARM ビルド - Windows on ARM が安定版で利用可能になりました。
- 新しい JavaScript デバッガー - ターミナルでのデバッグ、プロファイリングのサポート。
- ソース管理の統合ビュー - すべてのリポジトリが単一のビューに表示されます。
- 保留中の変更の表示とソート - ファイルをツリーまたはリストで表示し、名前、パス、またはステータスでソートします。
- オブジェクト設定の編集 - 設定エディターからオブジェクト設定を編集します。
- 新しい HexEditor 拡張機能 - VS Code 内からファイルを16進数形式で編集します。
- ノートブック UI の更新 - UX の改善と元に戻す/やり直すのサポート。
- リモート開発チュートリアル - SSH、コンテナ内、WSL での開発方法を学びます。
- macOS 用 Java Pack インストーラー - macOS で VS Code を使って Java 開発を始めるための設定。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
ライブに参加: 7月13日月曜日午前9時 (太平洋時間) (ロンドン時間午後5時) に開催される VS Code チームのライブストリームで、このリリースの新機能のデモをご覧になり、ライブで質問をしてください。
Insiders: 新しい機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、最新のアップデートが利用可能になったらすぐに試すことができます。Visual Studio Codeの最新ニュース、アップデート、コンテンツについては、Twitter @codeをフォローしてください!
アクセシビリティ
今回のマイルストーンでは、コミュニティから貴重なフィードバックを再びいただき、多くのアクセシビリティの問題を特定し、解決することができました。ハイライト
- ファイルエクスプローラーのコンパクトフォルダーが、展開/折りたたみ状態とARIAレベルを正しく読み上げるようになりました。
- スクリーンリーダーがエディター内のカーソルオフセットを更新できるようになりました。その結果、スクリーンリーダーの「すべて読み上げ」コマンドが、停止後および再開後に機能が向上するはずです。
- 同じARIAライブメッセージがスクリーンリーダーによって正しく再読み上げされるようになりました。
Workbench
設定エディターからオブジェクト設定を編集
以前は、設定エディターは文字列やブール値などのプリミティブ型設定の編集にのみ使用でき、より複雑な設定型の場合はsettings.jsonを直接編集する必要がありました。これで、非ネストオブジェクト設定を設定エディターから編集できるようになりました。拡張機能の作成者は、この機能を使用して、これらの種類の設定の可視性を高めることができます。
以前
設定エディター内

そしてsettings.json内

以後
設定エディター内

リストビューで選択し、フォーカスを保持する
新しいコマンドlist.selectAndPreserveFocusが追加されました。これにより、リスト内の項目を選択しながら、そのリストにフォーカスを保持できます。これは、ファイルエクスプローラーのようなリストから複数のファイルを選択したい場合に、フォーカスがファイルエディターに移動しないため、役立ちます。
このコマンドはデフォルトではキーボードショートカットにバインドされていませんが、独自のキーバインディングを追加できます。
{
  "key": "ctrl+o",
  "command": "list.selectAndPreserveFocus"
}
安定版 Windows ARM ビルド
Windows on ARM 用の VS Code が安定版で利用可能になりました!🎉
ドラッグ&ドロップで VSIX をインストール
VS Code は、拡張機能の VSIX ファイルを拡張機能ビューにドラッグ&ドロップしてインストールできるようになりました。
新しい検索エディターコマンド引数
検索エディターコマンド (search.action.openNewEditor、search.action.openNewEditorToSide) に2つの新しい引数が追加され、キーバインディングで新しい検索エディターの動作を設定できるようになりました。
- triggerSearch- 検索エディターが開かれたときに検索を自動的に実行するかどうか。デフォルトは true です。
- focusResults- 検索結果またはクエリ入力にフォーカスを置くかどうか。デフォルトは true です。
たとえば、次のキーバインディングは、検索エディターが開かれたときに検索を実行しますが、検索クエリコントロールにフォーカスを保持します。
{
  "key": "ctrl+o",
  "command": "search.action.openNewEditor",
  "args": { "query": "VS Code", "triggerSearch": true, "focusResults": false }
}
新しい検索エディターコンテキストのデフォルト
search.searchEditor.defaultNumberOfContextLines設定が、デフォルト値が0ではなく1になるように更新されました。つまり、検索エディターの各結果行の前後には1行のコンテキスト行が表示されます。以前の動作に戻すには、値を0に設定し直してください。
リスト/ツリー: 動的な水平スクロール
以前から存在したworkbench.list.horizontalScrolling設定は、ワークベンチをリロードせずに実行時に切り替えられるようになりました。
Editor
正規表現置換での大文字/小文字の変更
VS Code は、エディターで検索/置換を行う際に、正規表現の一致グループの大文字/小文字を変更する機能をサポートしました。これは、修飾子\u\U\l\Lを使用することで行われます。\uと\lは1文字を大文字/小文字にし、\Uと\Lは一致グループの残りを大文字/小文字にします。
例

修飾子を重ねることもできます。例えば、\u\u\u$1はグループの最初の3文字を大文字にし、\l\U$1は最初の文字を小文字にし、残りを大文字にします。
現在、これらはエディターの検索コントロールでのみサポートされており、グローバルなファイル内検索ではサポートされていません。
デバッグ
新しい JavaScript デバッガー
当社の新しい JavaScript デバッガーは、先月 Insiders でデフォルトのデバッガーになった後、VS Code で JavaScript (Node.js と Chrome) のデフォルトのデバッガーになりました。過去数回の VS Code の変更ログの「プレビュー機能」セクションをスキップした場合は、デバッガーの README の新機能セクションでキャッチアップできます。
新しいデバッガーを利用するために、設定や起動構成を変更する必要はありません。何か問題が発生した場合は、問題を報告してください!
単一ファイルデバッグ
今日まで、VS Code デバッガーには、エディター内のファイルをボタン1つで簡単にデバッグできることを示す標準的な方法はありませんでした。一部のデバッグ拡張機能では、通常、「エディターでファイルをデバッグ」を促すデバッグ構成でこれを行うことができましたが、ユーザーはF5を使用する前に、デバッグ構成ドロップダウンメニューで正しい構成を選択する必要がありました。他のデバッグ拡張機能は、F5のフォールバック戦略を実装しています。launch.jsonが存在しない場合、F5は現在アクティブなエディターで開かれているファイルをデバッグしようとします。
どちらのアプローチも簡単に発見できないため、一部のデバッグ拡張機能(Pythonなど)はエディターのタイトル領域に実行ボタンを追加し始めています。
より良いアプローチが見つからず、この方法が新しいAPIを必要とせずに実装できるため、標準的な実装方法に関するガイドラインを作成しました。拡張機能の作成者は、以下の「拡張機能のオーサリング」セクションでこれらのガイドラインを見つけることができます。
ユーザーはこれらのアイコンを覚えておくだけで済みます。

エディターのタイトル領域の左側に1つまたは両方が表示されている場合、エディターでファイルを直接実行またはデバッグできます。
CALL STACK ビューの整理
一般的なケースで CALL STACK をより整理されたものにする作業を開始しました。CALL STACK ビューは、技術的な理由で存在するものの、ユーザーにとってあまり価値のないデバッグセッションノードを非表示にすることをサポートするようになりました。
この機能に最初に採用されたデバッグ拡張機能は新しい JavaScript デバッガーで、単一の子セッションしかない場合に親デバッグセッションを削除できます。

他のデバッグ拡張機能もこれに追随することを願っています。新しい提案されたAPIについては以下を参照してください。
Jump to Cursor の新しいコマンドエイリアス Set Next Statement
Visual Studio を利用しているユーザーがJump to Cursor コマンドを見つけやすいように、コマンドエイリアスSet Next Statement を追加しました。
Jump to Cursor の機能をご存じない方のために説明すると、中間にあるソースコードを実行することなく、プログラムの実行を新しい場所に移動させることができます。
ホバー時にブレークポイントパスを表示
BREAKPOINTS ビューでソースブレークポイントにカーソルを合わせると、VS Code がブレークポイントの絶対パスを表示するようになりました。
タスク
pnpm パッケージマネージャーのサポート
pnpm が、npm および yarn とともに、スクリプトを実行するためのnpm.packageManager設定の有効な選択肢になりました。
ソース管理
単一ビュー
ソース管理ビューが単一のビューに統合されました。

すべてのリポジトリが1つのビューに表示されるため、ワークスペース全体のステータスをよりよく把握できます。さらに、ソース管理ビューをパネルに移動したり、他のビューをソース管理ビューコンテナに移動したりできるようになりました。
表示とソート
リストビューオプションを使用している場合、ソース管理ビューで変更を名前、パス (デフォルト)、および状態によってソートするサポートを追加しました。ビューオプション (リスト vs. ツリー) とソートオプションを、コンテキストメニューの新しい表示とソートメニュー項目に統合しました。

Git: squash メッセージの復元
通常のgit mergeコマンドと同様に、ユーザーがgit merge --squashコマンドの途中である場合、SCMビューはデフォルトメッセージでSCM入力を復元するようになりました。
言語
TypeScript 3.9.6
VS Code は TypeScript 3.9.6 をバンドルするようになりました。このマイナーアップデートでは、特定のソースコードパターンで TypeScript サーバーがクラッシュする可能性のあるバグを含め、いくつかのバグが修正されています。
ブラウザーのサポート
大容量ファイルアップロードのサポート
これで、大容量のファイルとフォルダを VS Code の Web バージョンにアップロードできるようになり、アップロードされたバイト数とアップロード速度を追跡できるよう、進行状況が正確に報告されます。

テキストファイルのエンコーディングサポートに向けて
このマイルストーンでは、ブラウザでのファイルの読み書きにおけるテキストエンコーディングの完全なサポートに多くの作業が費やされました。現在、webpack を活用することでブラウザでサポートされている2つのライブラリに依存しています。
- iconv-lite: エンコーディングの読み書き用
- jschardet: テキストコンテンツからエンコーディングを推測するため
この作業は7月も継続され、まもなく一般提供される予定です。
プレビュー機能
プレビュー機能はリリース準備ができていませんが、使用できる程度には機能しています。開発段階での皆様の早期フィードバックをお待ちしております。
設定の同期
この数ヶ月間、マシン間で VS Code の設定を同期するサポートに取り組んできました。この機能は、Insiders リリースでプレビュー版として利用できます。
同期済みマシンビューのマシンエントリーのコンテキストメニューアクション設定同期をオフにするを使用して、他のマシンでの同期を無効にできるようになりました。

同期をオンにした際の進行状況情報も改善されました。
TypeScript 4.0 サポート
今回のイテレーションでは、TypeScript 4.0 のサポートを継続して改善しました。主なハイライトは以下の通りです。
- 
エディターで非推奨のシンボルへの呼び出しを打ち消し線で強調表示  
- 
特定のリファクタリングが適用できない理由を説明  
- 
インポートの自動化の改善 - 詳しくはTypeScript 4.0 のブログ記事をご覧ください。 
TypeScript nightly extension をインストールすることで、これらの機能を今すぐ試すことができます。
大規模な JavaScript または TypeScript プロジェクトのロード中の部分的な IntelliSense サポート
TypeScript 4.0 ベータ版では、大規模な JavaScript または TypeScript プロジェクトのロード中に費やす時間を短縮するのに役立つ新機能も搭載されています。この機能がどのように機能するかを説明するには、まず現在のバージョンの TypeScript がどのように機能するかについて少し背景を説明する必要があります。
VS Code で JavaScript または TypeScript ファイルを開くと、TypeScript 言語サービスは、そのファイルが属するプロジェクトを決定し、関連するプロジェクトをロードします。VS Code のコアコードベースのように、何千もの TypeScript ファイルで構成されている場合、このプロジェクトは非常に大規模になることがあります。プロジェクトがロードされている間、VS Code はドキュメントのアウトラインを取得したり、コード折りたたみを有効にしたりするなどの基本的な構文操作を処理できますが、IntelliSense やその他のより高度な言語機能は、プロジェクト全体を理解することに依存しているため、現時点では提供できません。たとえば、自動インポートを提供するには、TypeScript 言語サービスはプロジェクト内のすべてのエクスポートされたシンボルを知る必要があります。
TypeScript 4.0 の変更により、VS Code は大規模なプロジェクトがまだロードされている間でも IntelliSense やその他のより高度な言語機能を提供できるようになりました。ただし、提供できる IntelliSense は、プロジェクト全体ではなく現在のファイルを参照することに限定されます。これは、サジェストや定義へ移動などの機能は機能しますが、現在のファイルからのサジェストのみが表示され、定義へ移動を実行して現在のファイル内の別のシンボルにジャンプすることしかできないことを意味します。
大規模な JavaScript および TypeScript プロジェクトで作業している場合は、この新機能に関するフィードバックに興味があります。TypeScript ナイトリー拡張機能を使用して今すぐ試すことができます。私たちの希望は、より完全なプロジェクト全体の IntelliSense が利用可能になるまで、コードでほぼ即座に作業を開始できるようにすることです。
コードアクションの取り消し/やり直し
コードアクションとリファクタリングの取り消しとやり直しができるように取り組んでいます。代表的な例としては、Java のクラス名変更リファクタリングがあります。これは、テキストの変更とディスク上のファイルの名前変更の両方を行います。これは元に戻せるようになりましたが、まだ2回取り消しをトリガーする必要があります。さらなる改善にご期待ください。また、早期のフィードバックをお願いいたします。
拡張機能への貢献
ノートブック
VS Code チームは引き続き、ノートブックのネイティブサポートに取り組んでいます。開発を支援するために、GitHub の課題やプルリクエストを検索できる GitHub Issue Notebooks 拡張機能を作成しました。この拡張機能はまだプレビュー版であり、VS Code Insiders の使用が必要ですが、ノートブックを直接体験できるため、フィードバックをお待ちしております。
更新された UX
よりコンパクトなデザインにするため、ノートブックセルの視覚的な外観を更新しました。また、選択状態をより分かりやすくするため、選択されたセルにシャドウのアウトラインを追加しました。

ノートブックのホットイグジットサポート
ノートブックにホットイグジットのサポートを追加し、拡張機能がバックアップと復元を処理できるようにしました。保存されていないローカルの変更は、拡張機能によってシリアル化され、ワークスペースが再度開かれたときに復元できるようになりました。
元に戻す/やり直すの機能強化
拡張機能が元に戻す/やり直すスタックに貢献できるようにサポートを追加しました。拡張機能は、どの操作が元に戻せるかを制御できるようになりました。たとえば、GitHub Issue Notebook では、ロックボタンを選択してセルの内容を読み取り専用にしたり、通常の元に戻す/やり直すコマンドでこの操作を元に戻したり/やり直したりできます。

テーマ: GitHub Theme
無題のノートブックを作成
新しいファイルコマンド (⌘N (Windows、Linux Ctrl+N)) を拡張し、新しい無題のノートブックファイルの作成をサポートしました。たとえば、以下のキーバインディングを使用して、GitHub Issue Notebook を素早く作成し、クエリを実行できます。
{
  "key": "cmd+i",
  "command": "workbench.action.files.newUntitledFile",
  "args": { "viewType": "github-issues" }
}

テーマ: GitHub Theme
ノートブックのカラー トークン
以下のノートブック用カラー トークンも追加しました。
- notebook.cellBorderColor: ノートブックセルの境界線の色
- notebook.cellHoverBackground: セルにホバーしたときのセルの背景色
- notebook.cellInsertionIndicator: ノートブックセルの挿入インジケータの色
- notebook.focusedCellBackground: セルがフォーカスされたときのセルの背景色
- notebook.focusedCellBorder: セルがフォーカスされたときのセルの上部と下部の境界線の色
- notebook.focusedCellShadow: セルがフォーカスされたときのセルの影の色
- notebook.focusedEditorBorder: ノートブックセルエディタの境界線の色
ノートブックでのデバッグのサポート方法を示す2つの新しいサンプル
- 
このサンプルは、既存の VS Code デバッガー拡張機能に基づいて、ノートブックデバッグ機能を実装する方法を示しています。  
- 
Xeus カーネルによる Jupyter Notebook デバッグ サンプル このサンプルは、xeus カーネルと Debug Adapter Protocol のネイティブサポートに基づいて、ノートブックデバッグ機能を実装する方法を示しています。  
ノートブック拡張機能ガイド
VS Code のノートブック拡張機能の作成に興味がある場合は、ノートブック API の詳細を説明する新しいガイドがあります。API と、VS Code ノートブックインフラストラクチャの詳細、およびノートブック拡張機能開発のベストプラクティスについて学習できます。
リモート開発
リモート開発拡張機能の作業が続けられています。これにより、コンテナ、リモートマシン、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
1.47 の主な機能は以下の通りです。
- リモート - SSH: リモートサーバーがポートではなくソケットでリッスンできるようになりました。
- Dev コンテナ: リポジトリをボリュームで開くように促します。
- Dev コンテナと WSL: 最近のブログ記事WSL 2 で Dev コンテナを使用するをご覧ください。
新しい拡張機能の機能やバグ修正については、リモート開発リリースノートをご覧ください。
VS Code リモート開発の初心者の方は、これらの入門チュートリアルから始めることができます。
Azure アカウント
Azure Account 拡張機能の最新バージョンでは、最新の Azure SDK で使用できる資格情報オブジェクトが公開されました。
GitHub Pull Requests and Issues
プルリクエストや課題の作業、作成、管理を可能にするGitHub Pull Requests and Issues 拡張機能の作業が継続されています。このリリースでのいくつかの更新には以下が含まれます。
- 問題ビューでの Markdown ホバー。
- 新しい課題エディターでのラベルの提案。
- GH-123 の形式で記述された課題に対するホバーサポート。
すべての新機能と更新の詳細については、拡張機能の 0.18.0 リリースの完全な変更履歴を参照してください。
Hexエディター
HexEditor 拡張機能は、VS Code 内でネイティブの16進数編集エクスペリエンスを提供するために改善され続けています。今回のリリースでの拡張機能の主な更新点には、シンプルな編集サポート(ユーザーが既存の16進数セルを元に戻す、やり直す、編集する、ドキュメントの末尾に新しいセルを追加できる)と、以前は不可能だった18メガバイトを超えるファイルを開くことを可能にする大規模ファイル最適化が含まれます。

注目すべき変更の完全なリストはCHANGELOGにあります。経験したフィードバックや問題は、vscode-hexeditor リポジトリに提出できます。
拡張機能作成
アクセシビリティ情報
スクリーンリーダーをサポートするために、TreeItem、StatusBarItem、およびTimelineItem要素のAccessibilityInformationを最終決定しました。AccessibilityInformationにはlabelとroleが含まれています。項目がフォーカスされると、スクリーンリーダーによってlabelが読み上げられます。項目のroleは、スクリーンリーダーがそれとどのように対話するかを定義します。roleは、たとえば、ツリーのような要素がチェックボックスのように動作する場合など、特殊なケースで設定する必要があります。roleが指定されていない場合、VS Codeは適切なroleを自動的に選択します。
「場所へ移動」のフォールバックメッセージ
editor.action.goToLocationsコマンドは、場所が見つからなかった場合にフォールバックメッセージを表示できるようになりました。これにより、拡張機能は、組み込み機能(例:定義へ移動)と同様に動作するスーパークラスへ移動などの機能を実装できます。以下のスニペットは、このコマンドを呼び出す拡張機能の完全なサンプルです。
vscode.commands.executeCommand(
  'editor.action.goToLocations',
  vscode.window.activeTextEditor.document.uri, //anchor uri and position
  vscode.window.activeTextEditor.selection.start,
  [], // results (vscode.Location[])
  'goto', // mode
  'No Super Types Found' // <- message
);
単一ファイルデバッグエクスペリエンスを改善するためのガイドライン
エディターに「実行」および/または「デバッグ」ボタンを追加して、単一ファイルデバッグエクスペリエンスを改善したいデバッグ拡張機能の場合、一貫性のあるルックアンドフィールを実現するために、以下のガイドラインに従うことをお勧めします。
- package.json に実行および/またはデバッグコマンドを貢献する (Mock Debug を参照)- コマンド名には「ファイルの実行」/「ファイルのデバッグ」または「Python ファイルの実行」/「Python ファイルのデバッグ」を使用します。
- 実行には$(play)アイコンを、デバッグには$(debug-alt-small)を使用します。
 
- エディターのタイトル領域にコマンドを追加します(Mock Debugを参照)。- 特定の言語のみでコマンドを表示するには、"resourceLangId == python"のような "when" 句を使用します。
- 実行コマンドを1_run@10グループに、デバッグコマンドを1_run@20グループに配置します。
 
- 特定の言語のみでコマンドを表示するには、
CodeActionProviderMetadata.documentation
CodeActionProviderMetadata の新しい documentation プロパティを使用すると、拡張機能は、返すコードアクションの静的ドキュメントを提供できます。このドキュメントは、プロバイダーがコードアクションを返したときにコードアクションリストの下部に表示されます。

ユーザーがドキュメントエントリを選択すると、コマンドが実行されます。このコマンドは、ドキュメントをエディターに表示するか、ブラウザで開くことができます。
開くおよび保存ダイアログのタイトル
OpenDialogOptions および SaveDialogOptions を介して、ファイルダイアログを開くおよび保存するための title を提供する API が確定しました。ただし、すべてのオペレーティングシステムでこのタイトルを設定できるわけではないため、動作は拡張機能の実行場所によって異なる場合があります。
新しい拡張機能カテゴリ
新たに以下のカテゴリを使用して拡張機能を分類できるようになりました。
- データサイエンス
- 機械学習
- 可視化
- テスト
- ノートブック
セカンダリボタンのスタイル
ボタンを目立たなくする必要がある場合に使用するセカンダリボタンのスタイルを導入しました。
- button.secondaryForeground
- button.secondaryBackground
- button.secondaryHoverBackground
GitHub Workflow バッジ
github.comが承認済みバッジソースのリストに追加されたため、公開された拡張機能のバッジリストにGitHub Workflow バッジを追加できるようになりました。

argv.json を介した提案された API の有効化
enable-proposed-api フィールドが argv.json でサポートされるようになりました。これにより、拡張機能の作成者は、コマンドライン経由で VS Code を開き、--enable-proposed-api CLI フラグを渡すことなく、リリースビルドで提案された API 拡張機能を長期間ドッグフーディングのために実行できます。
新しい codicon アイコン
以下の新しいアイコンをcodiconライブラリに追加しました。
- debug-alt-small
- vm-connect

Language Server Protocol
今後の3.16 仕様に、意味トークンのサポートと、補完項目での追加テキスト編集の遅延解決が追加されました。
提案された拡張API
各マイルストーンには新しい提案された API があり、拡張機能の作成者はそれらを試すことができます。いつものように、皆様のフィードバックをお待ちしております。提案された API を試すには、次の手順を実行する必要があります。
- 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
- 拡張機能のpackage.jsonファイルに次の行が必要です:"enableProposedApi": true。
- 最新バージョンのvscode.proposed.d.tsファイルをプロジェクトのソース場所にコピーします。
提案APIを使用する拡張機能は公開できないことに注意してください。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊したくありません。
ターミナルリンクプロバイダー
以前のリリースで追加されたターミナルの新しいリンクシステムに基づいて、この新しい提案window.registerLinkProviderにより、拡張機能がターミナルにリンクをアタッチできるようになり、ホバー時に表示されるツールチップラベルも含まれます。

これは、以前に提案された(現在は非推奨の)「リンクハンドラ」APIとは対照的です。このAPIでは、拡張機能が問題のリンクを処理する可能性があり、処理しない場合はフォールバックチェーンが存在しました。リンクに可能なアクションのリストがあるというビジョンとよりよく適合する、リンクが確実に処理されるこの新しいモデルです。
デバッグなしで実行するための新しい API
VS Code の「デバッグなしで実行」機能は、プログラムをデバッグする代わりに実行するために既存のデバッグ設定を再利用する、デバッグの一種です。この実行モードの結果として、プログラムはブレークポイントにヒットしたり、その他の理由でデバッガーに中断したりすることはありません。
このマイルストーンでは、「デバッグなしで実行」のための公式拡張機能 API を提供します。debug.startDebugging関数のDebugSessionOptionsに新しいプロパティnoDebugが追加されました。noDebugは、開始されるセッションをデバッグあり/なしで実行するかどうかを制御します。noDebugプロパティがない場合、親セッションの値(存在する場合)が使用されます。親セッションがない場合、noDebugプロパティがない場合は「false」の値が想定されます。
ご注意ください:以前は、同じ効果を得るために起動構成にnoDebugフラグを追加することが可能でした。この非公式 API は現在非推奨ですが(引き続きサポートされています)、拡張機能は新しい API に移行することをお勧めします。
CALL STACK ビューの整理を減らすための新しい API
洗練されたデバッグ拡張機能とデバッグ設定の登場により、CALL STACK ツリービューに表示されるデバッグセッションが増え、混雑しているように見えます。ほとんどの場合、デバッグセッションはユーザーにとって有用であり、それらを完全に制御する必要があります。しかし、一部のデバッグセッションは単なる実装上のアーティファクトであったり、一連の子セッションのグループ化メカニズムであったりします。
一般的なケースで CALL STACK ビューの混雑を減らすために、単一の子セッションしか持たない親デバッグセッションノードを非表示にする機能を導入しました。この機能は「コンパクトモード」と呼ばれ、debug.startDebugging関数のDebugSessionOptionsの新しいオプションのcompactプロパティを介して利用できます。
compact が true の場合、新しく作成されたデバッグセッションの親は、単一の子しか持たない限り、CALL STACK ビューに表示されません。compact が false または指定されていない場合、親ノードは表示されたままになります (現在の動作)。
ツリー内の Markdown ホバー
TreeItem の tooltip を MarkdownString にできる新しい提案された API があります。ツールチップに Markdown を許可することに加えて、TreeDataProvider にも新しい resolveTreeItem があります。resolveTreeItem の背後にある考え方は、計算に時間がかかる可能性のあるプロパティ (現在は tooltip のみ) を、すべてのツリーアイテムに対して事前に計算するのではなく、後で解決できるということです。resolveTreeItem と Markdown tooltip の使用例は、GitHub Pull Requests and Issues 拡張機能で確認できます。
エンジニアリング
TypeScript 4.0 を使用した VS Code のビルド
VS Code は現在、TypeScript 4.0 のナイトリービルドを使用してビルドされています。
この新しい TypeScript バージョンは、アクセサー周辺の潜在的なバグをいくつか発見するのに役立ち、また、今後の TypeScript リリースのテストにも役立っています。
ドキュメントと拡張機能
C++ 用 CMake ツール
CMake と CMake Tools 拡張機能を使用した C++ アプリケーション開発に関する新しいチュートリアル。

macOS 用 Java パックインストーラー
Visual Studio Code for Java Pack Installer は、macOS 上で Visual Studio Code を使って Java 開発を行うために必要な依存関係と拡張機能をダウンロードします。

注目すべき修正点
- 71291: 水平スクロールがツリーのレンダリングを壊す
- 93230: ローカル変数が煩わしい方法で折りたたまれる
- 98309: 作業コピーファイルサービスで複数のファイルをサポートする
- 99061: 閉じた差分エディターを再度開くことを許可する
- 99290: Git: 再ロード時に差分エディターを復元する
- 99704: 最上位のデバッグセッション行が一時停止していないのに「一時停止」と表示される
- 99786: デバッグツールバーの場所がドッキングされている場合、追加のセッションを開始できない
- 100524: SCM 装飾が欠落している
- 101132: オフライン時にリリースノートを開こうとした後、決して開けない
ありがとうございます
最後に、今月 VS Code に貢献してくださった以下の皆様に、心からの感謝を申し上げます。
問題追跡への貢献者
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Simon Chan (@yume-chan)
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
vscodeへの貢献者
- AlexStrNik (@AlexStrNik): Fix #97526 PR #97611
- Anoesj Sadraee (@Anoesj): "npm.packageManager" 設定に "pnpm" オプションを追加 PR #100654
- @champignoom: ibus を動作させるために ibus-gtk3 をステージング PR #100480
- Daniel Davis (@daniel-j-davis)
- コミットメッセージ自動入力に .git/SQUASH_MSG 検出を追加 #101078 PR #101114
- デバッグウィンドウでの貼り付けを許可 #100235 PR #100288
 
- Daybrush (Younkue Choi) (@daybrush): iOS 用のmetaKeyをサポート PR #100869
- Don Jayamanne (@DonJayamanne): 無題のノートブックの自動保存を無効にする PR #100256
- Dan Foad (@foad): 数値 CLI 引数を許可 PR #99540
- John Murray (@gjsjohnmurray)
- fix #99854 'settings.json で編集' でオブジェクト型デフォルトを追加 PR #99912
- Fix #71295 拡張機能設定の markdownDescription でコマンド URI を許可 PR #100304
- fix #100068 サジェストウィジェットコントロールの「もっと読む/減らす」ヒントを改善 PR #100070
 
- Fedor Nezhivoi (@gyzerok)
- #79275 のために iconv-lite-umd を 0.6.4 に更新 PR #101213
- #79275 のために iconv-lite-umd を使用するように切り替え PR #100472
- #79275 のため vs/base/node/encoding.ts を node ストリームから分離 PR #99413
- #79275 のためにエンコーディングを共通に移動 PR #100539
 
- Andrii Dieiev (@IllusionMH)
- ホバー内の markdown にテーブル固有のタグを許可 (fixes #99983) PR #99988
- 長さゼロの一致でサロゲートペアをステップオーバー(fixes #100134) PR #100482
 
- 譚九鼎 (@imba-tjd): stackoverflow に https を使用 PR #100655
- Ken (@irridia): 初期実装: \U\u\L\l 置換修飾子をサポート PR #96128
- Jean Pierre (@jeanp413)
- ピン留めされたビューがないパネルにビューをドラッグすると、エラー「プロパティ 'id' が未定義であることは読み取れません」が発生する問題を修正 PR #99582
- ターミナル環境変数アイコンが位置を更新しない問題を修正 PR #98015
- Webアップロードでのフォルダ置換エクスペリエンスの改善 PR #99601
- エディターグループに参加したときにピン留めされたタブが保持されない問題を修正 PR #100344
- ハンバーガーメニューの上にアクティビティアイコンをドラッグすると末尾にドロップされる問題を修正 PR #98050
- ペインヘッダーで問題フィルターのフォーカスアウトラインが途切れる問題を修正 PR #97438
- ハイコントラストテーマを使用している場合、フォーカスされたステータスバーエントリはオレンジ色の境界線を使用する必要がある問題を修正 PR #99453
 
- Justin Hutchings (@jhutchings1): CodeQL セキュリティスキャンを追加 PR #99411
- Keshav Bohra (@keshav-bohr): 単語の修正 PR #100301
- Wenlu Wang (@Kingwl): ts/js 非推奨のサポートを追加 PR #97742
- Rhitik Bhatt (@lambainsaan)
- アウトラインペインの要素にフォーカスするための基本的なキーバインディングを追加 PR #91799
- ジェネレータメソッドと組み合わせて使用した場合のバグのある onEnter 動作を修正 PR #100076
 
- Mads Kristensen (@madskristensen)
- SchemaStore.org に HTTPS URL を使用 PR #101047
- SchemaStore.org URL を修正 PR #101046
 
- Milo Moisson (@MrNossiom): ロギングを更新 PR #100657
- @nlchar: フィードバックウィンドウ再オープン時の状態復元を修正 PR #101074
- Noelle Caldwell (@noellelc): リッチナビゲーションワークフローを追加 PR #100014
- Pascal Fong Kye (@pfongkye): ファイル操作イベントが複数のリソースをサポート PR #98988
- Robert Massaioli (@robertmassaioli): eslint:recommended と連携するように for-in ループを更新 PR #99721
- Stoyan Nikolov (@stoyannk): SimpleFileDialog の冗長な 'resolve' を削除し、既存の… PR #99432
- Arman Tabaddor (@tabaddor): テキストエリアにフォーカスしたときにターミナル名を追加 PR #100087
- Thibault Malbranche (@Titozzz): fix(search): クラッシュする空文字列パターンを置換 PR #101017
- @VoidNoire: 移植性を高めるために POSIX 準拠にし、bashの依存関係を削除… PR #100145
vscode-extension-samplesへの貢献
- Matt Petty (@lodestone): コメントを改善 PR #317
vscode-eslintへの貢献者
- Jimmy Yuen Ho Wong (@wyuenho): タイポを修正 PR #989
debug-adapter-protocolへの貢献者
- Lukas Zima (@zimlu02): Broadcom 拡張機能の更新 PR #121
- Dave Holoway (@adelphes): Android デバッグアダプターを追加 PR #125
language-server-protocolへの貢献者
- Sacha Ayoun (@giltho): logTrace 通知を指定 PR #953
- Josh Soref (@jsoref): スペルと文法 PR #1027
- Radek Simko (@radeksimko): website: typo (Genernal -> General) を修正 PR #1035
vscode-languageserver-nodeへの貢献者
- Sacha Ayoun (@giltho): 言語サーバーをプロトコル提案と連携 PR #611
- Andrew Arnott (@AArnott)
vscode-css-languageserviceへの貢献者
- Justin Hutchings (@jhutchings1): CodeQL セキュリティスキャンを追加 PR #218
node-jsonc-parserへの貢献
- Michael Bullington (@mbullington): 配列の変更を許可し、インプレース書式設定オプションを追加。 PR #35
vscode-generator-codeへの貢献者
- Pranav Shikarpur (@snpranav): ジェネレーター用の Dockerfile を作成 PR #210
vscode-vsceへのコントリビューション
- Adam S (@ItsMajestiX): Github Workflows からバッジを許可 PR #396
- Tomas (@viktomas)