2023 年 10 月 (バージョン 1.84)
アップデート 1.84.1: このアップデートでは、これらの問題に対処しています。
アップデート 1.84.2: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code の 2023 年 10 月リリースへようこそ。このバージョンには、皆様に気に入っていただける多くのアップデートが含まれており、主なハイライトの一部は次のとおりです。
- 音声キューの追加 - クリア、保存、フォーマットのアクティビティを示す新しい音声キュー。
- アクティビティバーの位置 - コンパクトな表示のためにアクティビティバーを上部に移動。
- エディタータブを非表示にする - 複数のエディタータブ、単一のエディタータブ、またはエディタータブなしを表示。
- エディターグループを最大化する - アクティブなエディターグループを素早く展開。
- Python の改善 - ターミナルでのコード実行の改善、仮想環境作成の簡素化。
- FastAPI チュートリアル - VS Code で Python FastAPI アプリケーションを開発する方法を学ぶ。
- Java 用 Gradle - Java Gradle プロジェクトのサポートが改善。
- プレビュー: GitHub Copilot - チャット「エージェント」、コミットメッセージの生成、ターミナルサポート。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。
アクセシビリティ
クリア、フォーマット、保存のオプトイン音声キュー
audioCues.clear が有効な場合、ターミナル、通知、またはチャットの応答がクリアされたことを示す音が鳴ります。
ファイルとノートブックでは、audioCues.save と audioCues.format をユーザー操作時、または常にイベントごとに再生するように設定できます。無効になっている場合は、代わりに ARIA アラートが使用され、accessibility.alert.format と accessibility.alert.save でカスタマイズできます。
Windows 拡大鏡の同期
Windows の拡大鏡が VS Code のカーソルを適切に追跡するようになりました。
アクセシビリティビューの改善
デフォルトでは、ターミナルのアクセシビリティビューのカーソルは下部に配置されます。代わりに位置を保持するには、terminal.integrated.accessibleViewPreserveCursorPosition を true に設定できます。
アクセシビリティビューは accessibility.hideAccessibleView で非表示にできます。これは、視覚のあるユーザーを聴衆として画面を共有する場合に便利です。
アクセシビリティビューは、ユーザーが入力し始めると閉じ、以前の要素にフォーカスを戻すことで、よりスムーズなワークフローを実現します。
ウィンドウタイトルのテキストエディターのフォーカスされたビュー
前回のイテレーションで、window.title に ${focusedView} 変数を追加しました。今回は、Text Editor にフォーカスがある場合も表示されるようになりました。
Workbench
アクティビティバーの位置をカスタマイズ
以下のビデオに示すように、アクティビティバーをサイドバーの上部に移動できるようになりました。

アクティビティバーが上部に配置されている場合、アカウントボタンと管理ボタンはタイトルバーの右端に移動します。
注: これは、カスタムタイトルバーが有効になっている場合のみサポートされます ("window.titleBarStyle": "custom")。
エディタータブを非表示にする
ユーザーは、workbench.editor.showTabs を none に設定することで、エディタータブを非表示にできるようになりました。その他の showTabs オプションは、multiple (デフォルト) と single で、アクティブなエディターの単一のエディタータブを表示します。

エディターグループを最大化する
エディターグループを最大化するための新しいコマンド View: Toggle Maximize Editor Group (⌘K ⌘M (Windows、Linux Ctrl+K Ctrl+M)) があります。これにより、他のすべてのグループが非表示になり、タブバーにボタンが追加され、ユーザーは以前のレイアウトを復元できます。設定 workbench.editor.doubleClickTabToToggleEditorGroupSizes が maximize に設定されている場合、ユーザーはエディタータブをダブルクリックしてエディターグループを最大化および解除できます。

設定エディターでの類似設定の検索
コマンドパレットと同様に、設定エディターも類似設定の検索を実行し、特定のクエリに対してより関連性の高い結果を収集するようになりました。
この実装は現在初期段階であり、今後数回のイテレーションで改善が期待できます。

プロトコルリンクを開くための確認
ファイルまたはワークスペースのプロトコルリンクが VS Code で開かれる場合、ダイアログが表示され、確認を求められるようになりました。

