に参加して、VS Code の AI 支援開発について学びましょう。

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

これらのリリースノートをオンラインで読みたい場合は、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ビルドになりました。ダウンロードページでは、IntelまたはApple Silicon向けのアーキテクチャ固有ビルドへのリンクがさらに用意されており、Universalパッケージよりもダウンロードサイズが小さくなっています。

Website showing the new downloads view for Apple Silicon builds

Website showing the default download for macOS

アクセシビリティ

ツールバーとタブは1つのタブストップを占める

ワークベンチ内のすべてのツールバーは標準のナビゲーション動作に従うようになり、ツールバーはタブオーダーで1つの位置のみを占め、矢印キーでナビゲートできるようになりました。フォーカスがツールバーにある場合、矢印キーを使用してツールバー内の特定の項目にフォーカスを移動する必要があります。この変更の結果、ワークベンチのタブストップがはるかに少なくなり、すべての部分を簡単にナビゲートできるようになりました。

一貫性を保つため、タブ領域にも同じ変更が適用されました。したがって、タブ領域全体は1つのタブストップのみとなり、タブ間のキーボードナビゲーションは左右の矢印キーで行う必要があります。

Windowsでの単語ナビゲーション

Windowsでの単語ナビゲーションの動作を改善し、Windows上のスクリーンリーダーがElectronベースのアプリケーションに期待する動作に合わせました。これにより、単語ナビゲーションを使用すると、各単語がスクリーンリーダーによって適切に読み上げられるようになります。

この変更により、以下のコマンドは非推奨となります。これらは引き続き機能しますが、将来的に削除される可能性があります。

  • cursorWordAccessibilityLeft
  • cursorWordAccessibilityLeftSelect
  • cursorWordAccessibilityRight
  • cursorWordAccessibilityRightSelect

Windows以外のプラットフォームではすでに期待通りに動作していたため、変更はありません。

ビューとボタンの役割の改善

ユーザーからのフィードバックに基づいて、ワークベンチ全体の複数のビューとボタンの役割を改善しました。アクティビティバーサイドバーパネルは、role:none を持つようになり、スクリーンリーダーがより静かになります。アクティビティバー内の管理ボタンとアカウントボタンは、ポップアップがあることを適切にアナウンスするようになりました。

統合ターミナル

ウィンドウのリロード時にターミナルプロセスを保持

拡張機能のインストールにリロードが必要な場合など、ウィンドウのリロード時にローカルターミナルプロセスが復元されるようになりました。ターミナルは再接続され、アクティブなタブや分割ターミナルの相対的な寸法など、ターミナルのUI状態が復元されます。

In a local window, two split terminals are created and resized. On reload, the layout appears unchanged.

この機能は、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 設定は、文字列だけでなく、パスの配列も受け入れるようになりました。したがって、設定同期と組み合わせることで、マシンごとに設定を更新することなく、異なるスニペットファイルをマシンに応じて指定できるようになりました。

製品アイコンテーマ

最初の製品アイコンテーマが拡張機能マーケットプレイスで利用可能になりました。素晴らしい仕事をしてくれたテーマの作者に感謝します!

テーマを選択または検索するには、コマンドプロンプトまたは設定歯車から設定: 製品アイコンテーマコマンドを使用します。

Product icon themes in the Extension Marketplace

コンテキストキーのIntelliSense

VS Code は when 句を使用してキーバインディングを有効/無効にします。拡張機能も when 句を使用して メニュー および ビュー の貢献を制御します。エディターがこれらの補完を提供するため、これらの when 句の作成が大幅に簡単になりました。

keybindings.json のコンテキストキーの IntelliSense テーマ: GitHub Light Theme, フォント: FiraCode

開いているエディターの新規無題ファイルアクション

開いているエディタービューのタイトル領域に、新規無題ファイルアクションが追加されました。

New untitled file in Open Editors view

アプリケーションメニュー設定の更新

アプリケーションメニューの可視性を制御する window.menuBarVisibility 設定が、オプションをより適切に反映するように更新されました。主に2つの変更が加えられました。

まず、この設定の default オプションが classic に名称変更されました。

