2021年2月 (バージョン 1.54)
アップデート 1.54.1: このアップデートでは、拡張機能の依存関係に関する問題が解決されました。
アップデート 1.54.2: このアップデートでは、これらの問題が解決されました。
アップデート 1.54.3: このアップデートでは、この問題が解決されました。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel Silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code 2021年2月リリースへようこそ。このバージョンには、皆さんに気に入っていただけるような多数のアップデートが含まれています。主なハイライトは以下のとおりです。
- Apple Siliconビルド - VS CodeがApple Silicon向けに安定版として利用可能になりました。
- アクセシビリティの改善 - Windowsでの単語ナビゲーションの改善、ビューやボタンのロール定義。
- 永続的なターミナルプロセス - ウィンドウのリロード時にローカルターミナルプロセスが復元されます。
- 製品アイコンテーマ - 製品アイコンテーマを使ってVS Codeのアイコンをカスタマイズできます。
- タイムラインビューの改善 - Git履歴のタイムラインエントリ間で変更を比較できるようになりました。
- Notebookの自動リロード - ファイルがディスク上で変更されたときにNotebookが自動的にリロードされるようになりました。
- リモートポートのテーブルビュー - リモートポートがテーブルウィジェットで表示されるようになりました。
- Brackets拡張機能 - VS CodeでBracketsのキーボードショートカットを使用できます。
- 拡張機能のトラブルシューティングブログ記事 - 拡張機能のバイセクトを使用して拡張機能のトラブルシューティングを行う方法を学びましょう。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
ライブにご参加ください: 3月11日木曜日太平洋時間午前8時 (ロンドン時間午後4時) に開催されるVS Codeチームのライブストリームで、このリリースの新機能のデモをご覧になり、質問をライブで私たちに投げかけてください。
Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。
Apple Silicon
今回のイテレーションで、Apple Silicon向け安定版ビルドの初回リリースを発表できることを嬉しく思います。M1チップ搭載Macのユーザーは、RosettaによるエミュレーションなしでVS Codeを使用できるようになり、VS Codeの実行時にパフォーマンスの向上とバッテリー駆動時間の延長を実感できるでしょう。Insidersビルドでセルフホスティングし、イテレーションの早い段階で問題を報告してくださったコミュニティに感謝いたします。
macOS版VS Codeのデフォルトダウンロードは、すべてのMacでネイティブに動作するUniversalビルドになりました。ダウンロードページでは、Universalパッケージよりもダウンロードサイズが小さいIntelまたはApple Silicon向けのアーキテクチャ固有ビルドへのリンクを見つけることができます。
アクセシビリティ
ツールバーとタブが1つのタブストップを占める
Workbenchのすべてのツールバーは標準のナビゲーション動作に従うようになり、タブオーダーで単一の位置を占め、矢印キーでナビゲートできるようになりました。ツールバーにフォーカスが当たっている場合、矢印キーを使用してツールバー内の特定の項目にフォーカスを移動する必要があります。この変更の結果、Workbenchのタブストップが大幅に減少し、すべての部分をより簡単にナビゲートできるようになりました。
一貫性のため、タブ領域にも同じ変更が適用されました。そのため、タブ領域全体が1つのタブストップになり、タブ間のキーボードナビゲーションは左右の矢印キーで行う必要があります。
Windowsでの単語ナビゲーション
Windowsでの単語ナビゲーションの方法を改善し、Windows上のスクリーンリーダーがElectronベースのアプリケーションに期待する動作に合わせました。これにより、単語ナビゲーションを使用する際、各単語がスクリーンリーダーによって適切に読み上げられるようになります。
この変更により、以下のコマンドは非推奨となります。これらは引き続き機能しますが、将来的に削除される可能性があります。
cursorWordAccessibilityLeft
cursorWordAccessibilityLeftSelect
cursorWordAccessibilityRight
cursorWordAccessibilityRightSelect
Windows以外のプラットフォームはすでに期待どおりに動作していたため、変更はありません。
ビューとボタンのロールの改善
ユーザーフィードバックに基づき、Workbench全体で複数のビューとボタンのロールを改善しました。アクティビティバー、サイドバー、パネルにはrole:none
が設定され、スクリーンリーダーの冗長性が軽減されます。アクティビティバー内の管理ボタンとアカウントボタンは、ポップアップがあることを適切にアナウンスするようになりました。
統合ターミナル
ウィンドウのリロード時にターミナルプロセスを保持
拡張機能のインストールにリロードが必要な場合など、ウィンドウのリロード時にローカルターミナルプロセスが復元されるようになりました。ターミナルは再接続され、アクティブなタブや分割ターミナルの相対寸法を含むターミナルのUI状態が復元されます。
この機能は、terminal.integrated.enablePersistentSessions
をfalseに設定することで無効にできます。
Windowsのパフォーマンス改善
新しいターミナルプロセスレイアウトのおかげで、ターミナルプロセスからの頻繁なptyデータイベントがより迅速に処理されるようになりました。これは、Windowsのconptyによって提供されるイベントが小さいため、他のプラットフォームよりもWindowsに大きな影響を与えると予想されます。
環境変更が必要なターミナルを自動的に再起動
最近、拡張機能がターミナルの環境に影響を与えることを可能にする新機能が展開されました。これは、様々な言語拡張機能や組み込みのGit拡張機能によって使用され、サインインの必要性をなくすためにVS CodeをGit認証プロバイダーとして機能させます。以前は、このUXでは、ターミナルの環境が古いことを示すために、右上に控えめな⚠️アイコンが表示されていました。環境の変更が重要である場合とそうでない場合があるため、このインジケーターは控えめでした。
この点を調整し、まだ操作されていないターミナルで環境が古い場合、自動的に再起動するようにしました。これにより、多少のちらつきが発生する可能性がありますが、拡張機能とターミナルの統合がはるかにシームレスになりました。例えば、WSLウィンドウ内の最初のターミナルでは、ターミナルに入力する前に再起動が行われた場合、Git認証エラーが表示されなくなります。
Workbench
Emmet
省略形にラップ (Wrap with Abbreviation) および 個々の行を省略形にラップ (Wrap Individual Lines with Abbreviation) コマンドは、どのラップコマンドを使用するかという混乱を減らすため、単一の 省略形にラップ (Wrap with Abbreviation) コマンドに統合されました。さらに、省略形にラップ (Wrap with Abbreviation) コマンドは、プレビューの空白を適切に表示するようになりました。
emmet.extensionsPath
設定は、文字列だけでなくパスの配列も受け入れるようになりました。そのため、設定同期と組み合わせることで、マシンごとに設定を更新することなく、使用するマシンに応じて異なるスニペットファイルを指定できるようになります。
製品アイコンテーマ
最初の製品アイコンテーマが拡張機能マーケットプレイスで利用可能になりました。素晴らしい作業をしてくださったテーマ作者の皆様に感謝いたします!
テーマを選択または検索するには、コマンドプロンプトまたは設定ギアから基本設定: 製品アイコンテーマ (Preference: Product Icon Theme) コマンドを使用します。
コンテキストキーのIntelliSense
VS Codeは、キーバインディングを有効/無効にするためにwhen句を使用します。拡張機能も、メニューおよびビューの寄与を制御するためにwhen句を使用します。エディターがwhen句の補完を提供するようになったため、これらのwhen句の作成がはるかに簡単になりました。
テーマ: GitHub Light Theme, フォント: FiraCode
開いているエディターの新規無題ファイルアクション
開いているエディター (Open Editors) ビューのタイトル領域に、新規無題ファイル (New Untitled File) アクションが追加されました。
アプリケーションメニュー設定の更新
アプリケーションメニューの表示設定window.menuBarVisibility
が、オプションをより適切に反映するように更新されました。主に2つの変更が行われました。
まず、設定のdefault
オプションがclassic
に名称変更されました。
次に、アプリケーションメニューバーのメニューバーを表示 (Show Menu Bar) エントリが、classic
とcompact
オプションを切り替えるようになりました。完全に非表示にするには、設定を更新するか、compact
モード時にアクティビティバーのコンテキストメニューを使用します。
テーマ: GitHub Light Theme
Webviewのキャッシュ改善
webview内のローカルファイルのキャッシュを改善しました。webviewがディスクからファイルをリロードする場合、ファイルが変更されていない場合は再度読み取らないようにETagを使用するようになりました。これにより、データ転送をなくし、特にリモートワークスペースでの応答時間を改善できます。
このキャッシュは現在、既存のwebviewがリソースをリロードする場合にのみ適用されます。新しく作成されたwebviewには適用されません。たとえそのwebviewが以前に類似のwebviewを作成した拡張機能に属していても同様です。
ワークスペース検索アクションの変更
既存のworkbench.view.search
を修正し、選択されたテキストを検索入力に配置するのではなく、入力を開くようにしました。選択されたテキストを使用してsearch.mode
設定を尊重する新しい検索を作成するには、workbench.action.findInFiles
を使用する必要があります。
修飾キーのみのキーバインディング
shift shift
、alt alt
、ctrl ctrl
、またはcmd cmd
/ meta meta
/ win win
などの重複した修飾キーのキーバインディングを定義できるようになりました。これらのキーバインディングは、例えば次のようにkeybindings.json
に手動で入力できます。
{ "key": "shift shift", "command": "workbench.action.quickOpen" }
リスト/ツリーUIの更新
リスト/ツリーのスタイルをネイティブのフォーカスと選択のインジケーターに合わせるように更新しました。フォーカスされた要素はアウトラインカラーでレンダリングされるようになりました。
破壊的変更
テーマ発行者は、list.focusBackground
カラーのカスタマイズをquickInput.list.focusBackground
カラーに交換するだけで、このスタイルを同様に採用することを推奨します。例については、このコミットを確認してください。
テーブルウィジェット
既存のリストウィジェットを基盤として構築された新しいテーブルウィジェットを導入しました。これにより、リスト要素と同じパフォーマンスで表形式データをレンダリングできます。今のところ、リモート機能のポートビューで使用されています。
はじめに
起動時に表示される新しいエディター「Getting Startedエディター」を試しています。これは、VS Codeのいくつかの機能を新規ユーザーにとってより親しみやすいものにすることを目的としています。一部のInsidersユーザーはすでに目にしたことがあるかもしれませんが、今回のイテレーション中にゆっくりとより多くの安定版ユーザーに展開されます。workbench.startupEditor
設定をgettingStarted
に設定したり、それ以外の値に設定したりすることで、いつでもこの新しい動作を有効または無効にすることができます。
タイムラインビュー
エクスプローラービューでのファイルの比較と同様に、比較のために選択 (Select for Compare) および 選択したものと比較 (Compare with Selected) コマンドを使用して、Git履歴のタイムラインエントリ間で変更を比較できるようになりました。この機能により、Gitファイル履歴内の任意の2つのコミット間のすべての変更を素早く確認できます。
デフォルトのサッシホバーボーダーカラー
1.52リリースで、サッシのホバーボーダーカラーのトークン (sash.hoverBorder
) を導入しましたが、デフォルトを設定していませんでした。現在、すべてのテーマでこの色がデフォルトで表示されるようになりました。
デバッグ
ブレークポイントビューの改善
ブレークポイントを削除する新しいインラインアクション
ブレークポイントビュー (Breakpoints view) に、ブレークポイントを削除するためのインラインアクション X を追加しました。このアクションにより、ブレークポイントの削除がより簡単になります。
例外フィルターのヘルプテキストサポート
最近、ブレークポイントビュー (Breakpoints view) で例外フィルターの条件を編集するサポートを追加しました。
これらの条件をより見つけやすく、その構文を自己説明的にするために、VS Codeは例外フィルターにホバーを表示し、条件テキストボックスにプレースホルダーテキストを表示するようになりました。
両方の情報が基となるデバッグ拡張機能によって提供されるため、一般的なメッセージよりもはるかに具体的(したがって役立つ)にすることができます。
この新機能はDebug Adapter Protocolへの追加(下記参照)に基づいているため、デバッグ拡張機能のオプトインが必要です。このリリースでは、VS Codeに組み込まれているJavaScriptデバッガーのみがこの新機能をサポートしています。
新しい設定とその他の改善
デバッグコンソールで同一行を折りたたむ
デバッグコンソールが同一行を折りたたみ、多数の出現回数をバッジで表示するかどうかを制御する新しい設定debug.console.collapseIdenticalLines
が追加されました。デフォルトでは折りたたむ設定になっています。
デバッグ前にどのエディターを保存するかを制御
デバッグ開始前にどのエディターを保存するかを制御する新しい設定debug.saveBeforeStart
が追加されました。この設定は以下の値を取ります。
allEditorsInActiveGroup
: アクティブなグループ内のすべてのエディターを保存します。これがデフォルト値です。nonUntitledEditorsInActiveGroup
: アクティブなグループ内の無題のエディターを除くすべてのエディターを保存します。none
: いずれのエディターも保存しません。
PowerShellデバッガーは保存されていないファイルのデバッグをサポートしているため、この設定はPowerShellのデバッグに役立ちます。
フレームを再起動アクションの有効化の改善
Debug Adapter Protocolへの新しい追加により、デバッグ拡張機能は、選択されたスタックフレームで「フレームを再起動」アクションが利用可能かどうかをVS Code UIに通知できるようになりました。VS Codeは、再起動できないスタックフレームの場合、呼び出し履歴ビュー (Call Stack view) のフレーム再起動インラインアクションを無効にするようになりました。
例えば、JS-Debug拡張機能はこの変更を採用しており、非同期スタックトレースではフレーム再起動アクションが無効になります。
言語
TypeScript 4.2
VS CodeにはTypeScript 4.2.2が同梱されるようになりました。このメジャーアップデートには、多くのTypeScript言語の改善に加え、JavaScriptおよびTypeScriptのツールに関する多くの改善とバグ修正が含まれています。
TypeScript 4.2の詳細については、TypeScriptブログをご覧ください。
欠落している関数を宣言するためのクイックフィックス
新しい欠落している関数宣言を追加 (Add missing function declaration) クイックフィックスは、欠落している関数のスタブを作成します。例えば、欠落している関数add
の呼び出しがある場合、
const x: number = add(1, 2);
add
に欠落している関数宣言を追加 (Add missing function declaration) を使用すると、次のようになります。
const x: number = add(1, 2);
function add(arg0: number, arg1: number): number {
throw new Error('Function not implemented.');
}
コードを記述中にこのクイックフィックスを使用して、呼び出しシグネチャに基づいて関数を素早くスタブ化できます。
JavaScriptでこのクイックフィックスを使用するには、型チェックを有効にする必要があります。
JS Docテンプレートが@returnsを生成
JS Docテンプレートは、アノテーションを付ける関数にreturn
ステートメントが含まれている場合、自動的に@returns
を含めるようになりました。例えば、関数getViz
の場合、
function getViz(el) {
return el?.viz;
}
生成されるJSDocテンプレートは次のとおりです。
/**
*
* @param {*} el
* @returns
*/
function getViz(el) {
return el?.viz;
}
JSDocコメント内の@returns
は、javascript.suggest.jsdoc.generateReturns
とtypescript.suggest.jsdoc.generateReturns
で無効にできます。
非推奨のDOM APIがマークされるように
非推奨のDOMメソッドが、提案時およびコード内で非推奨としてマークされるようになりました。
エディターで非推奨のプロパティや関数を表示しないようにするには、editor.showDeprecated: false
を設定します。
ノートブック
Notebookを自動的にリロード
Notebookは、ファイルがディスク上で変更され、かつ未保存の変更がない場合に自動的にリロードされるようになりました。これにより、バージョン管理されているNotebookでの作業がはるかに簡単になるはずです。
大きなセルに対するフォーカスの改善
大きなNotebookセルにフォーカスが当たっている場合、セルの上下が見えない状態でも、どのセルにフォーカスが当たっているかをより明確に判別できるようになりました。フォーカスされたセルの左右に境界線が表示されるようになりました。
CSS/LESS/SCSSおよびHTMLでのホバー
HTMLおよびCSSでのホバーの内容を細かく調整できるようになりました。
- MDNからのドキュメントを表示しない
- MDNページへのリンクを表示しない
CSSのホバーを変更するには、設定css.hover.documentation
とcss.hover.references
を使用します。これらの言語の設定を変更するには、css
をhtml
、css
、scss
、またはless
に置き換えてください。
プレビュー機能
Notebook用の拡張可能なMarkdownレンダラー
今回のイテレーションでは、NotebookセルのMarkdownレンダラーを拡張可能にすることを検討しました。例えば、以下のスクリーンショットでは、VS CodeのMarkdownレンダラーを拡張して、Notebookセルに数式を表示するのをサポートしています。
Markdownレンダラーを拡張可能にするために、すべてのNotebook MarkdownをレンダリングするためにMarkdown Itを使用することを検討しました。また、レンダリングされたMarkdownをNotebookのバックレイヤーwebviewに移動することも検討しました。
現時点ではこれに関する公式APIを公開する準備はできていませんが、3月にはこの探求を継続する予定です。ドキュメント化されていないnotebook.experimental.useMarkdownRenderer: true
設定を使用して、新しい拡張可能なMarkdownレンダラーを今日から試すこともできます。
拡張機能への貢献
Brackets
Bracketsソースコードエディターから移行する開発者は、Bracketsキーマップ拡張機能を使用して、VS Codeで同じキーボードショートカットを使い続けることができます。また、CSSでの作業やライブプレビューの作成用の拡張機能をバンドルしたBrackets拡張機能パックもあります。
GitHub Pull Requests and Issues
プルリクエストとイシューの作業、作成、管理を可能にするGitHub Pull Requests and Issues拡張機能の開発が継続されています。
すべての新機能とアップデートについて学ぶには、拡張機能の0.24.0リリースの完全な変更ログをご覧ください。
リモート開発
コンテナー、リモートマシン、またはLinux用Windowsサブシステム (WSL) をフル機能の開発環境として使用できるRemote Development拡張機能の開発が継続されています。
1.54の注目機能は次のとおりです。
- ポートビューのテーブルレイアウト
- Remote - SSH: X11転送
- WSL: WSL 2サポートの改善
新しい拡張機能の機能とバグ修正については、Remote Developmentリリースノートで確認できます。
拡張機能作成
エディタータイトルメニューと「実行」サブメニューの制限
エディターツールバー (editor/title
) のスペースには限りがあります。そのため、以下の変更を行いました。
- オーバーフロー動作を実装しました。アイコン付きでレンダリングされるアクションのプライマリグループが9つを超えるコマンドに達すると、追加のすべてのコマンドが
...
メニューにオーバーフローします。 editor/title/run
サブメニューを追加しました。以前のリリースで推奨していたように、拡張機能の作者には、実行およびデバッグコマンドをeditor/title
メニューではなく、このメニューに貢献するようお願いしています。さらに、コマンドが正しい位置に表示されるようにするために、マジックグループ値1_run@10
および1_run@20
を使用する必要がなくなりました。
また、実行サブメニューは動的であり、唯一の子である場合は、その最初の子に置き換わることに注意してください。
認証プロバイダーAPI
他の拡張機能がサービスに対して認証を実行するために使用できる認証プロバイダーを登録できるようになりました。
拡張機能マーケットプレイスの新しいフィードバックチャネル
拡張機能マーケットプレイスに関連する問題のための新しい公開リポジトリがあります。技術的な問題がある場合、フィードバックをしたい場合、または機能リクエストがある場合は、イシューを開いてください。
更新された codicon
当社のcodicon ライブラリに以下の新しいアイコンを追加しました。
debug-rerun
gather
git-pull-request-create
notebook-template
run-above
run-below
type-hierarchy
type-hierarchy-sub
type-hierarchy-super
variable-group
また、以下のアイコンを一貫性のあるものに更新しました。
debug-alt-small
debug-alt
debug-rerun
play-circle
play
run-above
run-all
run-below
提案された拡張API
各マイルストーンには新しい提案された API があり、拡張機能の作成者はそれらを試すことができます。いつものように、皆様のフィードバックをお待ちしております。提案された API を試すには、次の手順を実行する必要があります。
- 提案APIは頻繁に変更されるため、Insiders版を使用する必要があります。
- 拡張機能の
package.json
ファイルに次の行が必要です:"enableProposedApi": true
。 - 最新バージョンのvscode.proposed.d.tsファイルをプロジェクトのソース場所にコピーします。
提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。
アイコン寄与ポイント
アイコン寄与ポイントにより、拡張機能はIDとデフォルトアイコンで新しいアイコンを定義できます。そのアイコンIDは、拡張機能(またはその拡張機能に依存する他の拡張機能)によって、ThemeIconが使用できる場所で使用できます。例えば、Markdown文字列(例: "$(distro-ubuntu)" Ubuntu 20.04"
)や、ThemeIconを受け入れるすべての場所(例: new ThemeIcon("distro-ubuntu")
)などです。
製品アイコンテーマは、アイコンIDを知っていればアイコンを再定義できます。
詳細とフィードバックについては、イシュー114942をご覧ください。
インライン値プロバイダーAPI
現在、VS Codeデバッガーのインライン値の表示 (Show Inline Values) 機能は、VS Codeコアの一般的な実装に基づいており、設定によるカスタマイズや拡張機能による拡張性を提供していません。結果として、すべての言語に完璧に適合するわけではなく、基となるソース言語を理解していないため、誤った値を表示することもあります。このため、組み込みの実装を完全に置き換える、または実装の一部をカスタムコードで置き換えることを可能にする拡張機能APIの開発に取り組んでいます。
このマイルストーンでは、提案されたAPIの最初の実装が利用可能になりました。
インライン値プロバイダーAPIの概要は次のとおりです。
InlineValuesProvider
は言語ごとに登録する必要があります。- 指定されたドキュメントの場合、
InlineValuesProvider
はインライン値を表示するすべての言語要素を特定する必要があります。 - 各要素について、VS Codeに表示する情報を指示する
InlineValue
記述子オブジェクトを返す必要があります。現在、3種類のInlineValue
オブジェクトがサポートされています。InlineValueText
: 表示する完全なテキストInlineValueVariableLookup
: VS Codeがその値を見つけるためにVARIABLESビューで検索しようとする変数の名前。名前と値は「name = value」の形式で表示されます。InlineValueEvaluatableExpression
: VS Codeが評価のためにデバッガーに送信する式。式と結果は「expression = result」の形式で表示されます。
以下のスニペット(Mock Debugより)は、「markdown」ファイル用の最小限のインライン値プロバイダーを示しています。これは正規表現を使用して「変数」を特定し、変数ビュー (Variables view) を介してその値を見つけるようVS Codeに指示します。
vscode.languages.registerInlineValuesProvider('markdown', {
provideInlineValues(
document: TextDocument,
viewport: Range,
context: InlineValueContext
): ProviderResult<InlineValue[]> {
const allValues: InlineValue[] = [];
for (let l = 0; l <= context.stoppedLocation.end.line; l++) {
const line = document.lineAt(l);
var regExp = /local_[ifso]/gi; // match variables of the form local_i, local_f, Local_i, LOCAL_S...
do {
var match = regExp.exec(line.text);
if (match) {
const varName = match[0];
const varRange = new Range(l, match.index, l, match.index + varName.length);
allValues.push(new InlineValueVariableLookup(varRange, varName));
}
} while (match);
}
return allValues;
}
});
そして、インライン値プロバイダーの動作中
この提案されたAPIに関するフィードバックを提供したい場合は、このイシューにコメントを追加してください。
テスト
VS Codeでのテストについて引き続き進捗がありました。今月は、VS Codeの基本エクスペリエンスと拡張機能APIの洗練に焦点を当てました。また、テストに関する暫定的なドキュメントも公開しており、APIが安定するにつれて内容が充実していく予定です。
Language Server Protocol
次期3.17リリース向けに、診断プルモデルの最初の提案が実装されました。この提案は、VS Code LSPライブラリの次のバージョンで利用可能です。
Debug Adapter Protocol
ExceptionBreakpointsFilterのヘルプテキストプロパティの追加
ExceptionBreakpointsFilter
に、オプションのUI属性description
とconditionDescription
が追加されました。
これらの属性により、クライアントは例外ブレークポイントに関する追加情報を表示できます。description
プロパティはホバーに表示でき、conditionDescription
は条件を編集できるテキストボックスのプレースホルダーテキストとして使用できます。
setExceptionBreakpointsリクエストの記述の改善
setExceptionBreakpoints
リクエストの記述を改善し、ユーザーが無効な例外ブレークポイント条件を入力した場合にアダプターが何をすべきかについてのガイダンスを追加しました。
スタックフレームの新しいcanRestartプロパティ
スタックフレームに新しいオプションのブール値プロパティcanRestart
が追加されました。これは、スタックフレームがrestart
リクエストで再起動できるかどうかを示します。この情報に基づいて、クライアントはフレームを再起動 (Restart Frame) コンテキストメニューアクションを有効または無効にすることができます。
エンジニアリング
Electronサンドボックスの進捗
このマイルストーンでは、Electronのサンドボックスおよびコンテキスト分離機能を有効にするために、VS Codeウィンドウの準備を進めました。
具体的には
- レンダラーにあったネイティブモジュール要件の一部を他のプロセスに移動することができました。
MessagePort
通信チャネルは、サンドボックスが有効になっている場合でも機能するように実装されました。
新しいターミナルプロセスレイアウト
ターミナルプロセスが、ウィンドウプロセスではなく新しい「ptyホスト」プロセスで生成されるようになりました。この変更はElectronサンドボックスの一部であるだけでなく、ターミナルの安定性とパフォーマンスも向上させるはずです。
WindowsインストーラーがWindowsパッケージマネージャーに公開
x86
およびx64
用のWindowsユーザーおよびシステムインストーラーが、Windowsパッケージマネージャーに公開されるようになりました。wingetツールを使用して、すべてのVisual Studio Codeインストーラーを検索(winget search vscode
)し、公開されているインストーラーのいずれかをインストールできます。
TypeScript 4.3を使用してVS Codeをビルド
VS Codeは現在、TypeScript 4.3のナイトリービルドを使用してビルドされています。これにより、TypeScriptチームの最新の作業を検証し、新しい変更についてフィードバックを提供できます。
最新のTypeScriptバージョンは、条件文でawaitが欠落しているいくつかのケースを発見するのにすでに役立ちました。
yarn.lockの変更を防止
サプライチェーンセキュリティを向上させるため、yarn.lock
ファイルに対するPRを防止するCIが導入されました。
デフォルトブランチ: main
microsoft/vscode
を含むすべてのリポジトリのデフォルトブランチをmain
に名称変更し始めました。この作業は約60%完了しています。
ドキュメント
教室でのVS CodeとPython
Harvey Mudd Collegeのコンピュータサイエンス教授が、Pythonを使用した入門CSクラスでVS Codeを使用している事例研究を読んでください。彼が生徒に推奨する設定、役立つ拡張機能、無料の自習型Pythonおよびデータサイエンスレッスンについて学びましょう。
拡張機能のトラブルシューティングブログ記事
誰もがVS Code拡張機能のインストールと使用を好みます。しかし、多くの拡張機能をインストールしていると、エディターが「おかしな」動作を始めることがあり、その動作が特定の拡張機能によって引き起こされているかどうかを知ることができれば素晴らしいでしょう。拡張機能のバイセクトユーティリティの以前の発表を見逃した場合は、この「バイセクトで拡張機能の問題を解決する」ブログ記事を読むことができます。この記事では、「問題のある」拡張機能を迅速にトラブルシューティングし、拡張機能の作者にフィードバックを提供する方法について説明しています。
注目すべき修正点
- 100151: メニューキーがエクスプローラーの誤った項目に適用される
- 112055: デバッグがPythonセッションごとに新しい統合ターミナルを開く
- 114881: フォルダーまたはファイルをコピーする際にシンボリックリンクを保持する
- 114933: 「タスクを追跡できません」という不満
- 115922: ファイルエクスプローラーでのフィルタリングでカーソルキーが機能しない
- 116037: デバッグコンソールの出力にリンクホバーが表示されない
- 116101: 英語の説明が消えたため、コマンド検索で目的のコマンドが見つからない
- 116932: 貢献されたコマンド実行からカスタム例外をスローすると、不可解なエラーポップアップが表示される
ありがとうございます
最後に、今月 VS Code に貢献してくださった以下の皆様に、心からの感謝を申し上げます。
問題追跡への貢献者
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Simon Chan (@yume-chan)
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
vscode
への貢献者
- @antonvolokha (Anton Volokha): イシュー #116591を修正 PR #116885
- @CameronIrvine (Cameron): #114432を修正: WindowsでCtrl+Sを複数回押すと複数の保存ダイアログが表示される問題 PR #114450
- @davidbailey00 (David Bailey): RPM: build_idリンクを生成しない PR #116105
- @DonJayamanne (Don Jayamanne): Notebook CellのrunStateが正しく更新されることを確認 PR #116901
- @engelsdamien (Damien Engels): tsecの免除を明示的にリストアップ PR #116460
- @ferenczy (Dawid Ferenczy Rogožan): ローカライズ文字列 wordBasedSuggestionsMode のタイポを修正 PR #115809
- @gjsjohnmurray (John Murray): GHバグレポートテンプレートのガイダンスコメントを改善 PR #116183
- @guiherzog (Guilherme Herzog): getViewState関数のツリー走査パフォーマンスを改善 PR #115387
- @habibkarim (Habib Karim): Markdownプレビューのリンククリック時に正規化された絶対ファイルパスを処理 PR #116649
- @jeanp413 (Jean Pierre)
- #115922を修正 PR #116005
- Emmet: output.reverseAttributesオプションを追加 PR #116088
- vscodeがエクスプローラーで多数のドットを含むファイル名をペーストした後、応答しなくなる問題を修正 PR #116268
wrapWithAbbreviation
とwrapIndividualLinesWithAbbreviation
を1つのコマンドに統合 PR #116603
- @jogo-: papercuts.github-issuesのスペルミスを修正 PR #115452
- @Klagopsalmer (Alexandre Schnegg): #95040を修正 PR #116027
- @lancewl (Hsuan-An Weng Lin)
- Emmet: css.color.short設定を追加 PR #116912
- Emmet: 複数の拡張機能パスをサポート PR #117105
- @leereilly (Lee Reilly): 一貫性のためリスト項目にピリオドを追加 PR #115375
- @manuth (Manuel Thalmann): Env-ParameterなしでMarkdownレンダリングを許可 PR #117041
- @mdesrosiers (Martin Desrosiers): markedを2.0.0に更新 PR #117714 (https://github.com/microsoft/vscode/pull/115192)
- @MarcoZehe (Marco Zehe): Playwrightをv1.8.0にアップグレード。 PR #115241
- @nrayburn-tech (Nicholas Rayburn): git拡張機能内の関数名を変更 PR #113673
- @obsgolem (Josiah Bills): 移動単位に新しい「blankLine」オプションを追加 PR #115578
- @pfitzseb (Sebastian Pfitzner): Julia文法を追加 PR #115309
- @PathToLife (PathToLife): 機能: Shift Shift, Ctrl Ctrl, Alt Altキーバインド (修飾キーの二重押しキーバインドをサポート) PR #115190
- @rluvaton (Raz Luvaton): fix(workbench): 正規表現で忘れていたエスケープを追加 PR #115336
- @samrg123 (Samuel Gonzalez): URIをMarkdownString作成前にエスケープすることで、イシュー #108301を修正。 PR #112330
- @sargreal (Felix Haase): askpass引数からgitホストのコロンを削除 PR #117230
- @shskwmt (岩本 俊介)
- 114236を修正: unIndentedLinePatternに複数行コメントの正規表現を追加 PR #114478
- 115154を修正: split-view-viewに「overflow: hidden」スタイルを追加 PR #115345
- @susiwen8 (susiwen8)
- 修正: リストにalwaysConsumeMouseWheelを追加 PR #114182
- 修正:
onDidSaveNotebookDocument
のイベントが間違っている PR #115855
- @SchoofsKelvin (Kelvin Schoofs): イシュー #114473を修正 PR #114474
- @tspence (Ted Spence)
- リモート拡張機能ホストがクラッシュした場合に、イシューサービスがバグレポートウィンドウを表示できるようにする PR #116896
- クイックピックでファイルを開くときにカット/コピー/ペーストを妨げるwebviewのフォーカス問題を修正 PR #116899
- @TacticalDan: 任意イベントリミッターを16msから4.16666msに削減 (#_107016) PR #114957
- @ugultopu (Utku Gultopu): 「likelihood」のスペルミスを修正 PR #116728
- @vagusX (vagusX): 修正: zone-widgetでリストにフォーカスが当たっているときにスクロールを防ぐ PR #114912
- @Wscats (Eno Yao): 関数パラメーター型の補足 PR #115751
language-server-protocol
への貢献者
- @DanTup (Danny Tuppeny): insertReplaceSupport機能への参照を修正 PR #1207
- @reznikmm (Maxim Reznik): MD書式設定の軽微な修正 PR #1208
vscode-languageserver-node
への貢献者
- @xAlien95 (Stefano De Carolis): 壊れたドキュメントのMarkdownリンクを修正 PR #741
vscode-emmet-helper
への貢献
- @aliasliao (Liao Jinyuan): jsx入力時にパスカルケースタグの補完を提供 PR #53
- @AnuBhar (Anushka Bhargava): 114923の修正 - HTML figcaptionタグが完全な単語を使用するときに提案されるべき PR #44
- @jeanp413 (Jean Pierre)
- @johnsoncodehk (Johnson Chu): 修正: doCompleteの結果がundefinedになる可能性がある PR #51
- @lancewl (Hsuan-An Weng Lin)
- @shskwmt (岩本 俊介): 115946(vscode)を修正: htmlAbbreviationStartRegexに'{'を追加 PR #45
vscode-html-languageservice
への貢献
- @sapphi-red (翠 / green): オートコンプリートの提案から既存の属性を削除 PR #99
vscode-js-debug
への貢献者
vscode-textmate
への貢献
- @msftrncs (Carl Morris): 無限ループ検出を改善 PR #146
vscode-vsce
へのコントリビューション
- @felipecrs (Felipe Santos): verify-patコマンドを追加 PR #532