プロトコルリンクはローカルファイル (例: vscode://file/path/to/file) またはリモートファイル (例: vscode://vscode-remote/ssh-remote+[USER@]HOST[:PORT]/path/to/file) のいずれかを指すことができます。それぞれのケースについて、この動作を無効にするための新しい設定があります。
- security.promptForLocalFileProtocolHandling- ローカルプロトコルリンクの場合
- security.promptForRemoteFileProtocolHandling- リモートプロトコルリンクの場合
Editor
最も近いクイックフィックスキーボードショートカット
行のどこにカーソルがあっても、⌘. (Windows、Linux Ctrl+.) (コマンド ID editor.action.quickFix) から行内の最も近いクイックフィックスをアクティブにする新しい設定があります。以前はプレビュー機能であった コードアクションウィジェット: 近くのクイックフィックスを含める (editor.codeActionWidget.includeNearbyQuickFixes) がデフォルトで有効になりました。
このコマンドは、クイックフィックスでリファクタリングまたは修正されるソースコードをハイライト表示します。通常のコードアクションと修正以外のリファクタリングは、カーソル位置で引き続きアクティブ化できます。

複数ドキュメントのハイライト
複数のドキュメントにわたるコードハイライトの初期サポートが、設定 エディター: 複数ドキュメントの出現箇所 (editor.multiDocumentOccurrencesHighlight) を介して追加されました。この初期実装では、テキストの出現箇所のみが特徴で、セマンティックハイライトのサポートは将来的に追加される予定です。
ソース管理
--force-if-includes を使用した強制プッシュ
このマイルストーンでは、Git 2.30 で追加された --force-with-lease の補助オプションである --force-if-includes オプションがサポートされるようになりました。この新しいオプションは、強制プッシュされるコミットがリモートリファレンスの先端にあるコミットを検査した後に作成されたことを保証し、自動フェッチが有効になっている場合にコミットが失われる可能性を減らします。git.useForcePushIfIncludes 設定を無効にすることで、--force-if-includes の使用を無効にできます。
ノートブック
実行時のスクロールの改善
Shift+Enter を使用してノートブックを実行する際の次のセルの表示方法が改善され、出力に集中しやすくなりました。これにより、すでに出力があるセルを再実行する際のセルの移動量も削減されます。
IPython スタックトレースのレンダリング
IPython からの例外スタックトレースが、エラーに移動するのに役立つクリック可能なリンクをレンダリングするようになりました。これは、Jupyter 拡張機能が最初にスタックトレースを変更しない場合にのみ適用されます: "jupyter.formatStackTraces": false。
デバッグ
JavaScriptデバッガー
イベントリスナーブレークポイントビューの改善
イベントリスナーブレークポイントビューがより使いやすくなり、チェックボックス付きのツリーとして表示されるようになりました。

ソースマップの改名のより良い処理
コードがバンドラーでコンパイルされると、変数が改名されることがあります。これは、すべてのバンドラーでのインポートや、esbuild の特定のローカル識別子で特に一般的です。デバッガーは、各改名が適用されるスコープを認識するようになり、ユーザーが過去に遭遇した多くの問題が修正されました。
これには、デバッガーがコンパイルされたモジュールの構文ツリーを解析する必要があります。これはバックグラウンドスレッドで、改名が検出された場合にのみ行われますが、パフォーマンスへの影響を避けるために launch.json で "sourceMapRenames": false を設定することで、この動作を無効にできます。
リモート開発
リモート開発拡張機能を使用すると、開発コンテナー、SSH 経由のリモートマシン、リモートトンネル、またはWindows 用 Linux サブシステム (WSL) をフル機能の開発環境として使用できます。
主なハイライトは次のとおりです。
- Microsoft アカウントを使用してトンネルにログインできるようになりました。
- Windows で SSH およびトンネル経由での Dev Containers への接続がサポートされるようになりました。
Remote Development リリースノートでこれらの機能について詳しく知ることができます。
拡張機能への貢献
GitHub Copilot
インラインチャットのストリーミング
GitHub Copilot Chat 拡張機能のインラインチャットは、応答が受信される速度に合わせて、漸進的なテキスト編集を行い、「タイピング」するようになりました。これは、以前のようにチャットの応答全体が受信されるまで待ってからエディターに適用するよりも自然なエクスペリエンスです。
すべての編集が挿入であるわけではなく、置換の場合、Copilot がどこから開始すべきかを判断するのに苦労することがあります。そのような場合、ストリーミングがまだ期待どおりに機能しない可能性があります。この分野での改善にご期待ください。
チャットエージェント
今回のイテレーションでは、Copilot Chat と対話する新しい方法であるエージェントを構築しました。エージェントは、専門分野を持ち、あなたの手助けをしてくれる専門家のようなもので、@ シンボルを使ってチャットで彼らに言及することで話しかけることができます。現在、2 つのエージェントがいます。
- @workspaceは、ワークスペース内のコードに関するコンテキストを持ち、関連するファイルやクラスを見つけることで、ナビゲートを支援できます。
- @vscodeは、VS Code エディター自体のコマンドと機能について知っており、それらの使用方法を支援できます。
各エージェントはいくつかのスラッシュコマンドもサポートしており、以前使用していたスラッシュコマンドはエージェントと一緒に使用する必要があります。例えば、/explain は @workspace /explain になります。しかし、ショートカットとして、/ と入力するだけで、完全なエージェントとコマンドに自動的に展開される候補リストが表示されます。
@workspace
@workspace エージェントは、メタプロンプトを使用して、あなたの質問に答えるためにワークスペースからどのような情報を収集するかを決定します。メタプロンプトが使用するアプローチの 1 つは、会話履歴を遡って、質問内の曖昧な単語/フレーズを解決することです。たとえば、@workspace What does it do? と尋ねると、メタプロンプトは履歴を考慮して、it が実際に何であるか、そして質問に答えるためにどのような情報を収集するかを判断します。メタプロンプトは、より多くの類義語を含む幅広い用語セットも使用して、潜在的に関連する用語のリストを生成します。
@workspace の応答内のファイルパスとシンボルはクリック可能なリンクです。これにより、Copilot が参照しているコードに簡単にナビゲートできます。
@workspace エージェントは、ワークスペースからインデックスを作成するファイルを決定する際に、.gitignore および .copilotignore を尊重します。
エージェントがスラッシュコマンドを置き換える
新しいエージェントは、/createWorkspace や /createNotebook などのスラッシュコマンドの機能を、スラッシュ修飾子を追加して置き換えます。
- /createWorkspace-->- @workspace /new
- /createNotebook-->- @workspace /newNotebook
- /explain-->- @workspace /explain
- /fix-->- @workspace /fix
- /test-->- @workspace /test
- /vscode-->- @vscode /api

新しいエージェントを試して、/help と入力してさらにヒントを確認してください!
コミットメッセージの生成
Copilot Chat は、ソースコントロール入力ボックスの新しい「きらめき」アクションを使用して、保留中の変更に基づいてコミットメッセージを生成できるようになりました。
インポートのグループ化
生成されたインポートは、常にファイルの先頭または既存のインポートブロックの下に配置されるようになりました。これは、ほとんどの一般的なプログラミング言語でサポートされています。
/explain コンテキストの改善
Copilot Chat に、アクティブなエディターで選択したコードを、@workspace /explain コマンドまたはコンテキストメニューの Copilot で説明 アクションを介して説明するように依頼できるようになりました。Copilot Chat は、関数やクラスなどの参照されているシンボルの実装を含むようになり、より正確で役立つ説明につながります。これは、TypeScript/JavaScript、Python、Java、C#、C++、Go、または Ruby のいずれかの言語サービスに貢献する拡張機能がインストールされている場合に、ファイル間で最適に機能します。
永続的なチャットビューの状態
以前は、Copilot Chat ビューは最初に非表示になり、その後表示されていました。Copilot Chat ビューは、ウィンドウの再読み込み後もアクティブなままになるため、手動で再度開く必要がありません。さらに、チャットビューは、GitHub にサインインし、GitHub Copilot の無料トライアルをアクティブ化するプロセスをガイドするようになりました。
設定された表示言語を使用してチャット
デフォルトでは、Copilot Chat は、VS Code で設定されている表示言語を使用して最初に応答するようになりました。github.copilot.chat.localeOverride を設定することで、この自動動作をオーバーライドできます。
ウェルカムメッセージの冗長性の軽減
会話を最初に開始したときに、Copilot Chat が冗長なウェルカムメッセージで挨拶するかどうかを、github.copilot.chat.welcomeMessage を設定することで制御できるようになりました。オプションは first (デフォルト)、always、および never です。
ターミナルクイックフィックス
ターミナルで失敗したコマンドが実行された場合、Copilot は何が起こったのかを説明するためのクイックフィックスを提供するようになりました。

これは、現在のターミナルプロンプトの横にあるキラキラアイコン (⌘. (Windows、Linux Ctrl+.)) を介してトリガーできます。
ターミナルコマンドの提案
ターミナルにフォーカスがあるときに、Copilot は ⌘I (Windows、Linux Ctrl+I) キーバインドを介して CLI コマンドの提案を提供できるようになりました。これにより、@workspace /terminal が事前入力されたクイックチャットが表示されます。

この /terminal スラッシュコマンドは、現在のシェルを使用してシェルコマンドを提案することに最適化されています。提案の品質と UX は、次のリリースでさらに改善される予定です。
「ターミナルで実行」アクションの表示の改善
コードブロックの言語タイプがシェルである場合、「ターミナルで実行」アクションがコードブロックにマウスオーバーしたときに表示されるようになりました。

インラインチャットがターミナルコマンドで応答可能に
インラインチャットが、ターミナルで実行するコマンドで応答できるようになりました。

Python
ターミナルでの行実行の改善
Python 拡張機能は、実行するコードが選択されていない場合に Python REPL に行を送信する動作 (Shift+Enter) を改善しました。以前は、Python コードの行にカーソルを置き Shift+Enter を押すと、Python 拡張機能は、たとえば複数行コマンドの一部であるために失敗する場合でも、正確な行の内容を REPL に送信していました。
新しい実験的な Smart Send 機能により、Python 拡張機能は、カーソル位置を囲む実行可能な最小のコードブロックを REPL に送信して実行します。これにより、完全で実行可能なコードセクションのみが REPL に送信されるようになります。カーソルは次の実行可能な行に自動的に移動され、複数のチャンクを繰り返し実行する際にスムーズなエクスペリエンスを提供します。
試すには、次のユーザー設定を追加できます: "python.experiments.optInto": ["pythonREPLSmartSend"]。この機能は現在実験的ですが、将来的にはデフォルトの動作となることを期待しています。この機能のさらなる改善に関するフィードバックや提案があれば、お知らせください!
テーマ: Catppuccin Macchiato (vscode.devでプレビュー)
Python リンティング拡張機能の改善
お気に入りの Python ツールでより設定可能で柔軟なエクスペリエンスを可能にするために、サポートされているリンティング拡張機能にいくつかの改善を加えました。
Pylint、Mypy、および Flake8 拡張機能は、リンティングから除外したいファイルのグロブパターンを指定できる設定を提供するようになりました。これは、多くのサブプロジェクトを持つ大規模なコードベースで作業している場合や、特定のフォルダーをリンティングから除外したい場合に役立ちます。これらの設定は "pylint.ignorePatterns"、"mypy-type-checker.ignorePatterns"、および "flake8.ignorePatterns" です。
これらの拡張機能は cwd 設定もサポートしており、リンターの作業ディレクトリを指定できます。この設定は、変数 ${fileDirname} をサポートするように更新され、開いているファイルの親フォルダーに作業ディレクトリを動的に設定できるようになりました。これは、モノリポで作業しており、異なるサブプロジェクトからファイルを開くときにリンターの作業ディレクトリを動的に更新したい場合に便利です。これらの設定は "pylint.cwd"、"mypy-type-checker.cwd"、および "flake8.cwd" です。
"mypy-type-checker.preferDaemon" 設定のデフォルト値が変更されました (Mypy 拡張機能にのみ適用されます)。以前は true に設定されており、Mypy デーモンがデフォルトで使用されることを意味していました。フィードバックを受けて、デフォルト値を false に変更しました。どちらの値があなたにとって最適か疑問に思っている場合は、パフォーマンス上の理由から、Mypy レポートスコープをワークスペース全体に設定している場合 ("mypy-type-checker.reportingScope": "workspace")、Mypy デーモンを使用することをお勧めします。それ以外の場合、レポートスコープが現在のファイルに設定されている場合は、拡張機能に同梱されている Mypy 実行可能ファイルを使用することをお勧めします。
組み込みリンティングおよびフォーマット機能の非推奨化
VS Code のリンティングおよびフォーマット拡張機能に対して行われたすべての作業と改善により、Python 拡張機能に同梱されていた組み込みのリンティングおよびフォーマット機能は非推奨になりました。これには、すべてのリンティングおよびフォーマットコマンドと設定 (python.linting.* および python.formatting.*) が含まれます。これらの非推奨設定をまだ使用している場合は削除し、サポートされているリンティングおよびフォーマット拡張機能を使用することをお勧めします。
サポートされている拡張機能なしでリンターを使用している場合は、コミュニティが貢献したRuff 拡張機能をチェックしてください。Ruff は Rust で書かれた Python リンターであり、pyflakes、pycodestyle、pydocstyle などのさまざまなリンターをサポートしています。最近、VS Code で Ruff をフォーマッターとして使用するサポートが追加されました ("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" })。
お気に入りの Python ツール用の独自のリンターまたはフォーマッター VS Code 拡張機能を作成することもできます。クイックスタートについては、Python Tools Extension Template をチェックしてください。
環境作成の通知
仮想環境は、インストールする必要のある依存関係を持つ Python プロジェクトで作業するための推奨される方法です。これらは隔離と再現性を提供し、Python プロジェクトで非常に人気があります。
このため、Python 拡張機能は、ワークスペースで仮想環境が選択されていない状態で、リストされた依存関係を持つ Python ファイルまたはプロジェクトを実行またはデバッグしようとすると、通知を表示するようになりました。この通知は、Python: Create Environment コマンドを介して新しい仮想環境をすばやく作成する方法を提供します。
ワークスペースにすでに仮想環境がある場合は、それを選択するか、削除して再作成するオプションがあります。
この通知は、python.python.createEnvironment.trigger を off に設定することで無効にできます。

