VS Codeのエージェントモードを拡張するには、を試してください!

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月リリースへようこそ。今回のバージョンには、皆さんに気に入っていただけるようないくつかのアップデートがあります。主なハイライトは以下のとおりです。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com更新 にアクセスしてください。

このリリースの新機能のデモをご覧いただき、ライブで質問するには、7月13日月曜日午前9時太平洋時間 (ロンドン時間午後5時) に開催される VS Code チームのライブストリームにご参加ください。

Insiders: 新機能をいち早く試したいですか? 夜間ビルドの Insiders をダウンロードして、利用可能になり次第、最新のアップデートを試すことができます。Visual Studio Code の最新ニュース、アップデート、コンテンツについては、Twitter の @code をフォローしてください!

アクセシビリティ

今回のマイルストーンでは、コミュニティから再び有益なフィードバックをいただき、多くのアクセシビリティ問題を特定し、対処することができました。ハイライト:

  • ファイルエクスプローラーのコンパクトフォルダーで、展開/折りたたみ状態と ARIA レベルが正しく読み上げられるようになりました。
  • スクリーンリーダーがエディターのカーソルオフセットを更新できるようになりました。これにより、スクリーンリーダーの「すべて読み上げ」コマンドが停止/再開時に適切に動作するはずです。
  • 同じ ARIA ライブメッセージがスクリーンリーダーによって適切に再読み込みされるようになりました。

ワークベンチ

設定エディターからオブジェクト設定を編集

以前は、設定エディターでは文字列やブール値のようなプリミティブ型の設定しか編集できず、より複雑な設定型の場合はsettings.jsonを直接編集する必要がありました。現在では、設定エディターからネストされていないオブジェクト設定を編集できます。拡張機能の作成者は、この機能を使用して、これらの種類の設定の可視性を高めることができます。

以前

設定エディターで

Object setting in the old Settings editor

そしてsettings.json

Object setting in the JSON editor

以後

設定エディターで

Object setting in the new Settings editor

リストビューで選択し、フォーカスを維持する

新しいコマンドlist.selectAndPreserveFocusが追加され、リスト内でフォーカスを維持しながら、リストから項目を選択できるようになりました。これは、ファイルエクスプローラーなどのリストから複数のファイルを選択する際に、フォーカスがファイルエディターに移動しないようにしたい場合に役立ちます。

このコマンドはデフォルトではキーボードショートカットにバインドされていませんが、独自のキーバインドを追加できます。

{
  "key": "ctrl+o",
  "command": "list.selectAndPreserveFocus"
}

安定版 Windows ARM ビルド

Windows on ARM 版 VS Code が安定版で利用可能になりました!🎉

ドラッグ&ドロップで VSIX をインストール

VS Code は、拡張機能の VSIX ファイルを拡張機能ビューにドラッグ&ドロップしてインストールする機能をサポートするようになりました。

新しい検索エディターコマンド引数

