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

2021年2月 (バージョン 1.54)

更新 1.54.1: この更新では、拡張機能の依存関係に関する問題に対処しています。

更新 1.54.2: この更新では、これらの問題に対処しています。

更新 1.54.3: この更新では、この問題に対処しています。

ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | 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 でネイティブに動作するユニバーサルビルドになりました。ダウンロードページでは、ユニバーサルパッケージよりもダウンロードサイズが小さい Intel または Apple Silicon 用のアーキテクチャ固有のビルドへのリンクをさらに見つけることができます。

Website showing the new downloads view for Apple Silicon builds

Website showing the default download for macOS

アクセシビリティ

ツールバーとタブが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 認証エラーが表示されなくなります。

ワークベンチ

Emmet

略語で囲むコマンドと個々の行を略語で囲むコマンドは、どちらの囲むコマンドを使用するかについての混乱を減らすために、単一の略語で囲むコマンドに統合されました。さらに、略語で囲むコマンドは、プレビューの空白を適切に表示するようになりました。

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

製品アイコンテーマ

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

テーマを選択または検索するには、コマンドプロンプトまたは設定ギアからPreference: Product Icon Themeコマンドを使用します。

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 に変更されました。

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

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

ウェブビューのキャッシュ改善

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

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

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

既存の 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 は例外フィルターにホバーを表示し、条件テキストボックスにプレースホルダーテキストを表示するようになりました。

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

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

Breakpoint placeholder

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

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

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

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

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

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

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

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

Debug Adapter Protocol の新しい追加により、デバッグ拡張機能は「フレーム再起動」アクションが選択されたスタックフレームで利用可能かどうかを 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 をノートブックのバックレイヤー Web ビューに移動することも検討しました。

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

拡張機能への貢献

ブラケット

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

Brackets Extension Pack in the Marketplace

GitHub プルリクエストとイシュー

プルリクエストとイシューの作業、作成、管理を可能にするGitHub プルリクエストとイシュー拡張機能の作業が継続されています。

すべての新機能と更新の詳細については、拡張機能の 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

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

拡張機能マーケットプレイスの新しいフィードバックチャネル

拡張機能マーケットプレイスに関連する問題のための新しい公開リポジトリがあります。技術的な問題がある場合、フィードバックをしたい場合、または機能リクエストがある場合は、イシューを開いてください

更新された codicon

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

  • debug-rerun
  • 収集
  • git-pull-request-create
  • ノートブックテンプレート
  • run-above
  • run-below
  • type-hierarchy
  • type-hierarchy-sub
  • type-hierarchy-super
  • 変数グループ

Codicons for tasks

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

  • debug-alt-small
  • debug-alt
  • debug-rerun
  • play-circle
  • 再生
  • 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を知っていればアイコンを再定義できます。

詳細情報とフィードバックの提供については、issue 114942 を参照してください。

インライン値プロバイダー API

現在、VS Code のデバッガのインライン値の表示機能は、VS Code コアの汎用的な実装に基づいており、設定によるカスタマイズや拡張機能による拡張性を提供していません。その結果、すべての言語に完全に適合せず、基になるソース言語を理解していないために誤った値を表示することもあります。このため、組み込みの実装を完全に置き換えたり、実装の一部をカスタムコードで置き換えたりできる拡張機能 API の開発に取り組んでいます。

このマイルストーンでは、提案された API の最初の実装が利用可能になりました。

以下に、インライン値プロバイダー API の概要を説明します。

  • InlineValuesProviderは、言語ごとに登録する必要があります。
  • 特定のドキュメントの場合、InlineValuesProvider は、インライン値を表示するすべての言語要素を特定する必要があります。
  • すべての要素に対して、VS Code に表示する情報を指示する InlineValue ディスクリプタ オブジェクトが返されなければなりません。現在、3種類の InlineValue オブジェクトがサポートされています。
    • InlineValueText: 表示される完全なテキスト。
    • InlineValueVariableLookup: VARIABLESビューでその値を見つけるためにVS Codeが検索しようとする変数の名前。名前と値は「name = value」の形式で表示されます。
    • InlineValueEvaluatableExpression: VS Codeが評価のためにデバッガーに送信する式。式と結果は「expression = result」の形式で表示されます。

次のスニペット (Mock Debug より) は、「markdown」ファイル用の最小限のインライン値プロバイダーを示しています。これは正規表現を使用して「変数」を特定し、変数ビューを介してその値を見つけるように 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 の安定化に合わせて詳細を記述する暫定的なドキュメントも公開しました。

言語サーバープロトコル

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

デバッグアダプタープロトコル

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

オプションのUI属性descriptionconditionDescriptionExceptionBreakpointsFilterに追加されました。

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

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

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

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

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

エンジニアリング

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 バージョンは、条件文で awaits が不足していたいくつかのケースを検出するのに役立ちました。

yarn.lock の変更を防止

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

デフォルトブランチ: main

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

ドキュメント

教室での VS Code と Python

ハーベイ・マッド・カレッジのコンピュータサイエンス教授が、入門CSクラスでPythonを使ってVS Codeを使用しているケーススタディを読んでください。彼が学生に推奨する設定や、役立つ拡張機能、無料の自習型Pythonおよびデータサイエンスレッスンについて学びましょう。

拡張機能のトラブルシューティングブログ投稿

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

注目すべき修正点

  • 100151: エクスプローラーでメニューキーが誤った項目に適用される
  • 112055: デバッグが 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へのコントリビューション