次に、アプリケーションメニューバーの メニューバーを表示 エントリが、classic オプションと compact オプションを切り替えるようになりました。完全に非表示にするには、設定を更新するか、compact モード時にアクティビティバーのコンテキストメニューを使用します。

アプリケーションメニューのメニューバーを表示エントリ テーマ: GitHub Light Theme

Webviewのキャッシュ改善

webview内のローカルファイルのキャッシュが改善されました。webviewがディスクからファイルをリロードする場合、変更がない場合はETagを使用して再度ファイルを読み込まないようになりました。これにより、データ転送をなくし、特にリモートワークスペースでの応答時間を改善できます。

このキャッシュは現在、既存のwebviewがリソースをリロードする場合にのみ適用されます。新しく作成されたwebviewには適用されません。たとえそのwebviewが以前に類似のwebviewを作成した拡張機能に属している場合でもです。

ワークスペース検索アクションの変更

既存の workbench.view.search を変更し、選択したテキストを検索入力に入れずに、代わりに検索入力を開くようにしました。選択したテキストを使用し、search.mode 設定を尊重して新しい検索を作成するには、workbench.action.findInFiles を使用する必要があります。

修飾子のみのキーバインディング

重複する修飾子、たとえば shift shiftalt altctrl ctrl、または cmd cmd / meta meta / win win のキーバインディングを定義できるようになりました。これらのキーバインディングは、keybindings.json に手動で入力できます。例:

{ "key": "shift shift", "command": "workbench.action.quickOpen" }

リスト/ツリーUIの更新

リスト/ツリーのスタイルをネイティブのフォーカスおよび選択インジケーターに合わせて更新しました。フォーカスされた要素は、アウトラインカラーでレンダリングされるようになりました。

List/tree UI showing focused element

破壊的変更

テーマパブリッシャーは、list.focusBackground 色のカスタマイズを quickInput.list.focusBackground 色に単純にスワップするだけで、このスタイルを採用することをお勧めします。例については、このコミットを参照してください。

テーブルウィジェット

既存のリストウィジェットの上に構築された新しいテーブルウィジェットを導入しました。これにより、リスト要素をレンダリングするのと同じパフォーマンスでテーブルデータをレンダリングできます。今のところ、リモート機能のポートビューで使用されています。

Table widget view of remote Ports

はじめに

起動時に表示される新しいエディター「Getting Started エディター」を試しています。これは、VS Codeのいくつかの機能を新規ユーザーにとってより利用しやすくすることを目的としています。一部のInsidersユーザーはすでにこのエディターを目にしているかもしれませんが、今回のイテレーション中に徐々に多くのStableユーザーに展開される予定です。workbench.startupEditor 設定を gettingStarted に変更するか、それ以外に変更することで、新しい動作をいつでも有効または無効にできます。

Getting Started experience walkthrough

タイムラインビュー

エクスプローラービューでファイルを比較するのと同様に、比較のために選択 および 選択と比較 コマンドを使用して、Git履歴のタイムラインエントリ間で変更を比較できるようになりました。この機能を使用すると、Gitファイル履歴内の任意の2つのコミット間のすべての変更をすばやく確認できます。

Select for Compare command in context menu

既定のサッシホバーボーダーカラー

1.52リリースでは、サッシのホバーボーダーカラートークン (sash.hoverBorder) を導入しましたが、デフォルトは設定しませんでした。すべてのテーマでこの色がデフォルトで表示されるようになりました。

Sash hover border color

デバッグ

ブレークポイントビューの改善

ブレークポイントを削除するための新しいインラインアクション

ブレークポイントビューでブレークポイントを削除するためのインラインアクション X が追加されました。このアクションにより、ブレークポイントの削除が容易になります。

Breakpoints view showing X next to selected breakpoint

例外フィルターのヘルプテキストサポート

最近、ブレークポイントビューで例外フィルターの条件を編集するサポートを追加しました。

これらの条件をより発見しやすく、その構文を自己説明的にするために、VS Code は例外フィルターにホバーを表示し、条件テキストボックスにプレースホルダーテキストを表示するようになりました。

両方の情報が基になるデバッグ拡張機能によって提供されるため、一般的なメッセージよりもはるかに具体的 (そして役立つ) になります。

