2024年8月 (バージョン 1.93)

アップデート 1.93.1: このアップデートでは、これらの問題に対処しています。

ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Visual Studio Codeの2024年8月リリースへようこそ。このバージョンには、皆様に気に入っていただける多くのアップデートが含まれており、主なハイライトは以下の通りです:

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comUpdates を参照してください。Insiders: 新機能をいち早く試したいですか?ナイトリービルドのInsiders をダウンロードして、最新のアップデートをいち早く試すことができます。

アクセシビリティ

キーボードによるテーブル列のサイズ変更

新しいコマンド list.resizeColumn により、キーボードを使用して列のサイズを変更できるようになりました。このコマンドを実行すると、サイズを変更したい列を選択し、設定したい幅のパーセンテージを指定します。次の動画は、キーボードショートカットエディターで列のサイズを変更するためにこれを適用する方法を示しています。

チャット応答の合成に関するスクリーンリーダーのサポート

スクリーンリーダーユーザーがariaアラートの代わりにシンセサイザーによるチャット応答のアナウンスを聞くことを選択できるように、accessibility.voice.autoSynthesize設定を更新しました。

デバッグの改善

エディターにフォーカスがある状態でデバッグを行っている際、Debug: Add to Watchコマンドを実行すると、スクリーンリーダーユーザーに対して変数の値がアナウンスされるようになりました。

さらに、デバッグのアクセシビリティヘルプダイアログがより詳細になるように改善されました。

ワークベンチ

新しいプロファイルエディター

新しいプロファイルエディターがVisual Studio Codeのすべてのユーザーに向けて一般提供開始されました。新しいプロファイルエディターを使用すると、1つの場所からプロファイルを管理できます。これには、新しいプロファイルの作成、既存のプロファイルの編集と削除、他の人と共有するためのプロファイルのインポートとエクスポートが含まれます。詳細については、プロファイルのドキュメントを参照してください。

Screenshot that shows the Profiles editor.

ウィンドウコントロールオーバーレイのLinuxサポート

新しい設定 window.experimentalControlOverlay により、window.titleBarStyle設定でカスタムタイトルバーが有効になっている場合でも、ネイティブのウィンドウコントロールが表示されるようになります。

Screenshot of VS Code on Linux, highlighting the Linux window control overlays in the top-right corner.

デフォルトでは、Linux上でカスタムタイトルはまだ有効になっていませんが、将来的には有効にする予定です。カスタムタイトルをオンにすると、ネイティブのウィンドウコントロールオーバーレイが自動的に表示されます。この新機能を使用する際に見つかったフィードバックを歓迎します!

コメントの並べ替え

コメントをファイル内の位置または日付で並べ替えられるようになりました。

Screenshot that shows the additional comment sorting options.

設定エディターから設定URLをコピーする

設定エディターから特定の設定へのダイレクトURLをコピーできます。設定URLにアクセスすると、VS Codeが開かれ、設定エディター内の該当する設定にフォーカスが当たります。

Video that shows how to copy a setting URL in the Settings editor.

エクスプローラーでの逆順並べ替え

追加の並べ替えオプション explorer.sortOrderReverse を追加しました。これにより、エクスプローラーの様々な並べ替え設定を反転させることができ、並べ替えの柔軟性がさらに向上します。

エディター

電球アイコンの改善

前のマイルストーンでは、コードアクションの電球アイコンが表示される場所を改善しました。今回、editor.lightbulb.enabledのデフォルトを onCode に設定することに決定しました。これにより、電球アイコンはソースコードがある行にカーソルがある場合にのみ表示され、表示頻度が少なくなります。

アクションリストのカラーテーマ

コードアクションメニューなどのアクションリストコントロールの色は、editorActionList.backgroundeditorActionList.foregroundeditorActionList.focusForeground、および editorActionList.focusBackground キーを使用してテーマで設定できます。デフォルトでは、アクションリストコントロールのテーマはクイックピックおよびコマンドパレットのものと一致します。カラーテーマのカスタマイズに関する詳細情報を参照してください。

