2024年7月 (バージョン 1.92)
アップデート 1.92.1: このアップデートでは、これらの問題に対処しています。
アップデート 1.92.2: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel シリコン | Linux: deb rpm tarball Arm snap
Visual Studio Code の2024年7月リリースへようこそ。このバージョンには、皆さんに気に入っていただけるであろう多くのアップデートが含まれています。主なハイライトの一部を以下にご紹介します。
- 既定のブラウザ - VS Code でリンクを開くために使用するブラウザを設定します。
- PRの取り消し - マージされたPRに対して、簡単に取り消しPRを作成できます。
- 拡張機能の更新 - 拡張機能の自動更新をより簡単に設定できます。
- プロファイルのオーバーライド - プロファイルエディタで既存のプロファイルをオーバーライドします。
- CSSへのファイルの貼り付け - 貼り付けまたはドラッグ&ドロップでCSSファイル参照をすばやく追加します。
- パネルを上部に移動 - パネルセクションをワークベンチの上部に配置します。
- CopilotがGPT-4oを使用 - GitHub Copilot Chat がOpenAIのGPT-4oにアップグレードされました。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の アップデート をご覧ください。インサイダー: 新機能をいち早く試したいですか?夜間の インサイダー ビルドをダウンロードして、最新の更新プログラムが利用可能になり次第すぐに試すことができます。
アクセシビリティ
デバッグエクスペリエンスの向上
アクセシビリティヘルプダイアログ
実行とデバッグビューおよびデバッグコンソールにアクセシビリティヘルプダイアログを追加しました。どちらかのビューにフォーカスが当たると、アクセシブルヘルプダイアログを開くヒントが表示されます。このヒントは、設定accessibility.verbosity.debugで設定できます。
デバッグコンソール アクセシブルビュー
アクセシブルビューを開くコマンド (⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2)) を実行すると、デバッグコンソールの内容を文字単位、行単位で検査できます。
スクリーンリーダー最適化モードでは、設定debug.autoExpandLazyVariablesが有効になり、変数値に簡単にアクセスできるようになりました。
デバッグコンソールで式が評価されると、その値がスクリーンリーダーユーザーに通知されるようになりました。
動的なウォッチ変数アナウンス
スクリーンリーダーを有効にしてデバッグする際に、ウォッチ変数の値が変更されたときに通知されるようになりました。これはaccessibility.debugWatchVariableAnnouncementsで設定できます。
キーバインドアクションの設定
前回のマイルストーンで、アクセシビリティヘルプダイアログで割り当てられていないキーバインドを設定するアクションを導入しました。このアクションを補完するために、割り当て済みキーバインドの設定コマンド (⌥A (Windows, Linux Alt+A)) を追加しました。
Workbench
パネルを上部に移動
パネルをエディター領域の上、ワークベンチの一番上に移動できるようになりました。デフォルトでは、パネルは下部に配置され、ターミナル、出力パネル、デバッグコンソールなどのビューが含まれます。この機能強化は、パネルを左、右、下に配置する既存のオプションを補完するものです。
プロファイルエディタのプレビュー
このマイルストーンでは、プロファイルエディタをより使いやすく、設定エディタと一貫性のある外観と操作感を持つように改善し続けました。

プロファイルエディタは、workbench.experimental.enableNewProfilesUI設定の背後にある実験的機能として利用できます。有効にすると、ウィンドウの左下隅にある設定ギアアイコンからプロファイルエディタにアクセスできます。

既存プロファイルのオーバーライド
デフォルトプロファイルを含む既存のプロファイルを、同じ名前で新しいプロファイルを作成することでオーバーライドできるようになりました。
拡張機能の更新エクスペリエンスの改善
拡張機能の更新エクスペリエンスにいくつかの改善を加え、拡張機能の更新をより詳細に制御できるようにし、拡張機能の自動更新をより簡単に管理できるようにしました。
すべての拡張機能の自動更新
拡張機能ビューのタイトル領域にあるグローバル拡張機能自動更新アクションを、すべての拡張機能の自動更新を有効にするおよびすべての拡張機能の自動更新を無効にするアクションに変更しました。これらのアクションを使用すると、すべての拡張機能の自動更新を一度に有効または無効にできます。