この新機能は、デバッグアダプタープロトコルの追加 (下記参照) に基づいているため、デバッグ拡張機能のオプトインが必要です。このリリースでは、VS Code の組み込みJavaScriptデバッガーのみがこの新機能をサポートしています。

Breakpoint placeholder

新しい設定とその他の改善

デバッグコンソールの同一行を折りたたむ

デバッグコンソールが同一行を折りたたんで、多くの出現をバッジで表示するかどうかを制御する新しい設定 debug.console.collapseIdenticalLines が追加されました。デフォルトは折りたたむです。

デバッグ前にどのエディターを保存するかを制御する

デバッグ開始前にどのエディターを保存するかを制御する新しい設定 debug.saveBeforeStart が追加されました。この設定は以下の値を持ちます。

  • allEditorsInActiveGroup: アクティブなグループ内のすべてのエディターを保存します。デフォルト値です。
  • nonUntitledEditorsInActiveGroup: アクティブなグループ内の無題のものを除くすべてのエディターを保存します。
  • none: どのエディターも保存しません。

この設定はPowerShellデバッグに役立ちます。PowerShellデバッガーは未保存ファイルのデバッグをサポートしているためです。

フレーム再起動アクションの有効化の改善

デバッグアダプタープロトコルへの新しい追加により、デバッグ拡張機能は、選択されたスタックフレームで「フレーム再起動」アクションが利用可能かどうかをVS Code UIに通知できるようになりました。VS Code は、再起動できないスタックフレームの呼び出しスタックビューでフレーム再起動インラインアクションを無効にするようになりました。

例えば、JS-Debug 拡張機能はこの機能を採用しており、現在、非同期スタックトレースではフレーム再起動アクションが無効になっています。

言語

TypeScript 4.2

VS Code には TypeScript 4.2.2 が同梱されるようになりました。このメジャーアップデートには、多くの TypeScript 言語の改善に加え、JavaScript および TypeScript ツールの多くの改善とバグ修正が含まれています。

TypeScript 4.2 の詳細については、TypeScript ブログを参照してください。

不足している関数を宣言するためのクイックフィックス

新しい不足している関数宣言を追加クイックフィックスは、不足している関数をスタブアウトします。例えば、不足している関数 add の呼び出しがある場合

const x: number = add(1, 2);

add に対して不足している関数宣言を追加を使用すると、次のようになります。

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.generateReturnstypescript.suggest.jsdoc.generateReturns で無効にできます。

非推奨のDOM APIがマークされるようになりました

非推奨のDOMメソッドは、提案とコードで非推奨としてマークされるようになりました。

document.clear being marked as deprecated in code

エディターで非推奨のプロパティや関数を表示しないようにするには、editor.showDeprecated: false を設定します。

ノートブック

ノートブックの自動リロード

ノートブックは、ディスク上のファイルが変更され、未保存の変更がない場合に自動的にリロードされるようになりました。これにより、バージョン管理下にあるノートブックでの作業が大幅に簡単になるはずです。

大きなセルのフォーカス改善

大きなノートブックセルにフォーカスがある場合、セルの上部と下部がビューから外れていても、どのセルにフォーカスがあるかを確認しやすくなりました。現在、フォーカスされたセルの左右に境界線を表示しています。

Notebook focus for a large cell

CSS/LESS/SCSS および HTML のホバー

HTML および CSS のホバーのコンテンツを細かく調整できるようになりました。

  • MDNからのドキュメントを表示しない
  • MDNページへのリンクを表示しない

CSSのホバーを変更するには、css.hover.documentationcss.hover.references の設定を使用します。これらの言語の設定を変更するには、csshtmlcssscss、または less に置き換えます。

プレビュー機能

ノートブック用の拡張可能なMarkdownレンダラー

今回のイテレーションでは、ノートブックセルのMarkdownレンダラーを拡張可能にすることを探求しました。以下のスクリーンショットでは、例えば、VS Code のMarkdownレンダラーを拡張して、ノートブックセルに数式を表示できるようにしました。

A math formula being rendered in a notebook cell