GitHub Copilot

今マイルストーンでも、エディター、チャットビュー、インラインチャット全体で、VS CodeにおけるGitHub Copilotの体験の改善を続けました。また、お試しいただきフィードバックをいただけるような、いくつかの実験的機能も追加しました。

テスト生成の改善

GitHub Copilotを使用すると、エディターのコンテンツメニューにあるGenerate Tests using Copilotアクションを使用するか、インラインチャットで /tests スラッシュコマンドを使用して、コードのテストを生成できます。

既存のテストファイルを検索してそのファイル内に新しいテストを生成し、末尾に追加するようにテスト生成フローを改善しました。まだテストファイルが存在しない場合、Copilotは生成されたテスト用の新しいテストファイルを作成します。

テストおよびドキュメント生成用のコードアクションの名前変更

メソッド名などの識別子にカーソルを置くと、GitHub Copilotはテストやドキュメントを生成するコードアクションを提供します。その目的に合わせるため、これらのコードアクション名を Generate Tests using Copilot および Generate Documentation using Copilot に変更しました。以前はこれらは Test using Copilot および Document using Copilot と呼ばれていました。

New code action names for test and documentation generation

チャット履歴の改善

チャットビューの上部にあるShow Chatsボタンを使用して、チャット履歴から過去のチャットセッションを開くことができます。これらのセッションには、よりユーザーフレンドリーなAI生成の名前が付けられるようになりました。また、各行の鉛筆アイコンを選択して、手動でセッション名を変更することもできます。

これらのチャット履歴エントリは、最後のリクエストの日付順に並べ替えられ、日付バケットごとにラベル付けおよびグループ化されるようになりました。

The chat history picker shows friendly session names and entries are grouped by age.

注意: AI生成の名前が付けられるのは新しいチャットセッションのみであり、すでに所有しているチャットセッションの名前は変更されません。

空のウィンドウのチャットセッションを保存する

以前は、VS Codeは(フォルダーやワークスペースが開いていない)空のウィンドウのチャットセッションを保存していませんでした。現在は、これらのセッションが期待どおりに保存され、空のウィンドウからの以前のチャットをShow Chatsボタンから読み込むことができます。

注意: 複数の空のウィンドウで同時に同じチャットセッションを開いて使用することは避けてください。

クイックチャットでのコンテキストの添付

クイックチャットを使用する際に、Attach Contextアクションを使用してファイルやシンボルなどのコンテキストをCopilotのリクエストに添付できるようになりました。

低評価(Thumbs down)フィードバックの詳細

Copilot Chatから期待したものではない応答が返ってきましたか?チャット応答のツールバーにあるThumbs down(低評価)ボタンを選択してご協力ください。問題の説明に役立ついくつかの詳細なオプションを含むドロップダウンが表示されるようになりました。このメニューから問題レポーターを開くこともできます。

The chat response feedback dropdown, showing extra details on the thumbs down button.

コード生成の指示 (実験的)

設定: github.copilot.chat.experimental.codeGeneration.instructions

Copilotは、リファクタリングの一部として、単体テストの生成、または機能の実装など、コードの生成を支援できます。また、使用したい特定のライブラリや、Copilotが生成するコードに従わせたい特定のコーディングスタイルがある場合もあります。

実験的設定 github.copilot.chat.experimental.codeGeneration.instructions を使用すると、コードを生成するすべてのCopilotリクエストに追加される一連の指示を定義できます。

指示はユーザーまたはワークスペースの設定で定義できるほか、ファイルからインポートすることもできます。

次のコードスニペットは、設定と外部ファイルの両方から一連の指示を定義する方法を示しています

  "github.copilot.chat.experimental.codeGeneration.instructions": [
    {
      "text": "Always add a comment: 'Generated by Copilot'."
    },
    {
      "text": "In TypeScript always use underscore for private field names."
    },
    {
      "file": "code-style.md" // import instructions from file `code-style.md`
    }
  ],

myProject/code-style.mdの内容

Always use React functional components.
Always add comments.