個々の拡張機能の自動更新
個々の拡張機能の自動更新エクスペリエンスを改善し、拡張機能の自動更新を有効または無効にするアクションを常に表示するようにしました。これにより、拡張機能の自動更新の管理が容易になります。

VSIX経由でインストールされた拡張機能の自動更新を無効にする
VSIX経由で拡張機能をインストールすると、その拡張機能の自動更新はデフォルトで無効になります。これにより、自動的に更新されることなく、インストールしたバージョンの拡張機能で作業できます。
拡張機能の更新をより細かく制御
実行可能コードのないインストール済み拡張機能のバージョンを実行可能コードのあるバージョンに更新する場合、ユーザーの同意が必要になりました。これにより、そのような更新が適用される前に確認する制御が可能になります。以下のビデオは、コードのない拡張機能をコードのあるバージョンに更新する際のエクスペリエンスを示しています。
レビューボタンを選択すると、拡張機能の変更ログまたは拡張機能のリポジトリがブラウザで開きます。変更を確認し、拡張機能を更新するかどうかを決定できます。
設定エディターのジャンプ問題が修正されました
以前は、設定エディターで設定を変更して別の設定にフォーカスを移動すると、画面がジャンプしていました。設定を変更する前にスクロールすればするほど、このジャンプはひどくなっていました。設定エディターが変更後に設定を再描画する方法を変更したため、設定を変更した後に設定エディターがジャンプすることはなくなりました。
テーマ: Light Pink (vscode.dev でプレビュー)
設定のURL処理
VS Code は、vscode://settings/setting.name (Insiders の場合は vscode-insiders://settings/setting.name、OSS バージョンの場合は code-oss) 形式の "settings" URL を処理できるようになり、指定された設定に設定エディターを開きます。設定が指定されていない場合でも、設定エディターは開かれます。リリースノートで設定 URL を含むアンカータグが使用され、リリースノートが VS Code で開かれている場合、以前の codesetting 機能で説明したように、特別な処理とレンダリングを行います。

リンクを開くブラウザを設定する
新しい設定workbench.externalBrowserを使用すると、リンクを開くために使用するブラウザを設定できます。デフォルトでは、オペレーティングシステムの標準ブラウザが使用されます。この設定はワークスペースごとに設定でき、設定同期も有効です。
ブラウザの実行可能ファイルへのフルパスを設定値として指定します。または、デバイス間で正しく機能するように、edge、chrome、firefoxなどのブラウザエイリアスを使用することもできます。

ドラッグ&ドロップ時のファイルの自動オープンを無効にする
以前は、ファイルをエクスプローラーにドラッグ&ドロップすると、自動的にエディターで開かれていました。場合によっては、これは望ましくないことがあります。新しい設定explorer.autoOpenDroppedFileを使用すると、この動作を切り替えることができます。デフォルトでは、ファイルをドラッグ&ドロップすると引き続き開かれますが、falseに設定すると、この動作は無効になります。
Editor
電球コントロールの改善
場合によっては、電球コントロールがエディターのコードをブロックすることがありました。これを解決するため、電球コントロールのヒューリスティックを改善し、スペースがない場合はエディターのコードをブロックする代わりに、ガターに電球を表示するようにしました。

エディターの電球コントロールは、editor.lightbulb.enabled設定で切り替えることができます。
Diff Editor
チャットでよりコンパクトな差分表示
チャットビュー/インラインチャットの差分エディターのレイアウトを改善し、よりコンパクトにしました。
以前:

以後:

ソース管理
受信/送信変更グラフ
このマイルストーンでは、グラフを使用して受信および送信変更を視覚化できるようにします。グラフには、現在のブランチ、現在のブランチのアップストリームブランチ、およびオプションのベースブランチが含まれます。グラフのルートは、これらのブランチの共通の祖先です。
履歴アイテムのホバーにいくつかの改善を加えました。
- 同じブランチに属する複数の履歴アイテムにわたる変更を表示するための複数選択を有効にしました。
- リモート/ベースブランチからの履歴アイテムをフィルタリングするためのオプションを...メニューに追加しました。
- 履歴アイテムをフェッチ、プル、プッシュするためのアクションを追加しました。
ぜひお試しいただき、ご意見をお聞かせください!
scm.showHistoryGraph設定を切り替えることで、受信/送信変更のグラフ表示を無効にできます。