検索エディターコマンド (search.action.openNewEditorsearch.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 設定は、ワークベンチをリロードすることなく、実行時に切り替えできるようになりました。

エディター

正規表現置換での大文字/小文字の変更

VS Code は、エディターでの検索/置換時に、正規表現の一致グループの大文字/小文字を変更できるようになりました。これは、修飾子\u\U\l\Lを使用して行われます。ここで、\u\lは単一の文字を大文字/小文字に、\U\Lは残りの一致グループを大文字/小文字に変更します。

Changing case while doing find and replace

修飾子は重ねて使用することもできます。たとえば、\u\u\u$1はグループの最初の3文字を大文字に、\l\U$1は最初の文字を小文字に、残りを大文字にします。

現在、これらはエディターの検索コントロールでのみサポートされており、グローバルなファイル内検索ではサポートされていません。

デバッグ

新しい JavaScript デバッガー

先月 Insiders でデフォルトのデバッガーだった新しい JavaScript デバッガーが、VS Code の JavaScript (Node.js および Chrome) のデフォルトデバッガーになりました。これまでの VS Code の変更ログの「プレビュー機能」セクションをスキップした場合は、デバッガーの README の新機能セクションで追いつくことができます。

新しいデバッガーを利用するために、設定や起動構成を変更する必要はありません。問題が発生した場合は、イシューを開いてください

単一ファイルデバッグ

今日まで、VS Code デバッガーには、エディター内のファイルをボタンを1回クリックするだけで簡単にデバッグできることを示す標準的な方法がありませんでした。一部のデバッグ拡張機能では、「エディターでファイルをデバッグ」するように促すデバッグ構成で、それが可能でした。しかし、ユーザーはF5を使用する前に、デバッグ構成ドロップダウンメニューで正しい構成を選択する必要がありました。他のデバッグ拡張機能は、F5のフォールバック戦略を実装しています。launch.jsonが存在しない場合、F5はアクティブなエディターで現在開いているファイルをデバッグしようとします。

どちらのアプローチも簡単に見つけられないため、一部のデバッグ拡張機能 (Python など) は、エディターのタイトル領域に実行ボタンを追加し始めました。

より良いアプローチが見つからず、この方法が新しい API を必要とせずに実装できるため、標準的な方法で実装するためのガイドラインをいくつか作成しました。拡張機能の作成者は、以下の「拡張機能の作成」セクションでこれらのガイドラインを見つけることができます。

ユーザーはこれらのアイコンを覚えるだけで済みます

Run and debug action in editor title

エディターのタイトル領域の左側に1つまたは両方が表示される場合、エディターでファイルを直接実行またはデバッグできます。

すっきりした「呼び出し履歴」ビュー

一般的なケースで「呼び出し履歴」がごちゃごちゃしないようにし始めました。「呼び出し履歴」ビューは、技術的な理由で存在してもユーザーにとってあまり価値のないデバッグセッションノードを非表示にできるようになりました。

この機能を採用した最初のデバッグ拡張機能は、新しい JavaScript デバッガーです。これにより、子セッションが1つしかない場合に親デバッグセッションを削除できるようになりました。

Screenshot of two "Call Stack" views. Without compaction, there is an extra child session between the parent session and each attached worker processes.

他のデバッグ拡張機能もこれに続くことを願っています。以下の新しい提案された API を参照してください。

カーソル位置へジャンプ の新しいコマンドエイリアス 次のステートメントを設定

Visual Studio から移行するユーザーがカーソル位置へジャンプコマンドをより簡単に見つけられるように、コマンドエイリアス次のステートメントを設定を追加しました。

カーソル位置へジャンプが何をするかご存じない方へ: これにより、途中のソースコードを実行することなく、プログラムの実行を新しい場所に移動できます。

ホバー時のブレークポイントパス

「ブレークポイント」ビューのソースブレークポイントにホバーすると、VS Code はブレークポイントの絶対パスを表示するようになりました。

タスク

pnpm パッケージマネージャーのサポート

pnpm は、npm および yarn と同様に、npm.packageManager 設定の有効な選択肢となり、スクリプトを実行できるようになりました。

ソース管理

単一ビュー

ソース管理ビューが単一のビューに統合されました。

Source Control with a single view

すべてのリポジトリが単一のビューに表示されるため、ワークスペース全体のステータスをよりよく把握できます。さらに、ソース管理ビューをパネルに移動したり、他のビューをソース管理ビューコンテナーに移動したりできるようになりました。

表示と並べ替え

ソース管理ビューで変更をリストビューオプションで使用する際に、名前、パス (デフォルト)、および状態によって並べ替えるサポートを追加しました。表示オプション (リスト vs. ツリー) と並べ替えオプションを、コンテキストメニューの新しい表示と並べ替えメニュー項目に統合しました。

View & Sort in Source Control

Git: スカッシュメッセージの復元

通常のgit mergeコマンドと同様に、ユーザーがgit merge --squashコマンドの途中にいる場合、SCM ビューはデフォルトメッセージで SCM 入力を復元するようになりました。

言語

TypeScript 3.9.6

VS Code は TypeScript 3.9.6 をバンドルするようになりました。このマイナーアップデートでは、特定のソースコードパターンで TypeScript サーバーがクラッシュする可能性のあるバグなど、いくつかのバグが修正されています。

ブラウザーのサポート

大容量ファイルアップロードのサポート

大容量ファイルやフォルダーを VS Code の Web バージョンにアップロードできるようになり、アップロードされたバイト数とアップロード速度を正確に追跡できるように、進捗状況が正確に報告されます。

Web upload indicator in bottom Status bar

テキストファイルエンコーディングサポートに向けて

今回のマイルストーンでは、ブラウザーでのファイルの読み書きにおけるテキストエンコーディングの完全なサポートに多くの作業が費やされました。webpack を活用することで、ブラウザーでサポートされるようになった2つのライブラリに依存しています。

  • iconv-lite: エンコーディングの読み書き用
  • jschardet: テキストコンテンツからエンコーディングを推測するため

この作業は7月も継続され、まもなく一般公開される予定です。

プレビュー機能

プレビュー機能はリリース準備ができていませんが、使用できる程度には機能しています。開発段階での皆様の早期フィードバックをお待ちしております。

設定の同期

この数か月間、VS Code の設定を複数のマシン間で同期するサポートに取り組んできました。この機能は Insiders リリースでプレビュー版として利用できます。

同期済みマシンビューのマシンエントリのコンテキストメニューアクション設定の同期をオフにするを使用して、他のマシンでの同期を無効にできるようになりました。

Turn off preferences sync for a machine

同期をオンにする際の進捗情報も改善しました。

TypeScript 4.0 のサポート

今回のイテレーションでは、TypeScript 4.0 のサポートを継続的に改善しました。主なハイライトは次のとおりです。

  • エディターで非推奨シンボルへの呼び出しを打ち消し線で強調表示

    Call to a deprecated function rendered in the editor

  • 特定のリファクタリングを適用できない理由を説明

    Displaying the reason a refactoring cannot be applied

  • 自動インポートの改善 - 詳細はTypeScript 4.0 のブログ投稿をご覧ください。

これらの機能は、TypeScript nightly 拡張機能をインストールすることで今日から試すことができます。

大規模な 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 nightly 拡張機能を使用して今日から試すことができます。より完全なプロジェクト全体の IntelliSense が利用可能になるまで、コードでの作業をほぼ瞬時に開始できるようになることを願っています。

コードアクションの元に戻す/やり直し

コードアクションとリファクタリングを元に戻したり、やり直したりできるように取り組んでいます。代表的な例として、Java クラスのリネームリファクタリングがあります。これはテキストの変更だけでなく、ディスク上のファイルの名前変更も行います。これは現在元に戻すことができますが、元に戻す操作を2回トリガーする必要があります。さらなる改善にご期待いただき、早期のフィードバックをお願いいたします。

拡張機能への貢献

ノートブック

VS Code チームは、ノートブックのネイティブサポートを継続しています。開発を支援するため、GitHub のイシューとプルリクエストを検索できるGitHub Issue Notebooks 拡張機能を作成しました。この拡張機能はまだプレビュー段階であり、VS Code Insiders の使用が必要ですが、ノートブックを直接体験でき、フィードバックを歓迎します。

更新された UX

ノートブックセルの視覚的な外観をよりコンパクトなデザインに更新しました。また、選択されたセルに影の輪郭を追加し、選択状態をより明確にしました。

Updated Notebook UX

ノートブックのホットエグジットサポート

拡張機能がバックアップと復元を処理できるように、ノートブックにホットエグジットのサポートを追加しました。保存されていないローカルの変更は、拡張機能によってシリアル化され、ワークスペースが再度開かれたときに復元できるようになりました。

元に戻す/やり直しの機能強化

拡張機能が元に戻す/やり直しのスタックに貢献するサポートを追加しました。拡張機能は、どの操作を元に戻せるかを制御できるようになりました。たとえば、GitHub Issue Notebook では、ロックボタンを選択してセルのコンテンツを読み取り専用にし、通常の元に戻す/やり直しコマンドを通じてこの操作を元に戻したり、やり直したりすることもできます。

Undo/Redo in 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" }
}