Markdownレンダラーを拡張可能にするために、すべてのノートブックMarkdownをレンダリングするためにMarkdown Itを使用することを検討しました。また、レンダリングされたMarkdownをノートブックのバックレイヤーWebviewに移動することも検討しました。

まだこのための公式APIを公開する準備はできていませんが、3月にはこの探求を続ける予定です。また、文書化されていない notebook.experimental.useMarkdownRenderer: true 設定を使用して、新しい拡張可能なMarkdownレンダラーを今日試すこともできます。

拡張機能への貢献

Brackets

Bracketsソースコードエディターから移行してきた開発者は、Bracketsキーマップ拡張機能を使って、VS Codeで同じキーボードショートカットを使い続けることができます。また、CSSの作業やライブプレビュー作成のための拡張機能をまとめたBrackets拡張機能パックもあります。

Brackets Extension Pack in the Marketplace

GitHub Pull Requests and Issues

GitHub Pull Requests and Issues 拡張機能の開発は継続しており、プルリクエストやイシューの作業、作成、管理が可能です。

すべての新機能とアップデートについては、拡張機能の 0.24.0 リリース の完全な変更ログを参照してください。

リモート開発

リモート開発拡張機能の作業が続けられています。これにより、コンテナ、リモートマシン、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。

1.54 の主要な機能ハイライトは以下の通りです。

  • ポートビューのテーブルレイアウト
  • リモート - SSH: X11転送
  • WSL: WSL 2サポートの改善

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

拡張機能作成

エディタータイトルメニューと「実行」サブメニューの制限

エディターのツールバー (editor/title) のスペースは限られています。そのため、次のことを行いました。

  • オーバーフロー動作を実装しました。アイコン付きでレンダリングされるアクションのプライマリグループが9つのコマンドを超えると、すべての追加コマンドが ... メニューにオーバーフローします。
  • editor/title/run サブメニューを追加しました。以前のリリースで推奨していたように、拡張機能の作者には、実行コマンドとデバッグコマンドを editor/title メニューではなく、このメニューに貢献するようお願いしています。さらに、コマンドを正しい位置に表示するために、マジックグループ値 1_run@101_run@20 を使用する必要がなくなりました。

Run dropdown menu

また、実行サブメニューは動的であり、唯一の子である場合は最初の子に置き換わることも知っておいてください。

認証プロバイダーAPI

他の拡張機能がサービスに対する認証を実行するために使用できる認証プロバイダーを登録できるようになりました。

Extension Marketplaceの新しいフィードバックチャンネル

Extension Marketplaceに関連する問題のための新しいパブリックリポジトリができました。技術的な問題、フィードバック、機能リクエストがある場合は、イシューを開いてください

更新された 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

Codicons for tasks

以下のアイコンも一貫性を保つために更新しました。

  • debug-alt-small
  • debug-alt
  • debug-rerun
  • play-circle
  • play
  • run-above
  • run-all
  • run-below

Consistent codicons

提案された拡張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のデバッガーのインライン値表示機能は、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;
  }
});

そして、インライン値プロバイダーが動作している様子です。

Debugger shows inline values

この提案されたAPIについてフィードバックを提供したい場合は、この課題にコメントを追加してください。

テスト

VS Codeでのテストについて引き続き進捗がありました。今月はVS Codeでの基本体験と拡張機能APIの洗練に焦点を当てました。また、APIが安定するにつれて詳細が追加される暫定的なドキュメントも公開しています。

Language Server Protocol

今後の3.17リリースに向けて、診断プルモデルの最初の提案が実装されました。この提案は、VS Code LSPライブラリの次のバージョンで利用可能です。

Debug Adapter Protocol

ExceptionBreakpointsFilterのヘルプテキストプロパティの追加

ExceptionBreakpointsFilter に、2つのオプションのUI属性 descriptionconditionDescription が追加されました。

これらの属性により、クライアントは例外ブレークポイントに関する追加情報を表示できます。description プロパティはホバーに表示でき、conditionDescription は条件を編集できるテキストボックスのプレースホルダーテキストとして使用できます。

setExceptionBreakpointsリクエストの説明を改善

setExceptionBreakpoints リクエストの説明を改善し、ユーザーが無効な例外ブレークポイント条件を入力した場合にアダプターがどうすべきかに関するガイダンスを追加しました。