仮想環境非アクティブ化ヘルパー
数ヶ月前、明示的なアクティベーションコマンドを必要とせずに、選択された環境をターミナルで自動的にアクティベートすることで、開発ワークフローを強化するための環境変数を使用したターミナルアクティベーションの新しい実験的機能を発表しました。しかし、明示的なアクティベーションスクリプトが機能しなくなったため、この実験が有効になっている場合、deactivate コマンドは機能しなくなりました。
Python 拡張機能は、deactivate コマンドを実行しようとすると、それを検出し、環境が環境変数を通じてアクティベートされたときにコマンドが再び機能するように、シェルにスクリプトを追加する方法をガイドするヘルパー通知を表示するようになりました。また、必要なスクリプトを追加するためにシェルプロファイルファイルを開くボタンも提供します。

シェルに必要なスクリプトを追加する方法に関する完全なドキュメントは、vscode-python wiki にあります。
実験に参加しておらず、この機能を試したい場合は、次のユーザー設定を追加できます: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"]。
テスト出力の改善
pythonTestAdapter 実験が有効になっている場合に、Python 拡張機能でのテスト出力の表示と操作方法を大幅に改善しました。これは数か月前に発表されました。以前は、テスト検出と実行からの出力が、Python テストログ出力チャンネルとテスト結果パネルに一貫性なく散らばっており、一部の情報は両方で重複していました。エクスペリエンスを統合するために、テスト実行に関連する出力はテスト結果パネルに表示され、テスト検出はPython出力チャンネルに表示されます。詳細については、関連するvscode-python wikiをお読みください。
この新しいアプローチでは、Pytest を使用しており、settings.json で "python.testing.pytestArgs": ["--color=yes"] を設定している場合、出力のカラー化もサポートされます。カラー化はテスト結果パネルでのテスト実行にのみ機能し、検出やPython テストログパネルでの出力には機能しません。