ターミナルシェル統合
ソース管理ビューは、ソース管理操作のたびに、また特定のファイル/フォルダーにスコープされたファイルシステムイベントの後に更新されます。統合ターミナルでgitコマンドが実行された場合、コマンドの完了とソース管理ビューの更新との間に遅延がある可能性があります。この遅延を減らすために、このマイルストーンから、ターミナルシェル統合APIを使用して、統合ターミナルで実行されたさまざまなgitコマンド(例えば、add、checkout、commit、fetch、pull、pushなど)の正常な完了を検出し、ソース管理ビューを更新しています。
ノートブック
複数セルコメント
ノートブックエディターは、一度に1つまたは複数のセルのコメントを切り替える機能をサポートするようになりました。これを行うには、1つまたは複数のセルコンテナを選択し、続いてキーボードショートカット⌘/ (Windows、Linux Ctrl+/)を押します。
ターミナル
新しいスクロールバー
ターミナルのスクロールバーがエディターのスクロールバーと同じになりました。

概要ルーラーは以前と同じで、成功したコマンドは左、検索結果は中央、失敗したコマンドは右に表示されます。しかし、スクロールバーのスライダーと完全に一致するようになりました。
デバッグ
デバッグ中に変数型を表示する
VS Code は、debug.showVariableTypes の設定がオンの場合、デバッグ中に変数のデータ型を表示するようになりました。

言語
貼り付け時にMarkdownリンクを更新
VS Code は、Markdownドキュメント間でテキストセクションを移動する際に、コピー&ペーストされたテキスト内のリンクを更新することで、この作業を支援できるようになりました。この機能により、VS Code はすべての相対パスリンク、参照リンク、および相対パスを持つすべての画像/ビデオを修正し、新しいドキュメントで機能するようにします。
この機能は、2つのMarkdownファイル間でリンクを含むテキストをコピー&ペーストするたびに起動します。更新可能なリンクがある場合、貼り付け後に貼り付けウィジェットが表示されます。Paste and Update Pasted Linksを選択すると、VS Codeがリンクを修正します。
markdown.updateLinksOnPaste を false に設定することで、この機能を完全に無効にできます。
CSSへのファイルの貼り付けとドロップ
CSSで画像を使用する必要がありますか?画像をCSSエディターにドラッグ&ドロップまたはコピー&ペーストするだけで、url()参照をすばやく挿入できるようになりました。
リモート開発
リモート開発拡張機能を使用すると、開発コンテナ、SSH経由のリモートマシン、またはリモートトンネル、あるいはWindows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
主なハイライトは次のとおりです。
- GPGキーボックスのサポート
- ローカルポート範囲の構成
これらの機能の詳細については、リモート開発リリースノートをご覧ください。
拡張機能への貢献
GitHub Copilot
Copilot ChatのGPT-4oへのアップグレード
Copilot ChatビューをGPT-4-Turboから、OpenAIのこれまでで最も強力なモデルであるGPT-4oにアップグレードしました。私たちの実験では、GPT-4oがCopilotのコーディング能力を大幅に向上させ、より高速で正確な高品質のコードと説明をエディター内で直接提供することが示されています。これは、展開中に開発者がCopilot Chatビューをますます使用し、そのコード提案をより多く取り入れるにつれて明らかになりました。
私たちは、品質、安全性、セキュリティにコミットしつつ、パフォーマンスと機能のバランスを取りながら、さまざまなタスクに最適なモデルを特定するために常に実験を行っています。GitHub CopilotにおけるGPT-4oの採用に関する詳細については、GitHubの変更履歴をご覧ください。
チャットでの公開コードの一致
GitHub CopilotがGitHub.comで公開されているコードと一致するコードを返すことを許可できます。この機能が組織のサブスクリプションまたは個人サブスクリプションで有効になっている場合、Copilotのコード補完機能は既に検出された一致に関する詳細情報を提供しています。Copilot Chatでも公開コードの一致を表示できるように取り組んでいます。
Copilot Chatユーザー向けに、この機能を段階的に展開しています。お使いのマシンで有効になると、応答の最後にView matchesリンク付きのメッセージが表示される場合があります。このリンクを選択すると、一致するコード参照の詳細が表示されるエディターが開きます。