Create Untitled GitHub Issue Notebook

テーマ: GitHub Theme

ノートブックの色トークン

ノートブック用に以下の色トークンも追加しました。

  • notebook.cellBorderColor: ノートブックセルの罫線色
  • notebook.cellHoverBackground: セルがホバーされたときのセルの背景色
  • notebook.cellInsertionIndicator: ノートブックセルの挿入インジケーターの色
  • notebook.focusedCellBackground: セルがフォーカスされたときのセルの背景色
  • notebook.focusedCellBorder: セルがフォーカスされたときのセルの上下の罫線色
  • notebook.focusedCellShadow: セルがフォーカスされたときのセルの影の色
  • notebook.focusedEditorBorder: ノートブックセルエディターの罫線色

ノートブックでのデバッグをサポートする方法を示す2つの新しいサンプル

ノートブック拡張機能ガイド

VS Code 用のノートブック拡張機能の作成に興味がある場合は、ノートブック API を詳述する新しいガイドがあります。API、VS Code ノートブックインフラストラクチャの詳細、およびノートブック拡張機能開発のベストプラクティスについて学びます。

リモート開発

コンテナー、リモートマシン、またはLinux 用 Windows サブシステム (WSL) をフル機能の開発環境として使用できるリモート開発拡張機能の作業が継続されています。

1.47 の機能ハイライト:

  • Remote - SSH: リモートサーバーがポートではなくソケットでリッスンできるようになりました。
  • Dev Containers: リポジトリをボリュームで開くプロンプト。
  • Dev Containers と WSL: 最近のブログ投稿 WSL 2 で Dev Containers を使用する をチェックしてください。