スクリーンショットでは、参照セクションから指示が使用されたことが確認できます

Copilot Chat using code generation instructions.

チャットビューでの自動チャット参加者検出 (実験的)

設定: chat.experimental.detectParticipant.enabled

GitHub Copilotには、チャットビューにもコマンドを提供する @workspace などのいくつかの組み込みチャット参加者がいます。以前は、チャットプロンプトでチャット参加者とコマンドを明示的に指定する必要がありました。

自然言語でチャット参加者をより簡単に使用できるようにするため、今後数週間にわたり、Copilot Chatが質問を適切な参加者またはチャットコマンドに自動的にルーティングできるようにする実験を行います。

Screenshot of Chat view that shows how the '@workspace' participant is automatically detected.

自動選択された参加者が質問に適していない場合は、チャット応答の上部にある rerun without リンクを選択して、質問をCopilotに再送信できます。

最近のコーディングファイルをインラインチャットのコンテキストとして使用する (実験的)

設定: github.copilot.chat.experimental.temporalContext.enabled

多くの場合、Copilotにプロンプトを入力する際、直前に作業していたり​​見ていたりしたコードに関連する質問をしています。インラインチャットは、最近表示または編集したコードをコンテキストとして使用し、より関連性の高い提案を提供できるようになりました。

この機能はまだ実験的ですが、すべてのユーザーにテストしていただくのに適しています。

現在のエディター行をインラインチャットプロンプトとして使用する (実験的)

設定: github.copilot.config.experimental.inlineChatCompletionTrigger.enabled

最初にインラインチャットを開いてからチャットプロンプトを入力する代わりに、エディターでの入力を直接開始し、現在の行の内容をインラインチャットのプロンプトとして直接使用できるようになりました。さらにスムーズなチャット体験のために、Copilotはコードを書いているのではなくプロンプトを入力していることを検出し、自動的にインラインチャットを開始できます。

現在の行をインラインチャットのプロンプトとして使用するさまざまな方法は次のとおりです

  • コマンドパレットから Inline Chat: Start in Editor with Current Line を入力する (⇧⌘P (Windows, Linux Ctrl+Shift+P))
  • inlineChat.startWithCurrentLine コマンドのキーバインドを設定し、inlineChatExpansion コンテキストキーと組み合わせる
  • github.copilot.config.experimental.inlineChatCompletionTrigger.enabled 設定を有効にすると、Copilotが現在の行にソースコードではなく主にテキストが含まれていることを検出し、インラインチャットを開始します。

次のビデオは、現在の行に主にテキストがあると検出された後、Copilotがインラインチャットの開始を提案する方法を示しています。

チャットからデバッグを開始する (実験的)

設定: github.copilot.advanced.startDebugging.experimental.enabled

@vscode チャット参加者で、新しい実験的なスラッシュコマンド /startDebugging が利用可能になりました。このコマンドを使用すると、起動構成を作成し、アプリのデバッグを開始できます。

また、launch.jsonを作成する際のクイックピックにある Generate Debug Configuration with GitHub Copilot オプションからこのコマンドにアクセスすることもできます。

Generate Debug Configuration with GitHub Copilot is an option in the Create a launch.json file Quick Pick.

テストカバレッジに基づくテストの生成 (実験的)

設定: github.copilot.chat.experimental.generateTests.codeLens

テストカバレッジ情報が利用可能な場合、GitHub Copilotは、まだテストでカバーされていない関数やメソッドに対して、CodeLens Generate tests using Copilot を提供できます。

言語

「SQL」を「MS SQL」に名前変更

SQLファイルの言語名が、Microsoft SQL Server (T-SQL) の構文に重点を置いていることをより正確に反映させるため、「SQL」から「MS SQL」に変更されました。この言語モードのファイル拡張子は引き続き .sql であり、シンタックスハイライトは変更されません。

vscode.devでのプロジェクト全体のIntelliSenseとパッケージ型定義