また、テスト検出でエラーが発生した場合に、テストエクスプローラービューからテストログを簡単に開くための新しいボタン 出力の表示 もあります。

Python デバッガー拡張機能のプラットフォーム固有バージョン
Python デバッガー拡張機能は、プラットフォーム固有のバージョンが提供されるようになりました。これにより、更新ごとに必要なプラットフォーム固有のファイルのみがインストールされます。これにより、拡張機能のサイズが削減され、起動時間の改善に役立ちます。
Tensorboard 拡張機能
Tensorboard 機能は、Python 拡張機能からスタンドアロンのTensorboard 拡張機能に移動しました。
この新しい拡張機能で問題が発生した場合、またはフィードバックを提供したい場合は、Tensorboard 拡張機能の GitHub リポジトリで問題を提出できます。
Jupyter
先行/依存セルでの実行
Jupyter 拡張機能を使用すると、セル実行ボタンの横にあるドロップダウンメニューから、ターゲットセルの先行または依存するすべてのセルを実行できるようになりました。これはまだプレビュー機能であり、jupyter.executionAnalysis.enabled 設定と notebook.consolidatedRunButton 設定で有効にできます。
この機能は現在、Pylance 拡張機能によって提供されているため、この機能を使用するには最新の Pylance プレリリースバージョンをインストールする必要があります。
VS Code Speech
VS Code に音声サポートをもたらす新しい拡張機能を導入します!新しいVS Code Speech 拡張機能は、GitHub Copilot Chat に統合され、チャット入力の音声からテキストへの文字起こしサービスを有効にします。
インストールすると、マイクアイコンが表示され、選択すると、音声の文字起こし結果に基づいてチャット入力にテキストが入力され始めます。文字起こしはマシン上でローカルに計算され、インターネット接続は必要ありません。