チャットリクエストの添付ファイル
Copilot Chat は、コンテキストの添付 (⌘/ (Windows, Linux Ctrl+/)) コマンドを使用して、チャットリクエストに明示的な添付ファイルを追加することをサポートしています。これらは、送信されたチャットリクエストの一部としてチャット履歴にレンダリングされるようになりました。ファイル添付ファイルを選択すると、対応するファイルと範囲がエディターで開きます。

さらに、コンテキストウィンドウをオーバーフローする大きな明示的な添付ファイルがリクエストから部分的にまたは完全に省略された場合に、そのことがより明確に表示されるようになりました。

/newの改善
/newスラッシュコマンドを更新し、クイックファイル生成をサポートするようにしました。#selectionなどのチャット変数を使用することで、ファイルまたはプロジェクト作成時にCopilotに追加のコンテキストを提供できます。さらに、/newを強化し、生成されたファイルとフォルダーを既存のワークスペースに保存できるようにしました。

チャットからVS Codeコマンドにアクセス
@vscodeチャット参加者に対する新しいスラッシュコマンド/runCommandを使用すると、主要なVS Codeコマンドを検索して実行できます。たとえば、開発者ツールを切り替えるには

この新しいスラッシュコマンドは、github.copilot.chat.runCommand.enabledで有効にできます。
Python
python-environment-tools を使用したPython検出の改善
前回のリリースでは、パフォーマンスに焦点を当ててPython検出インフラストラクチャを再設計したPython環境ツールを発表しました。このアプローチにより、情報をプローブするためにPythonバイナリを実行する必要性が減り、パフォーマンスが向上します。
このリリースから、この機能強化を実験の一部として展開します。この機能を試してみたい場合は、ユーザーのsettings.jsonで"python.locator"を"native"に設定し、VS Codeウィンドウをリロードしてください。この機能、進行中の作業、フィードバックに関する詳細については、python-environment-tools リポジトリをご覧ください。
ネイティブREPLの実行ステータス表示
実験的なネイティブREPL ("python.REPL.sendToNativeREPL": true) は、実行結果に応じて、Jupyterセルと同様に成功/失敗のUIを表示するようになりました。さらに、出力が生成されないセルで空行が表示されないように改善しました。
ソースコード内のインライン変数値
Python Debugger拡張機能は、Pythonデバッグエクスペリエンスを向上させるためのインライン値機能を導入しました。インライン値を使用すると、デバッグセッション中にエディター内の対応するコード行の横に、変数の値をインラインで表示できます。これにより、変数をホバーしたり、実行とデバッグビューの変数セクションを確認したりすることなく、プログラムの状態をすばやく理解できます。

この機能を有効にするには、ユーザー設定で設定値debugpy.showPythonInlineValuesをtrueに設定します。
注意: この機能は現在探索段階であり、改善が続けられています。vscode-python-debugger リポジトリでフィードバックをお寄せください!
デバッグウェルカムビューの改善
デバッグウェルカムビューに、Pythonファイルがエディターで開かれている場合に、自動Python構成にすばやくアクセスするためのボタンが含まれるようになりました。
GitHub Pull Requests and Issues
GitHub Pull Requests 拡張機能は、プルリクエストや課題の作業、作成、管理を可能にし、さらなる進歩を遂げました。新しい機能には以下が含まれます。
- マージされたPRのプルリクエスト説明にあるRevertボタンを使用してプルリクエストを元に戻す
- ブランチが削除されたPRは、プルリクエストビューで表示できるようになりました。
- 複数のPRがチェックアウトされている場合でも、Open Pull Request on GitHub.comアクションが表示されます。
その他のハイライトについては、拡張機能の0.94.0リリースに関する変更履歴を確認してください。
拡張機能作成
ネットワークプロキシの基本認証
https Node.jsモジュールを使用する拡張機能は、基本認証を必要とするネットワークプロキシを使用できるようになりました。
プレビュー機能
True inline diffs
このイテレーションでは、diffEditor.experimental.useTrueInlineView設定 (デフォルトではオフ) を導入しました。この設定を有効にし、インラインビューを使用すると、単一行の変更がインラインでレンダリングされます。