VS Code for the WebでのJavaScriptおよびTypeScriptの操作性が大幅に向上しました。まず、パッケージIntelliSenseを実装したため、reactなどのインポートされたパッケージからの提案やドキュメントを表示できるようになりました。これは、デスクトップ版のVS Codeと同様に動作します。

IntelliSense and error reporting for an imported package on vscode.dev.

TypeScriptファイルでは、package.jsonにリストされているパッケージのIntelliSenseを提供します。JavaScriptファイルはもう少し柔軟で、自動型取得を使用するため、package.jsonにリストされていなくても、現在のファイルにインポートされたすべてのパッケージに対してIntelliSenseが提供されます。

パッケージIntelliSenseのおかげで、JavaScriptおよびTypeScriptプロジェクト向けのプロジェクト全体のIntelliSenseも有効になりました。これによりコード内のナビゲーションが大幅に改善され、プロジェクト内の任意のシンボルへの定義に移動すべての参照の検索が正確に行えるようになります。また、型エラーの報告も有効になります。さらに、コード記述時の自動インポートもサポートされるようになりました。

Finding all references of a symbol in a TypeScript project.

パッケージ型定義とプロジェクト全体のIntelliSenseは、Chrome、Microsoft Edge、Firefoxでサポートされています。SafariはReadableByteStreamControllerを実装していないため、まだサポートされていません。

ソース管理

ソース管理グラフビュー

ユーザーからのフィードバックに基づき、前マイルストーンで有効になった履歴グラフをソース管理ビューから、Source Control Graphという新しいビューに移動しました。これによりメインビューの情報過多が軽減され、必要に応じて新しいビューの非表示、折りたたみ、移動が可能になります。また、これはフル機能の履歴グラフの基盤となります。

ソース管理グラフビューには現在、現在のブランチのリモート/ベースが表示されます。次のマイルストーンでは、グラフを任意のレポジトリ参照でフィルタリングする機能の追加と、複数のレポジトリを持つワークスペースの体験の改善に取り組んでいます。

Source Control Graph view showing a graph visualization of the repository.

テーマ: GitHub Sharp (vscode.devでプレビュー)

reftable形式のサポート

Git 2.45では、「reftable」と呼ばれる新しい参照ストレージバックエンドの予備的なサポートが追加されました。今マイルストーンでは、この新しい参照ストレージバックエンドをサポートするように組み込みのGit拡張機能を更新しました。

Git 2.45を使用すると、--ref-format=reftableフラグを指定して、新しい参照ストレージバックエンドを使用するリポジトリを作成またはクローンできます。Git 2.46では、git refs migrateコマンドを使用して既存のリポジトリを新しい参照ストレージ形式に移行するサポートも追加されました。

新しい参照ストレージバックエンドは依然として実験的であるとみなされていることに注意してください。

コンパクトフォルダーの設定

コミュニティの貢献により、変更がツリーとして表示されるときにソース管理ビューでフォルダーをコンパクト形式でレンダリングするかどうかを制御する新しい設定 scm.compactFolders が追加されました。

ターミナル

JuliaおよびNuShellのサポート

JuliaおよびNuShellのシェル統合がサポートされるようになりました。これにより、これらのシェルタイプでコマンドの装飾最近のコマンドの実行などの機能が有効になります。

複数のターミナルタブの移動

複数のターミナルタブを複数選択し、順序付けられたグループとしてターミナルリスト内で移動できるようになりました。

コマンドガイドの設定とカラーテーマ

コマンドガイドは、ホバー時にコマンドとその出力の横に表示されるバーです。terminal.integrated.shellIntegration.showCommandGuide設定を使用してコマンドガイドを無効にできるようになりました。また、色は terminalCommandGuide.foreground テーマキーを使用してテーマで構成できます。

ノートブック

差分ビューでの変更されていないセルの表示または非表示

ノートブックの差分ビューで変更されていないセルが非表示になり、変更されたセルに集中できるようになりました。同時に、変更されていないすべてのセルの入力は常に折りたたまれます。

差分ビューでの空白の管理