GitHub Pull Requests and Issues
プルリクエストやイシューの作業、作成、管理を可能にする GitHub プルリクエストとイシュー 拡張機能について、さらなる進捗がありました。
- プロジェクトはプルリクエストの説明ウェブビューから表示および追加できます。
- GitHub Copilot と統合され、PR 作成ビューから PR のタイトルと説明を生成します。
- GitHub CLI (gh pr checkout) でチェックアウトされた PR は、拡張機能によって認識されます。
その他のハイライトについては、拡張機能の 0.76.0 リリースの変更ログを確認してください。
プレビュー機能
フローティングエディターウィンドウ
引き続き、エディターをワークベンチウィンドウから独自のウィンドウに引き出す方法を検討し、VS Code Insiders コミュニティにこのエキサイティングな新機能を試してフィードバックを提供していただきたいと考えています。
VS Code Insiders をインストールし、エディターで新しい View: Move Active Editor into a New Window コマンドを実行して、フローティングウィンドウで開いてください。
まだ多くの問題を解決し、不足している機能を提供する必要がありますが、近い将来、Stable でこの機能を有効にできると楽観的に考えています。
テストにご協力いただきありがとうございます!
言語サーバーの WASM-WASI サポート
WASM/WASI における言語サーバーのサポートが、実験的なwasm-wasi-core 拡張機能に追加されました。
vscode-wasm リポジトリには、Rust で書かれ WASM にコンパイルされたシンプルな言語サーバーを示す拡張機能もあります。この拡張機能は、Rust アナライザーチームが保守する言語サーバークレートに依存しています。
拡張機能作成
テストランナーの改善
拡張機能のテスト実行を容易にするために、VS Code 用のコマンドラインランナーと拡張機能が追加されました。新しいアプローチを使用する拡張機能は、VS Code のテスト UI で実行できます。一部の移行は必要ですが、通常は数分しかかかりません。詳細については、VS Code の拡張機能のテストドキュメントをお読みください。
TestMessage.contextValue API の最終版
ユーザーがテストメッセージに対してアクションを実行したときに表示される contextValue を TestMessage に提供できるようになりました。さらに、testing/message/context と testing/message/content の 2 つの新しいメニュー貢献ポイントが利用可能です。前者はテスト結果ツリービューのメッセージに表示され、後者はエディターのメッセージの上に表示されます。たとえば、これはスナップショットテストでフィクスチャを更新するアクションを提供するために使用できます。

