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月リリースへようこそ。このバージョンには多くの更新があり、気に入っていただけることを願っています。主なハイライトは以下のとおりです。
- Apple Silicon ビルド - VS Code が Apple Silicon で安定版として利用可能になりました。
- アクセシビリティの改善 - Windows での単語ナビゲーションの改善と、ビューとボタンのロールの追加。
- 永続的なターミナルプロセス - ウィンドウのリロード時にローカルターミナルプロセスが復元されます。
- 製品アイコンテーマ - 製品アイコンテーマで VS Code のアイコンイメージをパーソナライズできます。
- タイムラインビューの改善 - Git 履歴タイムラインエントリ間で変更を比較できます。
- ノートブックの自動リロード - ノートブックのファイルがディスク上で変更されると、自動的にリロードされます。
- リモートポートテーブルビュー - リモートポートがテーブルウィジェットで表示されるようになりました。
- 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 でネイティブに動作するユニバーサルビルドになりました。ダウンロードページでは、ユニバーサルパッケージよりもダウンロードサイズが小さい Intel または Apple Silicon 用のアーキテクチャ固有のビルドへのリンクをさらに見つけることができます。
アクセシビリティ
ツールバーとタブが1つのタブストップを占める
ワークベンチ内のすべてのツールバーは、標準のナビゲーション動作に従うようになり、ツールバーはタブ順序で単一の位置のみを占め、矢印キーでナビゲートできるようになりました。フォーカスがツールバーにある場合、矢印キーを使用してツールバー内の特定の項目にフォーカスを移動する必要があります。この変更の結果、ワークベンチのタブストップがはるかに少なくなり、すべての部分をナビゲートしやすくなりました。
一貫性のために、同じ変更がタブ領域にも適用されました。したがって、タブ領域全体は1つのタブストップのみであり、タブ間のキーボードナビゲーションは左右の矢印キーで行う必要があります。
Windows での単語ナビゲーション
Windows での単語ナビゲーションの実行方法を改善し、Windows のスクリーンリーダーが Electron ベースのアプリケーションに期待するものと一致させました。これで、単語ナビゲーションを使用すると、各単語がスクリーンリーダーによって適切に読み上げられます。
この変更により、以下のコマンドは非推奨となります。これらは引き続き機能しますが、将来的に削除される可能性があります。
cursorWordAccessibilityLeft
cursorWordAccessibilityLeftSelect
cursorWordAccessibilityRight
cursorWordAccessibilityRightSelect
Windows 以外のプラットフォームは既に期待どおりに機能していたため、変更はありません。
ビューとボタンのロールの改善
ユーザーからのフィードバックに基づき、ワークベンチ全体の複数のビューとボタンのロールを改善しました。アクティビティバー、サイドバー、パネルは、role:none
になりました。これにより、スクリーンリーダーの読み上げが少なくなります。アクティビティバー内の管理ボタンとアカウントボタンは、ポップアップがあることを適切にアナウンスするようになりました。
統合ターミナル
ウィンドウリロード時にターミナルプロセスを保持する
拡張機能のインストールにリロードが必要な場合など、ウィンドウリロード時にローカルターミナルプロセスが復元されるようになりました。ターミナルが再接続され、アクティブなタブや分割ターミナルの相対寸法を含むターミナルのUI状態が復元されます。
この機能は、terminal.integrated.enablePersistentSessions
を false に設定することで無効にできます。
Windows のパフォーマンス改善
新しいターミナルプロセスレイアウトのおかげで、ターミナルプロセスからの頻繁な pty データイベントの処理が速くなるはずです。これは、Windows の conpty によって提供されるイベントが小さいため、他のプラットフォームよりも Windows に影響を与えることが予想されます。
環境変更が必要なターミナルの自動再起動
最近、拡張機能がターミナルの環境に影響を与えることを可能にする新機能がロールアウトされました。これは、様々な言語拡張機能や組み込みの Git 拡張機能で使用され、VS Code を Git 認証プロバイダーとして有効にすることで、サインインの必要性をなくします。以前の UX では、ターミナルの環境が古くなっていることを示すために、右上隅に目立たない⚠️アイコンが表示されていました。環境の変更が重要であるかどうかにかかわらず、インジケーターは目立たなかったので、環境の変更が重要であるかどうかにかかわらず、インジケーターは目立たないものでした。
操作されていないターミナルで古い環境がある場合に自動的に再起動するように変更しました。これにより、ちらつきが発生する可能性がありますが、拡張機能とターミナルの統合がはるかにシームレスになりました。例えば、WSL ウィンドウの最初のターミナルでは、ターミナルに入力する前に再起動が行われた場合、Git 認証エラーが表示されなくなります。
ワークベンチ
Emmet
略語で囲むコマンドと個々の行を略語で囲むコマンドは、どちらの囲むコマンドを使用するかについての混乱を減らすために、単一の略語で囲むコマンドに統合されました。さらに、略語で囲むコマンドは、プレビューの空白を適切に表示するようになりました。
emmet.extensionsPath
設定は、文字列だけでなくパスの配列も受け入れるようになりました。したがって、設定同期と組み合わせることで、マシンごとに設定を更新することなく、異なるスニペットファイルを指すことができます。
製品アイコンテーマ
最初の製品アイコンテーマが拡張機能マーケットプレイスで利用可能になりました。素晴らしい作業をしてくれたテーマ作者に感謝します!
テーマを選択または検索するには、コマンドプロンプトまたは設定ギアからPreference: Product Icon Themeコマンドを使用します。
コンテキストキーの IntelliSense
VS Code は、キーバインドを有効または無効にするためにwhen句を使用します。拡張機能も、メニューとビューの貢献を制御するために when 句を使用します。エディターがこれらの補完を提供するため、これらの when 句の作成がはるかに簡単になりました。
テーマ: GitHub Light Theme、フォント: FiraCode
開いているエディターの新規無題ファイルアクション
開いているエディタービューのタイトル領域に新規無題ファイルアクションが追加されました。
アプリケーションメニュー設定の更新
アプリケーションメニューの表示設定である window.menuBarVisibility
設定が、オプションをより適切に反映するように更新されました。主に2つの変更が行われました。
まず、設定の default
オプションが classic
に変更されました。
次に、アプリケーションメニューバーのメニューバーを表示エントリが、classic
と compact
オプションを切り替えるようになりました。完全に非表示にするには、設定を更新するか、compact
モード時にアクティビティバーのコンテキストメニューを使用します。
テーマ: GitHub Light Theme
ウェブビューのキャッシュ改善
ウェブビュー内のローカルファイルのキャッシュを改善しました。ウェブビューがディスクからファイルをリロードする場合、変更がない場合はETagsを使用してファイルを再度読み込まないようにします。これによりデータ転送が削減され、特にリモートワークスペースでの応答時間が改善されます。
このキャッシュは現在、既存のウェブビューがリソースをリロードする場合にのみ適用されます。新しく作成されたウェブビューには適用されません。たとえそのウェブビューが以前に同様のウェブビューを作成した拡張機能に属していたとしてもです。
ワークスペース検索アクションの変更
既存の 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 ユーザーはすでに目にしたかもしれませんが、このイテレーション中に徐々に多くの Stable ユーザーに展開されます。workbench.startupEditor
設定を gettingStarted
に変更するか、それ以外の値にすることで、新しい動作をいつでも有効または無効にできます。
タイムラインビュー
エクスプローラービューでのファイルの比較と同様に、比較のために選択と選択済みと比較コマンドを使用して、Git 履歴のタイムラインエントリ間の変更を比較できるようになりました。この機能を使用すると、Git ファイル履歴の任意の2つのコミット間のすべての変更をすばやく確認できます。
デフォルトのサッシホバーボーダーカラー
1.52 リリースでは、サッシのホバーボーダーカラー設定 (sash.hoverBorder
) を導入しましたが、デフォルトを設定していませんでした。現在、この色はすべてのテーマでデフォルトで表示されるようになりました。
デバッグ
ブレークポイントビューの改善
ブレークポイントを削除するための新しいインラインアクション
ブレークポイントビューにブレークポイントを削除するインラインアクションXを追加しました。このアクションにより、ブレークポイントの削除が容易になります。
例外フィルターのヘルプテキストサポート
最近、ブレークポイントビューで例外フィルターの条件を編集するサポートを追加しました。
これらの条件をより見つけやすく、その構文を自己説明的にするために、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 は、再起動できないスタックフレームのコールスタックビュー内の再起動フレームのインラインアクションを無効にするようになりました。
たとえば、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.generateReturns
と typescript.suggest.jsdoc.generateReturns
で無効にできます。
非推奨の DOM API がマークされるようになりました
非推奨の DOM メソッドは、提案やコード内で非推奨としてマークされるようになりました。
エディターで非推奨のプロパティと関数を表示しないようにするには、editor.showDeprecated: false
を設定します。
ノートブック
ノートブックの自動リロード
ノートブックは、ディスク上のファイルが変更され、未保存の変更がない場合に自動的にリロードされるようになりました。これにより、バージョン管理下にあるノートブックの作業が大幅に簡単になるはずです。
大きなセルのフォーカス改善
大きなノートブックセルにフォーカスが当たっている場合、セルの上部と下部がビューから外れていても、どのセルにフォーカスが当たっているかをよりよく識別できるようになりました。フォーカスされたセルの左右に境界線が表示されるようになりました。
CSS/LESS/SCSS および HTML のホバー
HTML および CSS のホバーの内容を細かく調整できるようになりました。
- MDNからのドキュメントを表示しない
- MDNページへのリンクを表示しない
CSS のホバーを変更するには、css.hover.documentation
と css.hover.references
の設定を使用します。これらの言語の設定を変更するには、css
を html
、css
、scss
、または less
に置き換えてください。
プレビュー機能
ノートブックの拡張可能な Markdown レンダラー
このイテレーションでは、ノートブックセルの Markdown レンダラーを拡張可能にすることを検討しました。たとえば、以下のスクリーンショットでは、VS Code の Markdown レンダラーを拡張して、ノートブックセルで数式を表示できるようにしています。
Markdown レンダラーを拡張可能にするために、すべてのノートブック Markdown をレンダリングするためにMarkdown Itを使用することを検討しました。また、レンダリングされた Markdown をノートブックのバックレイヤー Web ビューに移動することも検討しました。
このための公式 API を公開する準備はまだできていませんが、3月にはこの探索を継続する予定です。ドキュメント化されていない notebook.experimental.useMarkdownRenderer: true
設定を使用して、新しい拡張可能な Markdown レンダラーを今すぐ試すこともできます。
拡張機能への貢献
ブラケット
Brackets ソースコードエディターから移行した開発者は、Brackets キーマップ拡張機能を使用して、VS Code でも同じキーボードショートカットを使い続けることができます。Brackets 拡張機能パックもあり、これには CSS の作業やライブプレビューの作成用の拡張機能がバンドルされています。
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@10
と1_run@20
を使用する必要がなくなりました。
また、実行サブメニューは動的であり、唯一の子である場合はその最初の子に置き換わることも知っておいてください。
認証プロバイダー API
認証プロバイダーを登録できるようになりました。これは、他の拡張機能がサービスに対して認証を実行するために使用できます。
拡張機能マーケットプレイスの新しいフィードバックチャネル
拡張機能マーケットプレイスに関連する問題のための新しい公開リポジトリがあります。技術的な問題がある場合、フィードバックをしたい場合、または機能リクエストがある場合は、イシューを開いてください。
更新された codicon
当社のcodicon ライブラリに以下の新しいアイコンを追加しました。
debug-rerun
収集
git-pull-request-create
ノートブックテンプレート
run-above
run-below
type-hierarchy
type-hierarchy-sub
type-hierarchy-super
変数グループ
また、以下のアイコンも一貫性を保つように更新しました。
debug-alt-small
debug-alt
debug-rerun
play-circle
再生
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を知っていればアイコンを再定義できます。
詳細情報とフィードバックの提供については、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;
}
});
そして、インライン値プロバイダの実際の動作です。
この提案されたAPIについてフィードバックがある場合は、このイシューにコメントを追加してください。
テスト
今月も引き続きVS Code でのテストの進捗がありました。今月は VS Code の基本体験と拡張機能 API の洗練に焦点を当てました。また、API の安定化に合わせて詳細を記述する暫定的なドキュメントも公開しました。
言語サーバープロトコル
今後の 3.17 リリースに向けて、診断プルモデルの最初の提案が実装されました。この提案は、VS Code LSP ライブラリの次のバージョンで利用可能です。
デバッグアダプタープロトコル
ExceptionBreakpointsFilter のヘルプテキストプロパティの追加
オプションのUI属性description
とconditionDescription
がExceptionBreakpointsFilter
に追加されました。
これらの属性を使用すると、クライアントは例外ブレークポイントに関する追加情報を表示できます。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 に貢献してくださった以下の皆様に、心からの感謝を申し上げます。
問題追跡への貢献者
- ジョン・マーレイ (@gjsjohnmurray)
- アンドリー・ディーイェフ (@IllusionMH)
- サイモン・チャン (@yume-chan)
- ArturoDent (@ArturoDent)
- アレクサンダー (@usernamehw)
vscode
への貢献者
- @antonvolokha (Anton Volokha): Fix issue #116591 PR #116885
- @CameronIrvine (Cameron): Fix #114432: Windows で Ctrl+S を複数回押すと、複数の保存ダイアログが表示される PR #114450
- @davidbailey00 (David Bailey): RPM: build_id リンクを生成しない PR #116105
- @DonJayamanne (Don Jayamanne): ノートブックセルの runState が正しく更新されていることを確認する PR #116901
- @engelsdamien (Damien Engels): tsec 免除を明示的にリストアップする PR #116460
- @ferenczy (Dawid Ferenczy Rogožan): localization string wordBasedSuggestionsMode のタイプミスを修正 PR #115809
- @gjsjohnmurray (John Murray): GH Bug Report テンプレートのガイダンスコメントを改善 PR #116183
- @guiherzog (Guilherme Herzog): getViewState 関数でのツリートラバーサルのパフォーマンス向上 PR #115387
- @habibkarim (Habib Karim): markdown preview link click で正規化された絶対ファイルパスを処理する 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): Fixes #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): 環境パラメーターを指定せずに 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): Feature: Shift Shift, Ctrl Ctrl, Alt Alt Keybinds (ダブルプレス修飾子キーバインドサポート) PR #115190
- @rluvaton (Raz Luvaton): fix(workbench): regex に忘れられたエスケープを追加 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): Fix issue #114473 PR #114474
- @tspence (テッド・スペンス)
- リモート拡張機能ホストがクラッシュしたときに、イシューサービスがバグ報告ウィンドウを表示できるようにする PR #116896
- クイックピックでファイルを開く際に、切り取り/コピー/貼り付けを妨げる webview フォーカス問題を修正 PR #116899
- @TacticalDan: 任意のイベントリミッターを16msから4.16666msに削減 (#_107016) PR #114957
- @ugultopu (Utku Gultopu): 「likelihood」のスペルミスを修正 PR #116728
- @vagusX (vagusX): fix: 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): 壊れたドキュメントのマークダウンリンクを修正 PR #741
vscode-emmet-helper
への貢献
- @aliasliao (Liao Jinyuan): jsx を入力する際に PascalCase タグの補完を提供する PR #53
- @AnuBhar (Anushka Bhargava): Fix for 114923 - HTML figcaption tag should be suggested when using the full word PR #44
- @jeanp413 (Jean Pierre)
- @johnsoncodehk (Johnson Chu): fix: doComplete の結果が undefined になることがある PR #51
- @lancewl (Hsuan-An Weng Lin)
- @shskwmt (Shunsuke Iwamoto): Fixes 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