ノートブックの差分ビューが次の設定を尊重するようになりました

ノートブックの実行回数のスティッキー・スクロール

コードセルを下にスクロールする際に、コードセルの実行回数が画面の下部に固定されるようになりました。これにより、長いコードセルで作業する際に実行状態を確認しやすくなります。

タスク

プロセス終了時もタスクターミナルを開いたままにする

タスクのターミナルプロセスがゼロ以外のコードで終了した場合、デバッグを容易にするためにターミナルを開いたままにするようになりました。

デバッグ

変数定義へのジャンプ

デバッグ拡張機能で、変数や式をコード内の場所にリンクできるようになりました。このリンクを持つデータは、変数ビュー、ウォッチビュー、およびデバッグコンソールで Ctrl を押しながら選択(macOSでは Cmd を押しながら選択)できます。

組み込みのJavaScriptデバッガーは、コード内で定義された関数の場所をリンクします。他のデバッグ拡張機能がこの機能を有効にするには、対応するプロトコルの変更を採用する必要があります。

検索コントロール

デバッグコンソールで検索コントロール(⌥⌘F (Windows, Linux Ctrl+Alt+F))を開いて、入力内の結果を検索できるようになりました。出力内の結果を検索するサポートについては、今後のマイルストーンで検討予定です。

また、フィルターコントロールの右側にあるデバッグコンソールのツールバーに表示される Debug Console: Focus Find アクションからもコントロールにアクセスできます。

起動構成の入力キャッシュ

起動構成やタスクで使用される入力変数は、最後に入力された値を保持するようになり、それらに依存するデバッグセッションを再実行するプロセスが容易になりました。これは、入力に明示的な default が定義されていない場合にのみ行われます。

JavaScriptデバッガー

実験的なネットワークビュー

JavaScriptデバッガーに、debug.javascript.enableNetworkView設定がオンになっているときに利用できる、基本的な実験的なネットワークビューが含まれるようになりました。このビューには、ブラウザーセッションによって行われたリクエストとレスポンスに関する情報が表示されます。

Screenshot that shows the Network view for the JavaScript debugger. テーマ: Codesong (vscode.devでプレビュー)

ネットワークビューは、nodeの起動構成に "runtimeArgs": ["--experimental-network-inspection"] を追加するなどして、プロセスが引数に --experimental-network-inspection を指定して起動された場合、Node.js 22.6.0以降でも機能します。

注意: Nodeのネットワーキング実装はまだ初期段階であり、リクエストおよびレスポンスに関するデータのほとんどはまだ利用できません。

テスト

メッセージでのスタックトレースのサポート

テスト拡張機能で、テストの失敗にスタックトレースを関連付けられるようになりました。関連付けられると、テスト結果ビューおよびエラーのピーク表示で、コールスタックの各フレーム周辺のコードが表示されます。ビュー内のコードを Ctrl を押しながら選択(macOSでは Cmd を押しながら選択)して元の場所に移動したり、ヘッダーのGo to Fileアクションを使用したりできます。

Editor showing a test failure message and the corresponding call stack that led to the failure. テーマ: Codesong (vscode.devでプレビュー)

インストーラー

Debianパッケージで、packages.microsoft.comリポジトリを追加するかどうかを確認するプロンプトが表示されるようになりました。これにより、後からaptを使用してパッケージを更新できるようになります。

Terminal showing the prompt for adding the Microsoft packages repo during the install.

リモート開発

リモート開発拡張機能を使用すると、Dev Container、SSH 経由のリモートマシン、またはリモートトンネル、あるいはWindows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。

ハイライト

  • Dev Containerテンプレートのオプションパス
  • SSHを使用したリモートOSの互換性の拡張

これらの機能の詳細については、リモート開発のリリースノートをご覧ください。

Web 版 VS Code

https://vscode.dev またはデスクトップ上でGitHub Repositories拡張機能を使用してGitHubリポジトリを閲覧する際、git.openDiffOnClick設定が尊重されるようになりました。

Open diff by selecting Open Changes for changed resources.