contextValue の詳細については、issue #190277 をお読みください。
更新された codicon
以下の新しいアイコンが、当社のcodiconライブラリに追加されました。

- copilot
- git-fetch
- マイク
- マイク (塗りつぶし)
- いいね (塗りつぶし)
- よくないね (塗りつぶし)
- coffee
- game
- snake
- vr
- chip
- music
- piano
新しいテーマカラー
- textPreformat.background: 事前フォーマットされたテキストセグメントの背景色
名前ごとのルートフォルダーアイコン
ファイルアイコンテーマの作成者は、新しいプロパティ rootFolderNames と rootFolderNamesExpanded を使用して、ルートフォルダーに名前固有のアイコンを定義できるようになりました。詳細については、ファイルアイコンテーマガイドを参照してください。
提案されたAPI
すべてのマイルストーンには新しい提案された API が含まれており、拡張機能の作者はそれらを試すことができます。いつものように、皆様からのフィードバックを歓迎します。提案された API を試す手順は次のとおりです。
- 試したい提案を見つけて、その名前をpackage.json#enabledApiProposalsに追加します。
- 最新の@vscode/dtsを使用し、npx @vscode/dts devを実行します。これにより、対応するd.tsファイルがワークスペースにダウンロードされます。
- これで提案に対してプログラミングできます。
提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。
Issue Reporter を介して拡張機能に送信されるデータを構成するサポート
新しい提案された API により、拡張機能の作成者は Issue Reporter を介して追加データを送信できます。
export interface IssueUriRequestHandler {
  // Handle the request by the issue reporter for the Uri you want to direct the user to.
  handleIssueUrlRequest(): ProviderResult<Uri>;
}
export interface IssueDataProvider {
  // Provide the data to be used in the issue reporter.
  provideIssueData(token: CancellationToken): ProviderResult<string>;
  // Provide the template to be used in the description of issue reporter.
  provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
}
export namespace env {
  export function registerIssueUriRequestHandler(
    handler: IssueUriRequestHandler
  ): Disposable;
  export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
}
handleIssueUrlRequest を介して URI を提供すると、拡張機能の問題が GitHub に外部で提出され、provideIssueData と provideIssueTemplate のテンプレート string と拡張機能データ string を提供すると、Issue Reporter を介して追加の拡張機能データが GitHub に送信されます。
この提案の詳細については、issue #196863 をお読みください。
カスタム除外ルールを持つファイルウォッチャー
今回のマイルストーンで、除外ルールを完全に制御できるファイルシステムウォッチャーを作成するための提案された API が追加されました。
export interface FileSystemWatcherOptions {
  /**
   * An optional set of glob patterns to exclude from watching.
   * Glob patterns are always matched relative to the watched folder.
   */
  readonly excludes?: string[];
}
export function createFileSystemWatcher(
  pattern: RelativePattern,
  options?: FileSystemWatcherOptions
): FileSystemWatcher;
この新しい API により、拡張機能は、再帰的または非再帰的なウォッチャーであるか、ワークスペース内または外を監視したいかに関係なく、ファイルウォッチャーを完全に制御できます。ファイル監視のためのユーザーまたはデフォルトで設定された除外ルールは適用されないため、購読したイベントのみを受信することを確信できます。
エンジニアリング
Windows 32 ビットサポートの終了
Windows 32 ビット版 VS Code のサポートは終了しました。まだ 32 ビット版の VS Code を使用している場合は、64 ビット版にアップデートしてください。
拡張機能とドキュメント
Gradle for Java
VS Code での Java 開発は、改良されたGradle for Java 拡張機能によってさらに簡単になりました。プレリリース版では、ビルドサーバープロトコル (BSP) の採用により、Gradle プロジェクトのビルドがより適切にサポートされています。VS Code で使用されている他のプロトコル (例: 言語サーバープロトコル (LSP)) と同様に、BSP は開発環境と Gradle などのビルドツールの間に抽象化レイヤーを提供します。
新しい Gradle サポートを試すには、Extension Pack for Java と Gradle for Java 拡張機能のプレリリース版の両方をインストールしてください。Gradle と BSP の詳細については、Java 拡張機能チームの最近のブログ投稿をお読みください。