新しい拡張機能の機能とバグ修正については、リモート開発リリースノートで確認できます。

VS Code リモート開発を初めて使用する場合は、次の入門チュートリアルから始めることができます。

Azure アカウント

Azure アカウント拡張機能の最新バージョンは、最新の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メガバイトを超えるファイルを開くことを可能にする大容量ファイル最適化が含まれます。

Editing in the HexEditor extension

注目すべき変更の全リストは、CHANGELOG で確認できます。経験したフィードバックや問題は、vscode-hexeditor リポジトリに報告できます。

拡張機能作成

AccessibilityInformation

スクリーンリーダーをサポートするために、TreeItemStatusBarItem、および TimelineItem 要素の AccessibilityInformation を最終決定しました。AccessibilityInformation には labelrole が含まれます。項目にフォーカスが当たると、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 を参照)
    • 特定の言語でのみコマンドを表示するには、「when」句を使用します。例: "resourceLangId == python"
    • 実行コマンドは1_run@10グループに、デバッグコマンドは1_run@20グループに配置します。

CodeActionProviderMetadata.documentation

CodeActionProviderMetadata の新しい documentation プロパティを使用すると、拡張機能が返すコードアクションに対して静的なドキュメントを提供できます。このドキュメントは、プロバイダーがコードアクションを返したときにコードアクションのリストの下部に表示されます。

A documentation entry in the Code Actions menu

ユーザーがドキュメントエントリを選択すると、コマンドが実行されます。このコマンドは、ドキュメントをエディターに表示したり、ブラウザーで開いたりできます。

開く/保存ダイアログのタイトル

OpenDialogOptions および SaveDialogOptions を介してファイルを開く/保存ダイアログに title を提供する API が最終決定されました。すべてのオペレーティングシステムでこのタイトルを設定できるわけではないため、拡張機能が実行されている場所によって動作が異なる場合があります。

新しい拡張機能カテゴリ

拡張機能を分類するために、新しく追加された以下のカテゴリを使用できるようになりました。

  • データサイエンス
  • 機械学習
  • 視覚化
  • テスト
  • ノートブック

セカンダリボタンのスタイル

ボタンを目立たなくする必要がある場合に使用するセカンダリボタンのスタイルを導入しました。

  • button.secondaryForeground
  • button.secondaryBackground
  • button.secondaryHoverBackground

GitHub Workflow バッジ

github.com承認済みバッジソースのリストに追加されたため、公開された拡張機能のバッジリストにGitHub Workflow バッジを追加できるようになりました。

GitHub Workflow badge

argv.json を介した提案 API の有効化

フィールド enable-proposed-apiargv.json でサポートされるようになりました。これにより、拡張機能の作成者は、コマンドラインから VS Code を開き、--enable-proposed-api CLI フラグを渡すことなく、長期的なドッグフーディングのためにリリースビルドで提案された API 拡張機能を実行できます。

新しい codicon アイコン

当社のcodicon ライブラリに以下の新しいアイコンを追加しました。

  • debug-alt-small
  • vm-connect

Codicons icons

Language Server Protocol

今後の3.16 仕様に、セマンティックトークンと、補完項目における追加のテキスト編集の遅延解決のサポートが追加されました。

提案された拡張API

各マイルストーンには新しい提案された API があり、拡張機能の作成者はそれらを試すことができます。いつものように、皆様のフィードバックをお待ちしております。提案された API を試すには、次の手順を実行する必要があります。

  • 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
  • 拡張機能のpackage.jsonファイルに次の行が必要です: "enableProposedApi": true
  • 最新バージョンのvscode.proposed.d.tsファイルをプロジェクトのソース場所にコピーします。

提案APIを使用する拡張機能は公開できないことに注意してください。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊したくありません。

前回のリリースで追加されたターミナルの新しいリンクシステムに基づいて、この新しい提案 window.registerLinkProvider により、拡張機能はターミナルにリンクをアタッチできるようになり、ホバー時に表示されるツールチップラベルも含まれます。

Terminal Link Provider

これは、以前提案され (現在は非推奨の) 「リンクハンドラー」APIとは対照的です。以前の API では、拡張機能が該当するリンクを処理する可能性があり、処理しない場合はフォールバックチェーンがありました。リンクが必ず処理されるというこの新しいモデルは、リンクが可能なアクションのリストを持つことができるというビジョンにより適合します。

デバッグなしで実行するための新しい API