拡張機能への貢献

Python

Django単体テストのサポート

最も要望の多かった機能の1つであるサポートを発表できることを嬉しく思います。テストエクスプローラーからDjangoの単体テストの検出と実行ができるようになりました!この機能を有効にするための設定手順については、ドキュメントをご確認ください

Django unit tests discovered and run in the Test Explorer. テーマ: Catppuccin Macchiato (vscode.devでプレビュー)

この新機能をお試しいただき、フィードバックの提供や、vscode-pythonリポジトリまたはPython: Report Issueコマンドを使用した問題の報告をお願いいたします。

ネイティブREPLの改善

新しいネイティブREPL体験に対して、さらなる改善とバグ修正を行いました。実験として、ネイティブREPLをスマートセンドのデフォルトターゲットとして展開していますが、お試しになりたい場合は、ユーザーの settings.jsonpython.REPL.sendToNativeREPL を設定し、VS Codeウィンドウを再読み込みしてください。

Pylanceを使用したインレイヒントからの定義へのジャンプ

Pylanceでインレイヒントが有効になっている場合、型にホバーして Ctrl(macOSでは Cmd)を押しながらクリックすることで、型の定義に一層便利に移動できるようになりました。

Go to Definition supported by using Ctrl/Cmd + click when hovering over a Python type on an inlay hint.

テストのデバッグ時の再起動サポート

デバッグツールバーコントロールを使用して、テストのデバッグ時にデバッガーを再起動できるようになりました。

GitHub Pull Requests and Issues

プルリクエストやIssueの作成、管理、作業を可能にするGitHub Pull Requests拡張機能の進捗がありました。ハイライトについては、拡張機能のバージョン0.96.0の変更履歴をご確認ください。

拡張機能の作成

VS CodeのECMAScriptモジュール(ESM)ローディングの影響

VS Codeコアにおけるコードのロード方法を、AMD/CommonJSからESMに変更する作業を進めています。拡張機能は引き続きCommonJSとしてロードされますが、この変更に伴い require メソッドに変更が加わります。具体的には、1.94リリース以降、require.mainundefined になります。インストールディレクトリからファイルにアクセスするユースケースがある場合は、代わりに vscode.env.appRoot の使用を検討するか、お問い合わせください

ターミナルシェル統合API

ターミナルシェル統合APIが利用可能になりました。この強力なAPIにより、拡張機能はターミナルで実行されたコマンドをリッスンし、その生の出力、終了コード、コマンドラインを読み取ることができます。

window.onDidEndTerminalShellExecution(event => {
  if (event.execution.commandLine.value.startsWith('git')) {
    if (event.exitCode === 0) {
      // React to a successful git command
    } else {
      // React to a failing git command
    }
  }
});

また、コマンドを実行するためのより信頼性の高い方法を提供し、コマンド送信前にプロンプトの開始を待機するため、コマンドがターミナルに余分にエコーされるのを防ぎます。

const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
  const execution = shellIntegration.executeCommand({ commandLine });
  window.onDidEndTerminalShellExecution(event => {
    if (event.execution === execution) {
      console.log(`Command exited with code ${event.exitCode}`);
    }
  });
} else {
  term.sendText(commandLine);
  // Without shell integration, we can't know when the command has finished or what the
  // exit code was.
}

詳細については、vscode.d.ts のAPIおよび拡張機能のサンプルを参照してください。

認証アカウントAPI

認証APIで、複数のアカウントを処理する際により細かい制御ができるようになりました。これまで欠けていた機能として、すべてのアカウントを取得し、特定のアカウントの AuthenticationSession を取得する機能がありました。getAccounts APIの完成により、それが可能になりました。

認証セッションを利用したい拡張機能の開発者は、次のコードを実行して、ユーザーがログインしているアカウントの AuthenticationSessionAccountInformation を取得できます

const accounts = vscode.authentication.getAccounts('microsoft');

そこから、それらのアカウントを使用して、特定のアカウント向けのセッションを発行することができます