FastAPI チュートリアル
FastAPI は、Python API を構築するためのモダンで高速な Web フレームワークであり、そのシンプルさとパフォーマンスにより、ますます人気を集めています。
VS Code と Python 拡張機能を最大限に活用して FastAPI アプリケーションを作成およびデバッグする方法を、新しいFastAPI チュートリアルで学ぶことができるようになりました!
カスタムレイアウトユーザーガイド
ワークベンチとエディターのレイアウトのカスタマイズについて説明する新しいカスタムレイアウト記事があります。ここでは、ビュー、パネル、エディターなどの VS Code の主要な UI 要素を好みのワークフローに合わせて変更する方法を学びます。

トピックには以下が含まれます
- プライマリおよびセカンダリサイドバー
- パネルの位置と配置
- ピン留めされたエディタータブ
- エディターグループレイアウト
- その他
注目すべき修正点
- 194812 workbench.settings.settingsSearchTocBehaviorがhideに設定されている場合でも、検索中に目次が表示される
- 195722 ネットワーク問題がある場合の空白の設定エディター
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
問題追跡
問題追跡への貢献者
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @starball5 (スターボール)
- @ArturoDent (ArturoDent)
プルリクエスト
vscodeへの貢献者
- @amaust (Andrew Maust): Aria Label Showing [Object object] の修正 PR #195929
- @Cazka: incrementalNaming 設定のタイプミスを修正 PR #194900
- @Charles-Gagnon (Charles Gagnon): ドロップダウンアクションボタンの矢印ナビゲーションが隠れたドロップダウンにフォーカスしてしまう問題を修正 PR #167662
- @christian-bromann (Christian Bromann): ノートブックコンテナーは可視の場合のみレンダリングする PR #188226
- @Connormiha (Mikhail): 修正: map+flat を簡素化 PR #193949
- @futurist (James Yang): 修正: dom.test.ts のタイプミス PR #195249
- @gjsjohnmurray (John Murray)
- --profileの CLI ヘルプテキストを修正 PR #193766
- デバッグ時に「実行とデバッグ」タイトルバーのランチャーを非表示にできるようにする PR #193812
- 拡張機能ログレベルクイックピックで正しい行を事前選択 (fix #194515) PR #194517
- updateAllExtensions 後に「リロードが必要」ボタンを同時に表示 (#_163627) PR #195421
- "window.density.editorTabHeight": "compact"の場合でも、信頼エディタータブアイコンを正しく表示 (fix #196209) PR #196212
- 上部アクティビティバーバッジの数字を垂直方向中央に配置 (fix #196691) PR #196696
- 楕円形バッジの原因となった #196696 の修正を修正 PR #196715
- #196696 の変更に合わせて、上部アクティビティバーの進行状況バッジを大きくする PR #196724
 
- @harbin1053020115 (ermin.zem)
- 修正: pinnedTabsOnSeparateRow が有効な場合の、エディターの進行状況の位置の修正 PR #195314
- 機能: ルートフォルダの iconThemes 定義をサポート PR #195319
 
- @hsfzxjy (hsfzxjy): より高速な __vsc_escape_value の修正 PR #194459
- @jeanp413 (Jean Pierre): WebSocket が ping フレームを正しく処理しない問題を修正 PR #194436
- @jiawei-hong (Wei): スタイル: ...でなければ border-right-width を none に設定するだけでよい PR #195078
- @jruales (Joaquín Ruales): 置換するものが何もない場合、regex.replace() のコストをスキップする PR #194854
- @Jvr2022 (Jvr)
- .github の未使用ファイルをクリーンアップ PR #189066
- 文法を修正 PR #194970
 
- @k-yle (Kyℓe Hensel): .git-blame-ignore-revs の構文ハイライトを修正 PR #194584
- @MichaelChirico (Michael Chirico): 参照リポジトリの org を更新 PR #194415
- @MrYuto (Yuto Liyosa)
- OpenDisassemblyViewActionを- Action2にする PR #195623
- tsconfig 内の絶対ファイルターゲットリンクを解決 (#_195514) PR #195759
 
- @sandeep-sen (Sandeep Sen): Go 用の mgmt ライブラリを追加 + Go 用のマッチャーロジックを変更 PR #191036
- @SimonSiefke (Simon Siefke): 修正: メニューのメモリリーク PR #196302
- @tats-u (Tatsunori Uchino): より安全に強制プッシュするための --force-if-includesのサポートを追加 PR #187932
- @tisilent (xiejialong)
- Transform optimization SettingsTree を無効にする PR #179095
- ターミナル: 名前変更と挿入の修正 PR #194621
- #191201 を修正 PR #194965
 
- @vuittont60: タイプミスを修正 PR #195562
- @whscullin (Will Scullin): リンクフラグメントが保持されることを確認 PR #193743
- @yiliang114 (易良)
- 機能: 組み込み拡張機能のロゴを追加 PR #192999
- 修正: #157015 を修正、ビューラベルコマンドがローカライズされる問題を修正 PR #193544
- 修正: #195980 を閉じる、拡張機能の貢献ポイントのデフォルト表示を修正 PR #195984
 
vscode-js-debugへの貢献者
- @OnesAndZer0s (OnesAndZer0s): 機能: 計測ブレークポイントの整理 PR #1853
language-server-protocolへの貢献者
- @manandre (Emmanuel André): NotebookDocumentSync の例を修正 PR #1831