VS Code の「デバッグなしで実行」機能は、既存のデバッグ構成をデバッグする代わりにプログラムの実行に再利用するデバッグのバリエーションです。この実行モードの結果、プログラムはブレークポイントにヒットしたり、その他の理由でデバッガーに中断したりすることはありません。

このマイルストーンでは、「デバッグなしで実行」のための公式拡張機能 API を提供します。debug.startDebugging 関数の DebugSessionOptions に新しいプロパティ noDebug が追加されました。noDebug は、開始しようとしているセッションをデバッグありで実行するか、デバッグなしで実行するかを制御します。noDebug プロパティがない場合、親セッション (存在する場合) の値が使用されます。親セッションがない場合、noDebug プロパティがない場合は 'false' の値が想定されます。

注意: 以前は、同じ効果を達成するために起動構成に noDebug フラグを追加することが可能でした。この非公式な API は現在非推奨になっています (ただし、まだサポートされています)。拡張機能は新しい API に移行することをお勧めします。

呼び出し履歴ビューのごちゃつきを軽減するための新しい API

高度なデバッグ拡張機能やデバッグセットアップの登場により、「呼び出し履歴」ツリービューに表示されるデバッグセッションが増え、混雑しているように見えます。ほとんどの場合、デバッグセッションはユーザーにとって有用であり、それらを完全に制御する必要があります。それ以外の場合、一部のデバッグセッションは単なる実装上のアーティファクト、または子セッションのセットのグループ化メカニズムにすぎません。

一般的なケースで「呼び出し履歴」ビューを混雑させないために、子セッションが1つしかない場合に親デバッグセッションノードを非表示にする機能を導入しました。この機能は「コンパクトモード」と呼ばれ、debug.startDebugging 関数の DebugSessionOptions の新しいオプションの compact プロパティを通じて利用できます。

compact が true の場合、新しく作成されたデバッグセッションの親は、子セッションが1つしかない限り「呼び出し履歴」ビューで非表示になります。compact が false または指定されていない場合、親ノードは表示されたままになります (これが現在の動作です)。

ツリー内の Markdown ホバー

TreeItemtooltipMarkdownString にできる新しい提案 API があります。ツールチップに Markdown を許可するだけでなく、TreeDataProvider に新しい resolveTreeItem もあります。resolveTreeItem の背後にあるアイデアは、計算に時間がかかる可能性のあるプロパティ (現在は tooltip のみ) を、すべてのツリー項目について事前に計算するのではなく、後で解決できるということです。GitHub Pull Requests and Issues 拡張機能で、resolveTreeItem と Markdown tooltip が使用されているのを見ることができます。

エンジニアリング

VS Code のビルドに TypeScript 4.0 を使用

VS Code は現在、TypeScript 4.0 のナイトリービルドを使用してビルドされています。

この新しい TypeScript バージョンは、いくつかのアクセサーに関する潜在的なバグを発見するのに役立ち、また、今後の TypeScript リリースをテストするのにも役立ちます。

ドキュメントと拡張機能

C++ 用 CMake Tools

CMake と CMake Tools 拡張機能を使用した C++ アプリケーション開発の新しいチュートリアル。

CMake Tools extension

macOS 用 Java Pack インストーラー

Visual Studio Code for Java Pack インストーラーは、macOS 上の Visual Studio Code で Java 開発に必要な依存関係と拡張機能をダウンロードします。

Java Pack installer for macOS

注目すべき修正点

  • 71291: 水平スクロールによりツリーのレンダリングが崩れる
  • 93230: ローカル変数が煩わしい方法で折りたたまれる
  • 98309: 作業コピーファイルサービスでの複数ファイルサポート
  • 99061: 閉じた差分エディターを再開できるようにする
  • 99290: Git: リロード時に差分エディターを復元
  • 99704: 一番上のデバッグセッション行が一時停止していないときに「一時停止中」と表示される
  • 99786: デバッグツールバーの場所がドッキングされている場合、追加のセッションを開始できない
  • 100524: SCM 装飾が欠落している
  • 101132: オフライン時にリリースノートを開こうとすると、開けなくなる

ありがとうございます

最後に、今月 VS Code に貢献してくださった以下の皆様に、心からの感謝を申し上げます。

問題追跡への貢献者

vscodeへの貢献者

vscode-extension-samplesへの貢献

vscode-eslintへの貢献者

debug-adapter-protocolへの貢献者

language-server-protocolへの貢献者

vscode-languageserver-nodeへの貢献者

vscode-css-languageserviceへの貢献者

node-jsonc-parserへの貢献

vscode-generator-codeへの貢献者

vscode-vsceへのコントリビューション