const session = vscode.authentication.getSession('microsoft', scopes, {
  account: accounts[0]
});

注意: これを機能させるには、認証プロバイダーが getSessionscreateSession の両方に渡されるパラメータを処理する必要があります。組み込みのGitHubおよびMicrosoftプロバイダーはすでにこれを取り入れています。

これが、複数の認証セッションを処理し、これまでサポートできなかったさまざまなシナリオを処理する最も明確な方法であると考えています。

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

ソースの場所を関連付けられるようにするため、デバッグアダプタープロトコル の変数やその他のデータ型に locationReferences を追加しました。

VS CodeにおけるWebAssembly

wasm-wasi-core 拡張機能の1.0バージョンが、@vscode-wasm-wasi および @vscode/wasm-component-model npmモジュールとともにリリースされました。使用方法のサンプルは、vscode-extension-samplesリポジトリの wasm-* サブフォルダーにあります。また、VS Codeブログには、VS Code拡張機能内でWebAssemblyコードを使用する方法についてのいくつかの投稿もあります。

プレビュー機能

ターミナルIntelliSenseの改善

実験的なPowerShell IntelliSenseについて、今回のリリースで以下の改善が行われました

  • git checkout に、前のブランチに切り替えるための - の補完が含まれるようになりました。
  • terminal.integrated.suggest.runOnEnter のデフォルト値が ignore に設定されるようになりました。これは、Enter がIntelliSenseとまったく干渉しなくなることを意味します。これは、筋肉記憶への影響が大きすぎると感じたユーザーからのフィードバックに基づくものです。
  • コマンド(引数ではなく)の補完としてPowerShellキーワードが利用できるようになりました。
  • cd の最初のディレクトリの提案が常に自分自身になるようになり、terminal.integrated.suggest.runOnEnter が設定されている場合の操作がスムーズになりました。 cd into docs will present docs as the top result.
  • コマンドライン上の異なる位置で要求されたときの提案が一貫性を持つようになりました。
  • ディレクトリを戻る際に <path>/../ の補完が提供されます。 cd .. will give a suggestion for .....

製品にConptyが同梱されるように

Conptyは、他のオペレーティングシステムでの疑似端末の動作をエミュレートするターミナルのバックエンドです。このコンポーネントはWindows自体に同梱されているため、バグ修正はWindows Updateを通じてリリースされます。ユーザーはこれらの修正が届くまでに長い時間を待たなければならないことがありました。

今回のリリースでは、Windows Terminalと同様に、conptyをVS Code自体にバンドルする実験的な設定が用意されています。これにより、ユーザーはWindowsのアップデートを待たずに、VS Codeのアップデートの配信に合わせてバグ修正を受け取ることができます。

これを有効にするには、次の設定を true に設定します

"terminal.integrated.experimental.windowsUseConptyDll": true

これを有効にすることで期待できる改善の種類は次のとおりです

  • パフォーマンスの向上
  • より信頼性の高いシェル統合
  • より多くのエスケープシーケンスのサポート(例:間もなくWindowsでのsixelサポート)