この実験的なフラグがオンになっていない場合のインラインビューは次のようになります。

この機能は実験的なものであり、将来の変更が予想されます。
PowerShell 用の VS Code ネイティブ IntelliSense
このリリースでは、VS Code ネイティブ PowerShell IntelliSense の実験的機能にいくつかの重要な改善が見られました。Windows または macOS でこの機能を有効にするには
"terminal.integrated.suggest.enabled": true
この機能ははるかに信頼性が高くなっただけでなく、以下に示すように他の多くの改善も行われました。
補完が切り捨てられない
補完が切り捨てられたバージョンではなく、入力された内容が「正確に」表示されるようになりました。例えば、ディレクトリ名を検索する場合、.\が含まれるようになり、正しくハイライトされます。
以前:

以後:

ディレクトリナビゲーションに最適化された補完
ディレクトリ名に末尾の \ または / が含まれるようになり、補完すると新しいディレクトリの補完が更新されます。
Enterキーの動作を設定する
新しいterminal.integrated.suggest.runOnEnter設定を使用すると、特定の条件が満たされた場合にコマンドを実行するようにEnter動作を設定できます。次の値が使用可能です。
- "always": 常に- Enterで実行します。
- "exactMatch": 提案が完全にタイプされたときに- Enterで実行します。
- "exactMatchIgnoreExtension"(デフォルト): 提案が完全にタイプされたとき、またはファイルが拡張子なしでタイプされたときに- Enterで実行します。
- "never"(以前の動作):- Enterで実行しません。
この変更は、この機能が有効になっていない場合と同じ一連のキーストロークになることが多いため、既存の筋肉の記憶を壊さないようにするために特に重要です。これが役立つ例はcd ..の実行です。この変更前は、cd ..と入力する必要がありましたが、この新しい設定のおかげで、単一のEnterで済みます。
ファイル補完の改善
ファイルの補完は、ファイル名の長さ昇順、ファイル名のアルファベット順、そしてファイル拡張子のアルファベット順にソートされるようになりました。コマンド(引数ではない)として実行されるファイルの補完も、そのファイル拡張子と現在のオペレーティングシステムに応じて強化されます。たとえば、Windowsで実行される場合、.ps1、.bat、および.cmdファイルはブーストされ、リストの上位に表示されます。

これらの変更は、上位項目の関連性を向上させるだけでなく、ネイティブのPowerShellタブ補完に近い動作に合わせることで、筋肉の記憶を助けます。たとえば、Windows上のVS Codeコードベースで一般的に実行されるコマンドは./scripts/code.batです。これらの変更により、./scは./scripts/code.batを補完して実行します。
グローバル補完キャッシュ
コマンドのグローバル補完はセッション間でキャッシュされ、シェルの起動パフォーマンスが大幅に向上します。これにより、再接続されたターミナルで補完が正しく機能しない問題も修正されます。現在、これらはTerminal: Clear Suggest Cacheコマンドを実行することでクリアおよび更新できます。Intel i7-12700KFで測定したところ、シェル統合をアクティブ化するのにかかる時間が約600msから約50msに短縮されました。
PowerShellの組み込みターミナル補完
gitの組み込み補完を提供するようになりました。これらはposh-gitプロジェクトのものに基づいていますが、いくつかの一般的な改善とVS Code固有の改善が加えられています。以下に補完が機能している例を示します。
その他の改善点は次のとおりです。
- 
エイリアスは展開された状態を右側に表示  
- 
ブランチ、タグ、スタッシュ、リモート用のGit固有のアイコン  
- 
サブコマンドの説明を右側に表示  
codeとcode-insidersの組み込み補完も提供していますが、これらは非常に基本的なものであり、今後のリリースで改善される予定です。