スタックフレームの新しい `canRestart` プロパティ

スタックフレームに新しいオプションのブール型プロパティ canRestart が追加されました。これは、スタックフレームが restart リクエストで再起動できるかどうかを示します。この情報に基づいて、クライアントはフレームの再起動コンテキストメニューアクションを有効または無効にできます。

エンジニアリング

Electronサンドボックスの進捗

このマイルストーンでは、VS CodeウィンドウをElectronのサンドボックスおよびコンテキスト分離機能を有効にする準備を継続しました。

具体的には

  • レンダラーで必要だったネイティブモジュールの一部を他のプロセスに移行することができました。
  • MessagePort 通信チャネルは、サンドボックスが有効になっている場合に動作するように実装されました。

新しいターミナルプロセスレイアウト

ターミナルプロセスは、ウィンドウプロセスではなく、新しい「ptyホスト」プロセスで生成されるようになりました。この変更はElectronサンドボックスの一部であるだけでなく、ターミナルの安定性とパフォーマンスも向上させるはずです。

WindowsインストーラーがWindows Package Managerに公開されました

Windowsユーザーおよびシステムの x86 および x64 インストーラーが、Windows Package Manager に公開されるようになりました。winget ツールを使用して、すべての Visual Studio Code インストーラーを検索 (winget search vscode) し、公開されているインストーラーのいずれかを インストール できます。

TypeScript 4.3 を使用した VS Code のビルド

VS Code は現在、TypeScript 4.3 の nightly ビルドを使用してビルドされています。これにより、TypeScript チームの最新の作業を検証し、新しい変更についてフィードバックを提供できます。

最新の TypeScript バージョンは、条件式で await が不足していた いくつかのケースを特定するのに役立ちました。

yarn.lock の変更を防止

サプライチェーンセキュリティを向上させるため、yarn.lock ファイルに対するPRを防止するCIを導入しました。

デフォルトブランチ: main

microsoft/vscode を含むすべてのリポジトリのデフォルトブランチの名前を main に変更し始めました。この作業は60%ほど完了しています。

ドキュメント

VS Code と Python を教室で

ハーベイ・マッド大学のコンピュータ科学教授が、Python を使った入門 CS クラスで VS Code をどのように活用しているかのケーススタディを読んでみましょう。彼が学生に推奨する設定、便利な拡張機能、そして無料で自分のペースで学べる Python およびデータサイエンスのレッスンについて学びましょう。

拡張機能のトラブルシューティングに関するブログ記事

誰もが VS Code 拡張機能をインストールして使用するのが好きです。しかし、多くの拡張機能をインストールしていると、エディターが「おかしな」動作を始めることがあり、その動作が特定の拡張機能によって引き起こされているかどうかを知ることができれば素晴らしいでしょう。拡張機能の二分法ユーティリティの以前の発表を見逃した場合は、この「二分法で拡張機能の問題を解決する」ブログ記事を読んで、問題のある拡張機能をすばやくトラブルシューティングし、拡張機能の作者にフィードバックを提供する方法を学ぶことができます。

注目すべき修正点

  • 100151: エクスプローラーで間違った項目にメニューキーが適用される
  • 112055: Debug が各 Python セッションで新しい統合ターミナルを開く
  • 114881: フォルダやファイルをコピーする際にシンボリックリンクを保持する
  • 114933: 「タスクを追跡できません」という不満
  • 115922: ファイルエクスプローラーでのフィルタリングでカーソルキーが機能しない
  • 116037: デバッグコンソールの出力にリンクホバーが表示されない
  • 116101: 英語の説明が消えたため、コマンド検索でターゲットコマンドを見つけられない
  • 116932: 貢献されたコマンド実行からカスタム例外をスローすると、不可解なエラーポップアップが表示される

ありがとうございます

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

問題追跡への貢献者

vscodeへの貢献者

language-server-protocolへの貢献者

vscode-languageserver-nodeへの貢献者

vscode-emmet-helperへの貢献

vscode-html-languageserviceへの貢献

vscode-js-debugへの貢献者

vscode-textmateへの貢献

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

© . This site is unofficial and not affiliated with Microsoft.