現在知られている唯一の問題は、一部のユーザーでプロセスが残り続けてVS Codeのアップデートをブロックしてしまうケースがあることであり(microsoft/vscode#225719)、アップデートを有効にするにはプロセスを手動で終了させる必要があります。

TypeScript 5.6のサポート

近日リリース予定のTypeScript 5.6のサポートを引き続き改善しました。このリリースに含まれるものの詳細については、TypeScript 5.6 RCのブログ記事をご覧ください。

TypeScript 5.6のプレビュービルドの使用を開始するには、TypeScript Nightly拡張機能をインストールしてください。

新しい問題レポーターの実装

今マイルストーンでは、問題レポーターの新しい実装を実験しています。機能は同じですが、マルチモニターのサポート向上や、VS Code for the Webでの問題レポーターの利用可能化など、いくつかの改善が含まれています。

新バージョンの問題レポーターはデフォルトで有効になっており、VS Codeのデスクトップ版では issueReporter.experimental.auxWindow 設定で構成できます。

提案API

言語モデルのツール

LanguageModelTool APIの反復改良を続けています。このAPIには2つの主要な部分があります

  1. 拡張機能がツールを登録する機能。ツールとは、言語モデルによって使用されることを目的とした機能の単位です。例えば、ファイルのGit履歴の読み取りなどです。

  2. 拡張機能がリクエスト時にツールを渡す、言語モデルがツールの呼び出しを要求する、拡張機能がツールの呼び出しの結果を返すといった、言語モデルがツールをサポートするための仕組み。

今月追加された変更の1つは、ユーザーが特定のツールをチャットリクエストに手動で添付できる機能です。これの例としては、ユーザーがリクエストで使用したい動的なコンテキストを計算するツールがあります。

提案内容は vscode.proposed.lmTools.d.ts にあります。ツールの登録と呼び出しを示す tool-user サンプル拡張機能をご確認ください。

更新情報の確認やフィードバックの提供には、issue #213274 をウォッチしてください。

注意: APIはまだ活発に開発中であり、変更される可能性があります。

テストの機能強化

コードとテストの関連付け

拡張機能がコードをテストに関連付け、その逆も可能にするAPIに取り組んでいます。これにより、ユーザーは両者の間をジャンプできるようになり、Run Tests at Cursor などのアクションを実装コード内でも機能させることができます。APIの発展に伴い、さらに多くの体験を構築することを予定しています。

詳細と更新情報については、vscode#126932 をご確認ください。

属性付け可能なテストカバレッジ

テストごとにテストカバレッジを帰属させるためのAPIに取り組んでいます。これにより、ユーザーはどのテストがどのコードを実行したかを確認でき、エディターに表示されるカバレッジとTest Coverageビューの両方をフィルタリングできるようになります。

詳細と更新情報については、vscode#212196 をご確認ください。

チャット参加者検出API

チャットビューに参加者やチャットコマンドを提供する拡張機能を開発している場合は、package.jsonchatParticipants 貢献にメタデータを追加することで、参加者やコマンドが自動的に検出されるようにすることができます。このAPIの採用方法のを含むように vscode-extension-samples リポジトリを更新しました。テストする際は、必ず chat.experimental.detectParticipant.enabled を設定してください。これは変更される可能性のある提案段階のAPIであることに注意してください。

ウェブサイト

VS Code API ページ内のいくつかのリンクを修正しました。ジェネリック型や関数へのリンクが再び機能するようになり、プリミティブ型や値がリンクとしてフォーマットされなくなりました!

エンジニアリング

VS CodeでのESM使用に向けた進捗

今マイルストーンの期間中、VS CodeコアへのESM採用に向けた作業の大半を完了しました。私たちの目標は、ECMAScriptモジュール(ESM)のローディングを使用し、AMDを完全に廃止することです。9月にESMが有効なInsiderビルドのリリースを開始し、10月の次期リリースでStable版にESMを出荷する予定です。

ESMリリースの計画は https://github.com/microsoft/vscode/issues/226260 に記載されています。

注目すべき修正

ありがとうございます

最後になりましたが、VS Code への貢献者の方々に心から感謝いたします。

イシュートラッキング

イシュートラッキングへの貢献

プルリクエスト

vscodeへの貢献

vscode-css-languageserviceへの貢献

vscode-eslint への貢献

vscode-flake8 への貢献

vscode-generator-codeへの貢献

vscode-hexeditorへの貢献

vscode-isort への貢献

vscode-js-profile-visualizer への貢献

vscode-json-languageservice への貢献

vscode-languageserver-nodeへの貢献

vscode-loader への貢献

vscode-mypy への貢献

vscode-pull-request-github への貢献

  • @jmg-duarte (José Duarte)
    • 差分にエディターのフォントを使用する PR #6148
    • コードブロックがデフォルトでエディターのフォントファミリーを使用するようにする PR #6149

vscode-python-debugger への貢献

vscode-vsceへの貢献

language-server-protocolへの貢献

python-environment-tools への貢献

© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.