これらの補完は、他のPowerShellモジュールの補完と競合する可能性があります。以下の設定で無効にできます。
"terminal.integrated.suggest.builtinCompletions": {
  "pwshCode": false,
  "pwshGit": false
}
TypeScript 5.6 のサポート
このリリースには、近日公開される TypeScript 5.6 のサポートが含まれています。このリリースで予定されている詳細については、TypeScript 5.6 イテレーション計画をご覧ください。
TypeScript 5.6 のプレビュービルドの使用を開始するには、TypeScript Nightly 拡張機能をインストールしてください。フィードバックを共有し、TypeScript 5.6 でバグに遭遇した場合はお知らせください。
提案されたAPI
QuickInputButtonLocationでボタンを入力の右側に表示する
このマイルストーンでは、拡張機能がボタンをどこにレンダリングするかを選択できるQuickInputButtonの提案APIを導入しました。オプションは次のとおりです。
- Title: クイックピックのタイトルバーにボタンをレンダリングします。これはデフォルトの動作であり、既存のボタンの動作を維持します。
- Inline: 入力ボックスの右側にボタンをレンダリングします。タイトルバーを何も使用する予定がないがボタンを表示したい場合に便利です。
この機能は、Git拡張機能のCreate branch入力ボックスに採用されており、git.branchRandomName.dictionaryで有効にできます。
詳細情報と更新については、vscode#221397をご覧ください。
テストの機能強化
コードをテストに関連付ける
拡張機能がコードをテストに、またはその逆に、関連付けることができるAPIに取り組んでいます。これにより、ユーザーは両方を切り替えることができ、カーソル位置でテストを実行などのアクションが実装コードでも機能するようになります。APIの開発に伴い、より多くのエクスペリエンスを構築する予定です。
詳細情報と更新については、vscode#126932をご覧ください。
テスト失敗時のコールスタック
単体テストの失敗に豊富なコールスタックを関連付けることができるAPIに取り組んでいます。これにより、ユーザーは失敗につながったコードを一目で確認できます。
詳細情報と更新については、vscode#214488をご覧ください。
属性付きテストカバレッジ
テストごとにテストカバレッジを割り当てるAPIに取り組んでいます。これにより、ユーザーはどのテストがどのコードを実行したかを確認でき、エディターに表示されるカバレッジとテストカバレッジビューに表示されるカバレッジの両方をフィルタリングできます。
詳細情報と更新については、vscode#212196をご覧ください。
検索API
過去数ヶ月間、私たちは3つの提案されている検索APIの最終化に取り組んできました。
- FindTextInFiles: VS Codeのテキスト検索を使用してワークスペースファイル内のテキストを検索します。
- FileSearchProvider: VS Codeの既存の検索機能では適切に検索できないカスタムファイルスキームのファイル検索結果を提供します。例えば、仮想ファイルシステム内からクイックオープンで検索する際に、拡張機能によって提供された結果が表示されることがあります。
- TextSearchProvider:- FileSearchProviderと同様ですが、テキスト検索結果用です。例えば、仮想ファイルシステム内から検索ビューで検索する際に、拡張機能によって提供された結果が表示されることがあります。
さらに、VS Codeのワークスペースファイル検索を使用してファイルを検索するworkspace.findFiles APIを刷新しています。新しいバージョンでは、より多くのオプションが利用可能になり、除外オプションがより明確に処理されるはずです。刷新されたバージョンを導入しても、既存の関数シグネチャは引き続き機能します。
この表は、異なるAPIがどのように関連しているかを示しています。
| 検索にAPIを使用する | 結果を提供するためにAPIを使用する | |
|---|---|---|
| ファイルの場合 | FindFiles | FileSearchProvider | 
| ファイル内のテキストの場合 | FindTextInFiles | TextSearchProvider | 
ご興味のある方は、上記のリンクにアクセスしてフィードバックをお寄せください!
ウェブサイト
VS Code のウェブサイトのデザインを刷新し、ライトテーマとダークテーマのサポートを追加しました。

