に参加して、VS Code の AI 支援開発について学びましょう。

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

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

ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | Linux: deb rpm tarball Arm snap


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

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comアップデート をご覧ください。インサイダー: 新機能をいち早く試したいですか?夜間の インサイダー ビルドをダウンロードして、最新の更新プログラムが利用可能になり次第すぐに試すことができます。

アクセシビリティ

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

新しいコマンドlist.resizeColumnにより、キーボードを使って列をリサイズできます。このコマンドをトリガーすると、リサイズしたい列を選択し、設定したい幅のパーセンテージを入力します。以下のビデオでは、これをキーボードショートカットエディターで列をリサイズする方法を示しています。

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

スクリーンリーダーのユーザーが、ariaアラートではなく、シンセサイザーによってチャット応答が読み上げられるようにオプトインできるように、accessibility.voice.autoSynthesize設定を更新しました。

デバッグの改善

エディターにフォーカスがある状態でデバッグしているときに、デバッグ: ウォッチに追加コマンドを呼び出すと、スクリーンリーダーユーザーに変数の値が読み上げられるようになりました。

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

Workbench

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

新しいプロファイルエディターがVisual Studio Codeのすべてのユーザーに一般提供されるようになりました。新しいプロファイルエディターを使用すると、プロファイルを一元的に管理できます。このエクスペリエンスには、新しいプロファイルの作成、既存のプロファイルの編集と削除、および他のユーザーと共有するためのプロファイルのインポートとエクスポートが含まれます。詳細については、プロファイルドキュメントを参照してください。

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

電球アイコンの改善

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

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

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

GitHub Copilot

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

テスト生成の改善

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

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

テストとドキュメント生成のコードアクションの名称変更

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

New code action names for test and documentation generation

チャット履歴の改善

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

これらのチャット履歴エントリは、最後の要求日でソートされ、日付バケットでラベル付けおよびグループ化されるようになりました。

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

注: 新しいチャットセッションのみがAI生成の名前を取得し、既存のチャットセッションは名前変更されません。

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

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

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

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

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

低評価フィードバックの詳細

Copilotチャットから期待どおりではない応答を受け取りましたか?チャット応答のツールバーにある低評価ボタンを選択して、私たちを助けてください。これで、問題の詳細を説明するためのいくつかの詳細オプションを含むドロップダウンが表示されます。このメニューから問題レポーターを開くこともできます。

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はコードを記述する代わりにプロンプトを出していることを検出し、自動的にインラインチャットを開始できます。

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

  • コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P))からインラインチャット: 現在の行でエディターを開始を入力します。
  • inlineChat.startWithCurrentLineコマンドのキーバインドを設定し、inlineChatExpansionコンテキストキーと組み合わせます。
  • github.copilot.config.experimental.inlineChatCompletionTrigger.enabled設定を有効にして、Copilotが現在の行にソースコードではなくほとんどテキストがあることを検出し、インラインチャットを開始するようにします。

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

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

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

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

このコマンドは、「launch.jsonを作成」クイックピックの「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「Copilotを使用してテストを生成」を提供できます。

言語

"SQL" を "MS SQL" に名称変更

SQLファイルの言語名が「SQL」から「MS SQL」に名称変更され、Microsoft SQL Server (T-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 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)) で検索コントロールを開き、入力内の結果を検索できるようになりました。出力内の結果の検索サポートは、今後のマイルストーンで調査されます。

コントロールは、デバッグコンソールのツールバーのフィルターコントロールの右側に表示されるアクションデバッグコンソール: 検索にフォーカスからもアクセスできます。

起動構成入力キャッシュ

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

JavaScriptデバッガー

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

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

JavaScriptデバッガーのネットワークビューを示すスクリーンショット。 テーマ: Codesong (vscode.devでプレビュー)

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

: Nodeのネットワークの実装はまだ非常に初期段階であり、要求と応答に関するほとんどのデータはまだ利用できません。

テスト

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

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

テスト失敗メッセージと、失敗につながった対応するコールスタックを示すエディター。 テーマ: Codesong (vscode.devでプレビュー)

インストーラー

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

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

リモート開発

リモート開発拡張機能を使用すると、開発コンテナー、SSH 経由のリモートマシン、リモートトンネル、またはWindows 用 Linux サブシステム (WSL) をフル機能の開発環境として使用できます。

主なハイライトは次のとおりです。

  • 開発コンテナテンプレートのオプションパス
  • SSHによるリモートOSの互換性拡張

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

Web 用 VS Code

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

Open diff by selecting Open Changes for changed resources.

拡張機能への貢献

Python

Django単体テストのサポート

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

テストエクスプローラーで発見され、実行されたDjango単体テスト。 テーマ: Catppuccin Macchiato (vscode.devでプレビュー)

この新しく追加された機能を試しながら、フィードバックを提供し、問題があればvscode-pythonリポジトリまたはPython: 問題を報告コマンドを使用して報告してください。

ネイティブ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

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プロバイダーは既にこれを採用しています。

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

Debug Adapter Protocol

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

VS CodeでのWebAssembly

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

プレビュー機能

ターミナルIntelliSenseの改善

実験的なPowerShell IntelliSenseは、このリリースで以下の改善が行われました。

  • git checkoutに、以前のブランチに切り替えるための-の補完が含まれるようになりました。
  • terminal.integrated.suggest.runOnEnterのデフォルト値がignoreに設定され、EnterがIntelliSenseと全く対話しないようになりました。これは、筋肉の記憶への影響が大きすぎると感じたユーザーからのフィードバックでした。
  • PowerShellキーワードがコマンド (引数ではない) の補完として利用可能になりました。
  • cdの最初のディレクトリ提案が常にそれ自体になり、terminal.integrated.suggest.runOnEnterが設定されている場合にスムーズになりました。 cd docsは、docsを上位の結果として表示します。
  • コマンドラインの異なる位置で要求された場合の提案の一貫性が向上しました。
  • ディレクトリを戻る際に/../の補完が提供されます。 cd ..\ は ..\..\ の提案を与えます。

製品に組み込まれたConpty

Conptyは、他のオペレーティングシステムで擬似ターミナルが機能する方法をエミュレートするターミナルのバックエンドです。このコンポーネントはWindows自体に搭載されており、バグ修正はWindows Updateを通じてリリースされます。ユーザーはこれらの修正が到着するまでに長い間待つことになるかもしれません。

このリリースでは、Windows Terminalと同様に、conptyをVS Code自体にバンドルする実験的な設定があります。これにより、ユーザーはWindows Updateを待つ代わりに、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拡張機能をインストールしてください。

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

このマイルストーンでは、問題レポーターの新しい実装を実験しています。機能は変わりませんが、マルチモニターサポートの改善や、Web版VS Codeでの問題レポーターの利用可能性など、いくつかの改善点があるはずです。

新しいバージョンの問題レポーターはデフォルトで有効になっており、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を開発中です。これにより、ユーザーは両方を切り替えることができ、カーソル位置でテストを実行などのアクションも実装コードで機能するようになります。APIの進化に合わせて、さらなるエクスペリエンスを構築する予定です。

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

属性付きテストカバレッジ

テストごとにテストカバレッジを属性付けするためのAPIを開発中です。これにより、ユーザーはどのテストがどのコードを実行したかを確認でき、エディターに表示されるカバレッジとテストカバレッジビューの両方をフィルターできます。

詳細と更新情報については、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月のリリースでESMをStable版に出荷する予定です。

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 site is unofficial and not affiliated with Microsoft.