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 ライブメッセージがスクリーンリーダーによって適切に再読み込みされるようになりました。
ワークベンチ
設定エディターからオブジェクト設定を編集
以前は、設定エディターでは文字列やブール値のようなプリミティブ型の設定しか編集できず、より複雑な設定型の場合は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
設定は、ワークベンチをリロードすることなく、実行時に切り替えできるようになりました。
エディター
正規表現置換での大文字/小文字の変更
VS Code は、エディターでの検索/置換時に、正規表現の一致グループの大文字/小文字を変更できるようになりました。これは、修飾子\u\U\l\L
を使用して行われます。ここで、\u
と\l
は単一の文字を大文字/小文字に、\U
と\L
は残りの一致グループを大文字/小文字に変更します。
例
修飾子は重ねて使用することもできます。たとえば、\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 を必要とせずに実装できるため、標準的な方法で実装するためのガイドラインをいくつか作成しました。拡張機能の作成者は、以下の「拡張機能の作成」セクションでこれらのガイドラインを見つけることができます。
ユーザーはこれらのアイコンを覚えるだけで済みます
エディターのタイトル領域の左側に1つまたは両方が表示される場合、エディターでファイルを直接実行またはデバッグできます。
すっきりした「呼び出し履歴」ビュー
一般的なケースで「呼び出し履歴」がごちゃごちゃしないようにし始めました。「呼び出し履歴」ビューは、技術的な理由で存在してもユーザーにとってあまり価値のないデバッグセッションノードを非表示にできるようになりました。
この機能を採用した最初のデバッグ拡張機能は、新しい JavaScript デバッガーです。これにより、子セッションが1つしかない場合に親デバッグセッションを削除できるようになりました。
他のデバッグ拡張機能もこれに続くことを願っています。以下の新しい提案された API を参照してください。
カーソル位置へジャンプ の新しいコマンドエイリアス 次のステートメントを設定
Visual Studio から移行するユーザーがカーソル位置へジャンプコマンドをより簡単に見つけられるように、コマンドエイリアス次のステートメントを設定を追加しました。
カーソル位置へジャンプが何をするかご存じない方へ: これにより、途中のソースコードを実行することなく、プログラムの実行を新しい場所に移動できます。
ホバー時のブレークポイントパス
「ブレークポイント」ビューのソースブレークポイントにホバーすると、VS Code はブレークポイントの絶対パスを表示するようになりました。
タスク
pnpm パッケージマネージャーのサポート
pnpm は、npm
および yarn
と同様に、npm.packageManager
設定の有効な選択肢となり、スクリプトを実行できるようになりました。
ソース管理
単一ビュー
ソース管理ビューが単一のビューに統合されました。
すべてのリポジトリが単一のビューに表示されるため、ワークスペース全体のステータスをよりよく把握できます。さらに、ソース管理ビューをパネルに移動したり、他のビューをソース管理ビューコンテナーに移動したりできるようになりました。
表示と並べ替え
ソース管理ビューで変更をリストビューオプションで使用する際に、名前、パス (デフォルト)、および状態によって並べ替えるサポートを追加しました。表示オプション (リスト vs. ツリー) と並べ替えオプションを、コンテキストメニューの新しい表示と並べ替えメニュー項目に統合しました。
Git: スカッシュメッセージの復元
通常の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 拡張機能をインストールすることで今日から試すことができます。
大規模な 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
ノートブックセルの視覚的な外観をよりコンパクトなデザインに更新しました。また、選択されたセルに影の輪郭を追加し、選択状態をより明確にしました。
ノートブックのホットエグジットサポート
拡張機能がバックアップと復元を処理できるように、ノートブックにホットエグジットのサポートを追加しました。保存されていないローカルの変更は、拡張機能によってシリアル化され、ワークスペースが再度開かれたときに復元できるようになりました。
元に戻す/やり直しの機能強化
拡張機能が元に戻す/やり直しのスタックに貢献するサポートを追加しました。拡張機能は、どの操作を元に戻せるかを制御できるようになりました。たとえば、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 ノートブックインフラストラクチャの詳細、およびノートブック拡張機能開発のベストプラクティスについて学びます。
リモート開発
コンテナー、リモートマシン、または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メガバイトを超えるファイルを開くことを可能にする大容量ファイル最適化が含まれます。
注目すべき変更の全リストは、CHANGELOG で確認できます。経験したフィードバックや問題は、vscode-hexeditor リポジトリに報告できます。
拡張機能作成
AccessibilityInformation
スクリーンリーダーをサポートするために、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 を参照)
- 特定の言語でのみコマンドを表示するには、「when」句を使用します。例:
"resourceLangId == python"
。 - 実行コマンドは
1_run@10
グループに、デバッグコマンドは1_run@20
グループに配置します。
- 特定の言語でのみコマンドを表示するには、「when」句を使用します。例:
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 に移行することをお勧めします。
呼び出し履歴ビューのごちゃつきを軽減するための新しい API
高度なデバッグ拡張機能やデバッグセットアップの登場により、「呼び出し履歴」ツリービューに表示されるデバッグセッションが増え、混雑しているように見えます。ほとんどの場合、デバッグセッションはユーザーにとって有用であり、それらを完全に制御する必要があります。それ以外の場合、一部のデバッグセッションは単なる実装上のアーティファクト、または子セッションのセットのグループ化メカニズムにすぎません。
一般的なケースで「呼び出し履歴」ビューを混雑させないために、子セッションが1つしかない場合に親デバッグセッションノードを非表示にする機能を導入しました。この機能は「コンパクトモード」と呼ばれ、debug.startDebugging
関数の DebugSessionOptions
の新しいオプションの compact
プロパティを通じて利用できます。
compact
が true の場合、新しく作成されたデバッグセッションの親は、子セッションが1つしかない限り「呼び出し履歴」ビューで非表示になります。compact
が false または指定されていない場合、親ノードは表示されたままになります (これが現在の動作です)。
ツリー内の Markdown ホバー
TreeItem
の tooltip
を MarkdownString
にできる新しい提案 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++ アプリケーション開発の新しいチュートリアル。
macOS 用 Java Pack インストーラー
Visual Studio Code for Java Pack インストーラーは、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): #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)
- #99854 を修正: 'settings.json で編集' でオブジェクト型のデフォルトを追加 PR #99912
- #71295 を修正: 拡張機能設定の markdownDescription でコマンド URI を許可 PR #100304
- #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 streams から分離 PR #99413
- #79275 のためにエンコーディングを共通に移動 PR #100539
- Andrii Dieiev (@IllusionMH)
- ホバー内の Markdown でテーブル固有のタグを許可 (#99983 を修正) PR #99988
- 長さゼロの一致でサロゲートペアをステップオーバー (#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): ウェブサイト: タイプミスを修正 (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)