ウェブサイトの新しいデザインは、システムテーマ(ライトまたはダークモード)をデフォルトとし、右上隅の太陽/月のアイコンを使用して手動で切り替えることもできます。

皆様からのフィードバックをお待ちしております!機能リクエストやバグはvscode-docsリポジトリに報告してください。
エンジニアリング
Markdown言語サーバーを別のリポジトリに移動
VS Code の組み込み Markdown IntelliSense を動かす言語サーバーを独自のリポジトリに移動しました。以前は、このプロジェクトはメインの VS Code リポジトリのサブフォルダーから公開されていました。この変更により、プロジェクトへの貢献が容易になります。
プロジェクトは引き続き npm で同じ名前、vscode-markdown-languageserver で公開されています。
VS CodeでのESM採用の進捗
このマイルストーンでは、VS CodeコアにESMを採用する作業を再開しました。将来の目標は、ECMAScript Modules (ESM) のロードを使用し、AMDを完全に廃止することです。これは、コードのロードとバンドル全体を現代化する複数マイルストーンにわたる取り組みです。
VS Code に依存する xterm.js
ターミナルに新しいスクロールバーを導入するには、舞台裏でかなりの作業が必要でした。VS Code のターミナルはxterm.js OSS プロジェクトを基盤として構築されており、次期リリースでは、VS Code のコードベースの一部、特にbase/フォルダーの一部も同梱される予定です。
Electron 30 の更新
このマイルストーンでは、Electron 30 のアップデートを安定版リリースのユーザーに提供しています。このアップデートには、Chromium 124.0.6367.243 および Node.js 20.14.0 が含まれています。Insiders ビルドでセルフホストしていただき、早期フィードバックを提供してくださった皆様に感謝いたします。
.bat または .cmd ファイルを生成する際のAPI破壊的変更に関する通知
この Electron アップデートに含まれる Node バージョンには、CVE に対する対応として破壊的変更が含まれており、Windows で .bat または .cmd ファイルを実行する場合に影響する可能性があります。これらのファイルを shell オプションを使用して生成する際には、Node.js が設定したガイドラインに従ってください。
簡単なソースコードスキャンに基づいて影響を受ける可能性のある拡張機能には事前に通知しましたが、見落としたものがある可能性も考えられます。影響を受ける場合は、Windowsで.batまたは.cmdファイルを生成する際にEINVAL例外が発生します。これらの処理方法については、Node.jsのドキュメントを参照してください。
拡張機能の作成者には、常にInsiders リリースで拡張機能をテストし、これらの変更を事前に把握することをお勧めします。
注目すべき修正点
- 211199 smooth scrollが有効な場合、ターミナルでCtrl+cを押しても一番下までスクロールしない
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
問題追跡
問題追跡への貢献者
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @manav014 (Manav Agarwal)
- @RedCMD (RedCMD)
- @starball5 (スターボール)
- @ArturoDent (ArturoDent)
プルリクエスト
vscodeへの貢献者
- @a-stewart (Anthony Stewart): タイトルバーがWCOの境界矩形と少なくとも同じ高さであることを確認 PR #211440
- @aaronchucarroll: markdownエディターとプレビューでGithubスタイルのフェンス付き数式ブロックのサポートを追加 PR #213750
- @c-claeys (Cristopher Claeys): サービスインスタンス化における指数関数的な実行時間を修正 PR #218393
- @cobey (Cody Beyer): タグ付け用のjs/pyライブラリを追加 PR #219213
- @etcadinfinitum (Lee Zee): shellscript: .eclass拡張子をシェルライクとして登録 PR #219631
- @gabritto (Gabriela Araujo Britto): [typescript-language-features] 診断パフォーマンステレメトリの追加 PR #220127
- @gjsjohnmurray (John Murray)
- "workbench.localHistory.enabled": falseの場合、ローカル履歴コマンドを非表示にする PR #212936
- パネルが上部にあるが中央揃えではない場合、パネル最大化を非表示にする PR #221549
- /spam 問題トリアージコマンドの実装 PR #221940
 
- @hotpxl (Yutian Li): シェル統合スクリプトで組み込みのローカルコマンドを使用 PR #221772
- @jeanp413 (Jean Pierre): vscode.env.asExternalUri でポート転送時にポートラベルが適用されない問題を修正 PR #220029
- @kapodamy (kapodamy): fix: shellIntegration-bash.shスクリプトで正規表現を変数に配置 PR #221998
- @Krzysztof-Cieslak (Krzysztof Cieślak)
- インライン編集 - 提案の並列レンダリングを実装 PR #219444
- インライン編集 - 並列レンダリングのUI修正 PR #221352
- インライン編集 - 改行とスクロールのUI修正 PR #223076
 
- @mering (Marcel): Devcontainerにrustをセットアップ PR #221301
- @mxts (Teik Seong): ターミナルを上部にドックするオプションを追加 PR #207721
- @Parasaran-Python (Parasaran): #218254を修正 PR #219312
- @rehmsen (オーレ)
- ノートブックマークアップセルのコメントをサポート PR #219657
- ノートブックセルに、任意の所有者の最初のコメントを表示します。 PR #219926
- 変更に応答してノートブックコメントビューを更新 PR #219927
 
- @scop (Ville Skyttä): nounsetモードのbashでターミナル__vsc_first_promptエラーを修正 PR #221980
- @SimonSiefke (サイモン・シーフケ)
- feature: ファイルをエクスプローラにドロップした後、ファイルを自動的に開くかどうかを設定する設定を追加 PR #213498
- エディターに関連するメモリリークの影響を軽減 PR #219297
- fix: 拡張機能タブのメモリリーク PR #219726
- feature: デフォルトのブラウザ設定を許可 PR #219885
- fix: SelectBoxListのメモリリーク PR #221507
- fix: 設定ウィジェットのメモリリーク PR #221518
- fix: StickyScrollFocus のメモリリーク PR #221622
 
- @syi0808 (Sung Ye In): fix(terminal): スクロールバー追加時に fixedRows 行を削除 PR #221976
- @tisilent (xiejialong)
- アイコンを追加。 PR #219816
- ウィンドウタイトルに実行パスを使用。 PR #221258
- terminalServiceにrevealTerminalとfocusInstanceを追加 PR #221684
 
- @wdhongtw (Weida Hong): タイプが不明な場合にシェルタイプコンテキストをリセット PR #221277
vscode-black-formatterへの貢献
- @shayhurley (Shay Hurley): README.md を更新 PR #524
vscode-hexeditorへの貢献
- @tomilho (Tomás Silva): fix: 重複するwebview/contextを削除 PR #527
vscode-languageserver-nodeへの貢献者
- @benmcmorran (Ben McMorran): MarkdownStringにsupportThemeIconsを追加 PR #1504
vscode-markdown-tm-grammar への貢献
- @RedCMD (RedCMD): FrontMatter統合の修正 PR #162
vscode-pull-request-githubへの貢献者
- @Santhoshmani1 (Santhosh Mani ): 機能: PR説明ノードからgithubでPRを開く機能を追加 PR #6020
vscode-textmateへの貢献
- @aleclarson (Alec Larson): feat: 子コンビネータ ">" を追加 (および特異性バグを修正) PR #233
debug-adapter-protocolへの貢献者
- @dawedawe (dawe): 概要.md を更新して、名前変更されたパッケージにリンクする PR #489
language-server-protocolへの貢献者
- @asukaminato0721 (Asuka Minato)
- @flaribbit (梦飞翔): servers.md を更新 PR #1968
- @PrasangAPrajapati (Prasang A Prajapati): JCL LSP Server の実装者を追加 PR #1955
- @StachuDotNet (Stachu Korick): SemanticTokensペイロードのdeltaLineとdeltaStartを明確化 PR #1966
monaco-editorへのコントリビューション
- @ScottCarda-MS (Scott Carda): Q# キーワードを更新 PR #4586
node-request-lightへの貢献
- @remcohaszing (Remco Haszing): パッケージのエクスポートを追加 PR #25
python-environment-toolsへの貢献
- @cclauss (Christian Clauss): interpreterInfo.py: オブジェクトを単一操作で作成 PR #93
- @hamirmahal (Hamir Mahal): style: 文字列書式設定を簡素化 PR #88