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

2025年2月 (バージョン 1.98)

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

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

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


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

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

GitHub Copilot

Copilot の機能は、さまざまな早期アクセス段階を経る可能性があり、通常は設定を通じて有効化および構成されます。

段階 説明
実験的 この機能はまだ開発中であり、一般使用にはまだ準備ができていません。
実験的な機能 (@tag:experimental) を表示します。
プレビュー この機能はまだ改良中ですが、すぐに使用できます。フィードバックを歓迎します。
プレビュー機能 (@tag:preview) を表示します。
安定版 この機能は一般使用可能です。

Copilot Edits

エージェントモードの改善 (実験的)

先月、VS Code Insiders で Copilot Edits のエージェントモードを導入しました。エージェントモードでは、Copilot がワークスペース内の関連コンテキストを自動的に検索し、ファイルを編集し、エラーをチェックし、ターミナルコマンドを実行して (許可を得て)、タスクをエンドツーエンドで完了することができます。

: エージェントモードは現在 VS Code Insiders で利用可能であり、VS Code Stable で徐々に展開を開始しました。エージェントモードが有効になると、Copilot Edits ビューにモードドロップダウンが表示されます。単にエージェントを選択してください。

今月、ツールの使用に関する UX をいくつか改善しました。

  • ターミナルコマンドがインラインで表示されるようになり、どのコマンドが実行されたかを追跡しやすくなりました。
  • ターミナルコマンドを実行する前に、チャット応答で提案されたターミナルコマンドを編集できます。
  • ⌘Enter (Windows, Linux Ctrl+Enter) ショートカットでターミナルコマンドを確定します。

エージェントモードは、関連コンテキストをコードベースで自律的に検索します。メッセージを展開して、実行された検索結果を確認してください。

Screenshot that shows the expandable list of search results in Copilot Edits.

また、エージェントモードのプロンプトと動作にもさまざまな改善を加えました。

  • チャットの元に戻す (undo) およびやり直し (redo) アクションは、チャット応答で行われた最後のファイル編集を元に戻すかやり直すようになりました。これにより、モデルが行った特定のステップをチャット応答全体をロールバックすることなく元に戻すことができるため、エージェントモードで役立ちます。
  • エージェントモードは、ビルドタスクを自動的に、または指示があったときに実行できるようになりました。モデルが実行すべきでないときにタスクを実行しているのを見かけた場合は、github.copilot.chat.agent.runTasks 設定でこの機能を無効にしてください。

Copilot Edits エージェントモードの詳細については、またはエージェントモードの発表ブログ投稿をお読みください。

: Copilot Business または Enterprise ユーザーの場合、エージェントモードを利用するには、組織の管理者が Copilot 「エディタープレビュー機能」の使用を有効にする必要があります。

Copilot Edits でのノートブックサポート (プレビュー)

VS Code Insiders でのプレビュー機能として、Copilot Edits でノートブックのサポートを導入しています。コードファイルを編集するのと同じ直感的な体験で、Copilot を使用してノートブックファイルを編集できるようになりました。ゼロから新しいノートブックを作成したり、複数のセルにわたってコンテンツを変更したり、セルを挿入したり削除したり、セルタイプを変更したりできます。このプレビュー機能は、データサイエンスまたはドキュメントノートブックを扱う際にシームレスなワークフローを提供します。

: この機能は現在、GitHub Copilot Chat のプレリリース版がインストールされた VS Code Insiders でのみ利用可能です。将来のリリースで VS Code Stable に導入する前に、エクスペリエンスを改善し続けます。

洗練されたエディター統合

Copilot Edits とコードおよびノートブックエディターの統合を洗練しました。

  • 変更が適用されている間、スクロールが不要になりました。ビューポートは元の位置に留まり、変更内容に集中しやすくなりました。
  • 編集レビューアクションの名前を「承諾」から「維持」に、「破棄」から「元に戻す」に変更し、何が起こっているかをより正確に反映させました。Copilot Edits の変更はライブであり、作成と同時に適用および保存され、ユーザーはそれを維持または元に戻します。
  • ファイルを維持または元に戻した後、次のファイルが自動的に表示されます。

このビデオは、編集がどのように適用され、発生と同時に保存されるかを示しています。ライブプレビューが更新され、ユーザーは変更を「維持」することに決定しました。元に戻すことや、さらに調整することも可能です。

刷新されたUI

Copilot Edits と Copilot Chat の統一に向けて、Copilot Edits の外観を刷新しました。添付されたがまだ送信されていないファイルは、通常のチャット添付ファイルとして表示されるようになりました。AI によって変更されたファイルのみが、チャット入力部分の上にある変更済みファイルリストに追加されます。

chat.renderRelatedFiles 設定を使用すると、関連ファイルの候補を取得できるようになります。関連ファイルの候補は、チャット添付ファイルの下に表示されます。

Screenshot that shows the updated Copilot Edits attachments and changed files user experience.

Copilot Edits の制限を解除

以前は、Copilot Edits でプロンプトに添付できるファイルは 10 個に制限されていました。このリリースでは、この制限を解除しました。さらに、10 分あたり 14 回のインタラクションというクライアント側のレート制限も解除しました。

サービス側の使用量レート制限は引き続き適用されることに注意してください。

カスタム命令の一般提供

設定: github.copilot.chat.codeGeneration.useInstructionFiles

カスタム命令を使用すると、GitHub Copilot がチャット応答とコード候補を、あなたとあなたのチームの作業方法に合わせて提供するように調整できます。ワークスペース内の .github/copilot-instructions.md ファイルに、Markdown 形式で具体的な要件を記述してください。

このマイルストーンで、.github/copilot-instructions.md を使用したカスタム命令を一般提供します。github.copilot.chat.codeGeneration.useInstructionFiles VS Code 設定が有効になっていることを確認してください。そうすれば、Copilot は応答を生成する際にこれらの命令を使用します。

Copilot のカスタム命令の詳細については、こちらをご覧ください。

チャットでの認証フローをよりスムーズに

ソースコードを GitHub リポジトリでホストしている場合、高度なコード検索、@github チャット参加者などの機能を活用できます!

ただし、プライベートな GitHub リポジトリの場合、VS Code は GitHub 上のリポジトリとやり取りする権限が必要です。以前は、特定の機能 (例えば、@workspace@github に質問したり、#codebase ツールを使用したり) を呼び出したときにモーダルダイアログが表示される、通常の VS Code 認証フローでこれが提示されていました。

このエクスペリエンスをよりスムーズにするために、チャットにこの確認を導入しました。

Screenshot that shows the authentication confirmation dialog in Chat, showing the three options to continue.

モーダルダイアログほど耳障りではないだけでなく、新しい機能も備わっています。

  1. 付与: 以前と同様に通常の認証フロー (モーダル経由) が行われます。
  2. 今はしない: VS Code はあなたの選択を記憶し、次の VS Code ウィンドウセッションまで再度表示しません。ただし、@github のように、機能がこの追加の権限を必要とする場合は例外です。
  3. 今後尋ねない: VS Code はあなたの選択を記憶し、github.copilot.advanced.authPermissions 設定を通じて永続化します。この追加の権限を必要とする機能は失敗します。

この確認は、Copilot (サービス) がリポジトリにアクセスすることを承認または拒否するものではないことに注意することが重要です。これは、VS Code の Copilot エクスペリエンスが認証する方法にすぎません。Copilot がアクセスできるものを設定するには、コンテンツ除外に関するドキュメントをお読みください。

Copilot Chat でのより高度なコードベース検索

設定: github.copilot.chat.codesearch.enabled

Copilot Chat クエリに #codebase を追加すると、Copilot がチャットプロンプトに関連するコードをワークスペース内で見つけるのに役立ちます。#codebase は、テキスト検索やファイル検索などのツールを実行して、ワークスペースから追加のコンテキストを取り込むことができるようになりました。

github.copilot.chat.codesearch.enabled を設定して、この動作を有効にします。ツールの完全なリストは次のとおりです。

  • 埋め込みベースのセマンティック検索
  • テキスト検索
  • ファイル検索
  • Git 変更済みファイル
  • プロジェクト構造
  • ファイルの読み取り
  • ディレクトリの読み取り
  • ワークスペースシンボル検索

問題をチャットコンテキストとして添付

ワークスペース内のコードやその他の問題を修正するために、[問題] パネルからチャットに問題をコンテキストとして添付できるようになりました。

[問題] パネルからチャットビューにアイテムをドラッグするか、プロンプトに #problems と入力するか、紙クリップ 📎 ボタンを選択します。特定のファイル内の特定の問題、すべての問題、またはコードベース内のすべてのファイルを添付できます。

フォルダーをコンテキストとして添付

以前は、エクスプローラービューからドラッグアンドドロップを使用してフォルダーをコンテキストとして添付できました。今回、紙クリップ 📎 アイコンを選択するか、チャットプロンプトに #folder: の後にフォルダー名を入力することでもフォルダーを添付できるようになりました。

次回の編集候補の折りたたみモード (プレビュー)

設定:

NES に折りたたみモードを追加しました。このモードを有効にすると、左側のエディター余白に NES 候補インジケーターのみが表示されます。Tab キーを押して移動した場合にのみ、コード候補自体が表示されます。候補が受け入れられるまで、連続する候補がすぐに表示されます。

折りたたみモードはデフォルトで無効になっており、editor.inlineSuggest.edits.showCollapsed を設定することで有効にできます。または、NES ガッターインジケーターメニューで有効/無効を切り替えることができます。

Screenshot that shows the Next Edit Suggestions context menu in the editor left margin, highlighting the Show Collapsed option.

補完モデルの変更

Copilot Chat および Copilot Edits の言語モデルはすでに変更できましたが、インライン候補のモデルも変更できるようになりました。

または、コマンドパレットの補完モデルの変更コマンド、またはタイトルバーの Copilot メニューのコード補完の設定項目から、コード補完に使用されるモデルを変更することもできます。

注: 利用可能なモデルのリストは時間の経過とともに変化する可能性があります。Copilot Business または Enterprise ユーザーの場合、管理者は GitHub.com のCopilot ポリシー設定で「Editor Preview Features」をオプトインすることで、組織に対して特定のモデルを有効にする必要があります。

モデルの可用性

このリリースでは、Copilot を使用する際に選択できるモデルを追加しました。Visual Studio Code と github.com チャットのモデル選択器で、以下のモデルが利用可能になりました。

  • GPT 4.5 (プレビュー): OpenAI の最新モデルである GPT-4.5 が、GitHub Copilot Chat で Copilot Enterprise ユーザーに利用可能になりました。GPT-4.5 は、直感、文章スタイル、幅広い知識において高度な機能を備えた大規模言語モデルです。GPT-4.5 モデルの利用可能性に関する詳細については、GitHub ブログの投稿をご覧ください。

  • Claude 3.7 Sonnet (プレビュー): Claude 3.7 Sonnet が、有料の Copilot プランをご利用のすべてのお客様に利用可能になりました。この新しい Sonnet モデルは、Copilot の思考モードと非思考モードの両方をサポートしています。初期テストでは、エージェントシナリオにおいて特に大きな改善が見られました。Claude 3.7 Sonnet モデルの利用可能性に関する詳細については、GitHub ブログの投稿をご覧ください。

Copilot Vision (プレビュー)

このバージョンの Copilot Chat では、エンドツーエンドのビジョンサポートを迅速に展開しています。これにより、チャットプロンプトで画像を添付したり、画像とやり取りしたりすることができます。たとえば、デバッグ中にエラーが発生した場合、VS Code のスクリーンショットを添付し、Copilot に問題の解決を依頼することができます。また、UI モックアップを添付して、Copilot にモックアップを実装するための HTML と CSS を提供させることもできます。

Animation that shows an attached image in a Copilot Chat prompt. Hovering over the image shows a preview of it.

画像を添付する方法は複数あります。

  • OSまたはエクスプローラービューから画像をドラッグ&ドロップする
  • クリップボードから画像を貼り付ける
  • VS Code ウィンドウのスクリーンショットを添付する (紙クリップ 📎 ボタン > スクリーンショットウィンドウを選択)

現在選択されているモデルがそのファイルタイプを処理する能力を持っていない場合、警告が表示されます。現在サポートされているモデルは GPT 4o のみですが、Claude 3.5 Sonnet および Gemini 2.0 Flash による画像添付のサポートもまもなく開始されます。現在、サポートされている画像タイプは JPEG/JPGPNGGIF、および WEBP です。

Copilot ステータス概要 (実験的)

設定: chat.experimental.statusIndicator.enabled

私たちは、Copilot のステータスと主要なエディター設定の概要を素早く提供する、新しい集中型の Copilot ステータス概要を実験しています。

  • Copilot Free ユーザーの場合のクォータ情報
  • コード補完などのエディター関連設定
  • その他の Copilot 機能を使用するための便利なキーボードショートカット

この Copilot ステータス概要は、ステータスバーの Copilot アイコンからアクセスできます。

Screenshot that shows the Copilot status overview in the Status Bar.

chat.experimental.statusIndicator.enabled 設定で Copilot ステータス概要を有効にします。

インライン補完のための TypeScript コンテキスト (実験的)

設定: chat.languageContext.typescript.enabled

TypeScript ファイルのインライン補完および /fix コマンドの強化されたコンテキストを実験しています。この実験は現在、Insider リリースに限定されており、chat.languageContext.typescript.enabled 設定で有効にできます。

プルリクエストのタイトルと説明のカスタム指示

github.copilot.chat.pullRequestDescriptionGeneration.instructions の設定で、プルリクエストのタイトルと説明を生成するためのカスタム指示を提供できます。設定でワークスペース内のファイルを指定することも、設定でインラインで指示を提供することもできます。VS Code で Copilot をカスタマイズすることに関する詳細をご覧ください。

次のサンプルは、設定でカスタム指示をインラインで提供する方法を示しています。

{
  "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
    {
      "text": "Prefix every PR title with an emoji."
    }
  ]
}

タイトルと説明の生成には、GitHub Pull Requests 拡張機能がインストールされている必要があります。

アクセシビリティ

Copilot Edits アクセシビリティ

Copilot Edits のアクセシビリティを大幅に向上させました。

  • 変更のあるファイルや変更された領域 (挿入、変更、削除) に対して、音声信号が追加されました。
  • アクセシブルな差分ビューアが変更されたファイルで利用可能になりました。差分エディターと同様に、F7 を選択して有効にするだけです。

activeEditorState ウィンドウタイトル変数

新しいwindow.title変数、activeEditorStateが追加されました。これは、スクリーンリーダーユーザーに対して、変更状態、問題数、ファイルに保留中のCopilot Editsがあるかどうかなどのエディター情報を示します。スクリーンリーダー最適化モードの場合、これはデフォルトで追加され、accessibility.windowTitleOptimizedで無効にできます。

Workbench

Linux のカスタムタイトルバー

カスタムタイトルバーが Linux でデフォルトで有効になりました。カスタムタイトルバーを使用すると、レイアウトコントロール、Copilot メニューなどにアクセスできます。

Screenshot that shows the custom VS Code title bar on Linux.

カスタムタイトルコンテキストメニューから、またはwindow.titleBarStylenativeに設定することで、いつでもネイティブタイトルデコレーションに戻すことができます。

Screenshot that shows the content menu option to disable the custom title bar on Linux.

このエクスペリエンスに対する継続的なフィードバックを歓迎し、既存のフィードバックに基づいて将来のマイルストーンに向けて改善に取り組んでいます。

セカンダリサイドバービューのラベルを使用

パネル領域と同様に、セカンダリサイドバーのビューの表示をアイコンの代わりにラベルを表示するように変更することにしました。これにより、Copilot EditsCopilot Chat ビューなど、異なるビューを区別しやすくなります。workbench.secondarySideBar.showLabels を設定することで、いつでもアイコン表示に戻すことができます。

Screenshot that shows Secondary Side Bar with labels instead of icons.

新しい設定エディターキーマッチングアルゴリズム (プレビュー)

設定: workbench.settings.useWeightedKeySearch

より関連性の高いキーの一致を優先する、新しい設定エディター検索アルゴリズムを追加しました。この検索アルゴリズムは、以前よりも多くの方法で設定 ID とラベルを一致させようとしますが、結果を絞り込み、最適な一致タイプのみが表示されるようにします。

workbench.settings.useWeightedKeySearch 設定を有効にすることで、このプレビュー機能を試すことができます。

テーマ: Light Pink (vscode.dev でプレビュー)

シンプルなファイルピッカーでドットファイルを非表示にするオプション

シンプルなファイルピッカー (リモートに接続している場合、またはfiles.simpleDialog.enableを使用している場合) を使用している場合、ドットファイルの表示/非表示ボタンを使用してドットファイルを非表示にできるようになりました。

Screenshot that shows the simple file picker, highlighting the button to show or hide dot files.

Editor

ピーク参照のドラッグ&ドロップサポート

ピークビューがドラッグ&ドロップをサポートするようになりました。参照をピーク実装をピーク、またはその他のピークコマンドを呼び出し、そのツリーからエントリをドラッグして、個別のエディターとして開きます。

テーマ: GitHub Light Colorblind (Beta) (vscode.devでプレビュー)

出現箇所のハイライト遅延

エディター内での出現箇所のハイライトの遅延が、デフォルトで 0 に設定されました。これにより、エディター全体の応答性が向上します。遅延は、editor.occurrencesHighlightDelay 設定で引き続き制御できます。

ソース管理

更新されたビュータイトル

ソース管理グラフビューをソース管理ビューに追加したとき、「ソース管理リポジトリ」、「ソース管理」、「ソース管理グラフ」というセクションタイトルの重複が強調されました。このマイルストーンでは、ビューのタイトルを見直し、短くし、ビュータイトルを重複させないようにしました。「リポジトリ」、「変更」、「グラフ」となります。

トラッキングされていない変更の破棄の改善

設定: git.discardUntrackedChangesToTrash

長年にわたり、トラッキングされていないファイルを破棄するとファイルが完全に削除されるため、データ損失に関する複数の報告を受けてきました。VS Code はファイルが完全に削除されることを明確に示すモーダルダイアログを表示するにもかかわらずです。

このマイルストーンから、トラッキングされていないファイルを破棄すると、可能な場合はファイルがごみ箱/ゴミ箱に移動されるようになり、簡単にファイルを回復できるようになります。この機能は、git.discardUntrackedChangesToTrash 設定を使用して無効にすることができます。

Screenshot of the modal dialog shown when discarding an untracked file.

診断コミットフック (実験的)

設定:

このマイルストーンで、変更されたファイルに未解決の診断がある場合にプロンプトを表示する新しいコミットフックを導入しました。これは現在実験的な機能であり、git.diagnosticsCommitHook.Enabled 設定を使用して有効にできます。

デフォルトでは、コミットフックはエラーレベルの診断についてプロンプトを表示しますが、診断ソースとレベルはgit.diagnosticsCommitHook.Sources設定を使用してカスタマイズできます。試してみて、フィードバックをお知らせください。

Screenshot of the modal dialog shown when there are unresolved diagnostics for the changed files.

ノートブック

ノートブックインライン差分ビュー (実験的)

設定: notebook.diff.experimental.toggleInline

ノートブックのインライン差分ビューを有効にできるようになりました。この機能を使用すると、従来の並列比較ではなく、単一のインラインビューでノートブックセル内の変更を表示できます。

notebook.diff.experimental.toggleInlinetrue に設定することで、この機能を有効にします。その後、右上のエディターメニューを使用して、差分ビューをインラインに切り替えることができます。

ノートブックインライン値ホバー

ノートブックのインライン値の装飾は、ビューポートの幅に合わせて切り詰められるようになり、完全な値を示すリッチホバーが表示され、空白の書式が維持されます。これにより、データフレームのような変数の形状が維持され、値が一目で読みやすくなります。

Screenshot that shows the cursor hovering above a dataframe object's inline decoration. A rich value hover is shown.

ターミナル IntelliSense (プレビュー)

設定: terminal.integrated.suggest.enabled

Bash、Zsh、Fish、PowerShell 全体でターミナルシェル補完を大幅に改善しました。具体的には、補完仕様 (例えば git) の追加、より良い候補のためのコマンドライン解析の洗練、ファイルとフォルダーの補完の強化を行いました。terminal.integrated.suggest.enabled でこの機能を有効にします。

強化された Fig 補完サポート

Fig 補完仕様を活用して、特定の CLI のインテリジェントな補完を強化しています。以前はこれらの数が少なかったのですが、今回のイテレーションでは、VS Code に同梱されるリストに以下の CLI を追加しました。

  • 基本ツール: cat, chmod, chown, cp, curl, df, du, echo, find, grep, head, less, ls, mkdir, more, mv, pwd, rm, rmdir, tail, top, touch, uname
  • プロセスツール: kill, killall, ps
  • パッケージマネージャー: apt, brew
  • Node.js エコシステム: node, npm, npx, nvm, pnpm, yarn
  • SCM、言語、エディター: git, nano, python, python3, vim
  • ネットワーク: scp, ssh, wget

新しい仕様に加えて、リクエスト時にコマンドを実行して補完を動的に生成するジェネレーターもサポートするようになりました。この動作の一例として、git checkout のすべてのブランチを表示する機能があります。

「git checkout tyriar/xterm」の補完を示すスクリーンショット。いくつかの結果が表示され、クエリに正確に一致しないあいまいな結果も含まれています。 テーマ: Sapphire (vscode.devでプレビュー)

裏では、git --no-optional-locks branch -a --no-color --sort=-committerdate を実行してブランチのリストを取得し、それらを補完に処理しています。同様のアプローチでタグもフェッチされます。

設定可能なクイックサジェスト

設定: terminal.integrated.suggest.quickSuggestions

エディターと同様に、クイックサジェストは、\- のような特定の文字が使用されたときに表示されるトリガー文字とは対照的に、何かを入力したときに IntelliSense を自動的に表示するものです。新しいterminal.integrated.suggest.quickSuggestions設定により、クイックサジェストが表示されるタイミングを正確に制御できます。

デフォルト値はコマンドと引数にクイック候補を有効にしますが、以前はパスにも有効になっており、適用できないことが多いため煩わしいというフィードバックがあったため、パスに対するクイック候補はデフォルトで無効になりました。これがデフォルトです。

"terminal.integrated.suggest.quickSuggestions": {
  "commands": "on",
  "arguments": "on",
  "unknown": "off"
}

インライン候補の検出

設定: terminal.integrated.suggest.inlineSuggestion

インライン候補検出がこれまでに抱えていた問題の 1 つは、異なるソースからの候補と競合することで生じる混乱でした。特に、シェルで入力しているときによく表示されるインライン候補です。

Screenshot that shows fish shell showing suggestions, such as previous git commit commands when typing a prefix.

これらの候補は実際にはシェルレベルの機能 (fish/zsh の自動候補、pwsh の予測など) であり、ユーザーには、特に IntelliSense と並んで表示される場合、明らかではないかもしれません。

IntelliSense 機能では、このインライン候補を検出する必要があります。以前は、テキストがかすれたまたは斜体の SGR 属性でスタイル設定されているかどうかのみをチェックする素朴な実装を使用していました。しかし、これはユーザーがスタイルをカスタマイズした場合だけでなく、fish シェルがこれらのスタイルのどちらもデフォルトで使用していなかったため、不十分であることが判明しました。現在では、コマンドラインコンテキストとカーソル位置を分析することで、ほとんどのケースを検出しています。

この新しい改良された検出に基づいて、インライン候補は、エディターの動作とより密接に連携し、この場合 kstyle(Tab) が何をするのかをより明確にするために、星アイコンが付いた最上位のオプションとして表示されるようになりました。

Screenshot that shows when an inline suggestion shows up, it will be detected and put beside a star icon at the top of IntelliSense.

デフォルトでは、この候補を常に最上位の候補として表示しますが、terminal.integrated.suggest.inlineSuggestion で設定できます。

詳細なコマンド補完

Bash および Zsh の組み込みコマンドと PowerShell コマンドの補完がより詳細になり、利用可能な引数の詳細が提供されるようになりました。この情報は、シェルのドキュメントまたはヘルプコマンドから取得されます。

Bash の場合、help <command> を使用して基本的な説明を取得します。

Screenshot that shows the history completion in bash, showing usage information and description.

zshの場合、man zshbuiltinsを使用して詳細な説明を取得します。

Screenshot that shows completions in zsh, displaying detailed information from the manpage.

PowerShell の場合、Get-Command のプロパティが補完でより多く表示されます。

Screenshot that shows the completion for Get-ChildItem, showing the module Microsoft.PowerShell.Management and its version.

Screenshot that shows the completion for ConvertTo-Json, showing the signature of the command.

ソートの改善

コマンド補完のソートが改善されました。具体的には、

  • より詳細な補完は、通常、詳細の少ない補完よりも上に表示されます。
  • 組み込みコマンドは $PATH からのパスよりも優先されます。

Screenshot that shows the more useful alias and autoload commands showing before others in zsh.

パスについては、以下の改善が行われました。

  • _ で始まるパスにはペナルティが課されます。これは、それらが特殊であり、通常はあまり変更すべきではないことを示す指標となることが多いためです (例: __init__.py)。
  • ソート時に句読点は無視されるため、. で始まるファイルは他のファイルと混ざって表示されます。

Screenshot that shows init.py will show below other files, while a .build dir will show immediately above a build file.

CDPATH サポート

設定: terminal.integrated.suggest.cdPath

$CDPATH 環境変数は、$PATH と同様に、コロン区切りのパスリストを含む一般的なシェル機能であり、現在の作業ディレクトリに関係なく、それらに相対的に移動できます。Fish は実際に cd タブ補完で CDPATH エントリを表示します。

Screenshot that shows tab completion in fish, displaying entries from CDPATH.

cd を使用する際に、$CDPATH エントリを補完として表示する機能をサポートするようになりました。

Screenshot that shows CDPATH entries now show up in IntelliSense.

この機能は Windows (; 区切り) でも動作し、デフォルトが絶対パスを使用するため、シェルがネイティブでこの機能をサポートする必要はありません。

Screenshot that shows a CDPATH containing 2 paths separated by a semi-colon, including all sub-directories even on PowerShell which does not support CDPATH natively.

terminal.integrated.suggest.cdPath でこれを設定します。

絶対パス

絶対パスがサポートされるようになりました。

Screenshot that shows "cd c:\Github\mi" will show results for all absolute folders matching that term.

Screenshot that shows cd to absolute paths also works with Unix-style paths.

エイリアスサポート

コマンドエイリアスも Bash、Zsh、Fish で検出されるようになり、新しい異なるアイコンで表示されます。

Screenshot that shows the alias c->code-insiders will now be detected and show with the command icon with a little arrow in the corner.

オプションとフラグの区別

CLI オプション (値を持つもの) とフラグ (値を持たないもの) は、UI で異なるアイコンで区別されるようになりました。

Screenshot that shows flags like --help will show a flag icon, options like --diff will show a different icon.

タスク

タスク再実行アクション

ターミナルに新しい再実行タスクアクション⌃⇧R (Windows, Linux Ctrl+Shift+R)が追加されました。このアクションは、ターミナルタブのインラインツールバーとターミナルのコンテキストメニューに表示されます。

デバッグ

デバッグインライン値ホバー

debug.inlineValues 設定が有効になっている場合、インライン値の装飾にインラインホバーが表示され、長い値でも一目で読みやすくなりました。

Screenshot that shows the cursor hovering above a dataframe object's inline decoration in an active debugging session. Rich value hover is shown.

言語

TypeScript 5.8

VS Code には TypeScript 5.8.2 が含まれるようになりました。この主要なアップデートには、条件式からの型の改善されたチェックNode の新しい --experimental-strip-types オプションに準拠するコードの作成のサポートなど、新しい言語改善が含まれています。また、いくつかのツール改善とバグ修正も含まれています。

このアップデートの詳細については、TypeScript 5.8 リリースブログをご覧ください。

リモート開発

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

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

  • Linux レガシーサーバーのEOL
  • プロキシ構成の拡張

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

Enterprise support

許可された拡張機能の複数行サポート

Windows のグループポリシーで、許可された拡張機能を複数行文字列で設定できるようになりました。これにより、許可された拡張機能をより柔軟かつ広範に設定できます。許可された拡張機能の設定に関する詳細をご覧ください。

拡張機能への貢献

Python

長い文字列を分割する際の自動引用符挿入

Pylance が、長い文字列を分割する際にシームレスな体験を可能にするために、引用符の自動挿入をサポートするようになりました。

Pylance のメモリ消費量の改善

特に大規模なワークスペースで作業する際の Pylance のメモリ消費量を改善するために、いくつかの最適化が行われました。この強化は、Pylance の言語サーバー機能を強化する静的型チェッカーである Pyright に行われました。

Python シェル統合の改善

python.terminal.shellIntegration.enabled を変更した後、変更を有効にするために再ロードする必要がなくなりました。新しいターミナルを作成するだけで、ターミナル内の Python REPL に希望の変更が反映されます。

Windows Git Bash の正しいワークスペースプロンプト

Windows の Git Bash を使用している Python ユーザーは、ターミナルプロンプトで正しい作業ディレクトリを確認できるようになります。これらの変更は、pythonTerminalEnvVarActivation 実験をオプトインしたユーザーに適用されます。

自動テスト検出ファイルパターン用の新しい設定

python.testing.autoTestDiscoverOnSavePattern 設定でグロブパターンを指定することで、自動テスト検出が行われるファイルを絞り込むことができるようになりました。デフォルト値は **/*.py に設定されています。

設定.json からテストデバッグ設定をフォールバックとして読み込む

テストデバッグ設定を settings.jsonlaunch.json の両方のファイルで検索するようになり、これらの設定を定義できる場所が広がりました。

GitHub認証

Electron fetch の採用によるプロキシサポートの改善

GitHub 認証拡張機能は、Web リクエストを行うために Electron の fetch バージョンを活用するようになりました。これにより、特定のプロキシおよびファイアウォール設定を使用しているユーザーを支援しました。プロキシ設定があり、VS Code 内で GitHub に認証できない環境で実行していることがわかっている場合は、遠慮なく問題を報告してください!

拡張機能作成

認証

重要: AuthenticationForceNewSessionOptionsAuthenticationGetSessionPresentationOptions に名前変更し、AuthenticationForceNewSessionOptions は当面非推奨として残します。機能上の違いはないため、これはランタイムでの破壊的変更ではありませんが、将来削除されるため、コードを AuthenticationForceNewSessionOptions の代わりに AuthenticationGetSessionPresentationOptions を使用するように更新する必要があります。

次の 2 つの認証呼び出しを見ると、

vscode.authentication.getSession(provider, scopes, { createIfNone: options });
vscode.authentication.getSession(provider, scopes, { forceNewSession: options });

createIfNoneforceNewSession は、boolean または AuthenticationGetSessionPresentationOptions のいずれかを受け取るようになりました。

/**
 * Optional options to be used when calling {@link authentication.getSession} with interactive options `forceNewSession` & `createIfNone`.
 */
export interface AuthenticationGetSessionPresentationOptions {
  /**
   * An optional message that will be displayed to the user when we ask to re-authenticate. Providing additional context
   * as to why you are asking a user to re-authenticate can help increase the odds that they will accept.
   */
  detail?: string;
}

完全な型定義はこちらにあります。...

これは createIfNone にとっての新しい追加ですが、forceNewSession にとっての変更です。forceNewSession は以前、新しい AuthenticationGetSessionPresentationOptions と同じシグネチャを持つ AuthenticationForceNewSessionOptions を受け取っていました。

AuthenticationForceNewSessionOptions を明示的に使用している場合、それは非推奨としてマークされており、将来のバージョンで AuthenticationForceNewSessionOptions が削除されるため、AuthenticationGetSessionPresentationOptions に置き換える必要があります。

ここで変更されているのは型のみであることに注意することが重要です。ランタイムの変更はないため、その観点からの破壊的変更ではありません。

さらに、authLearnMore 提案された APIAuthenticationForceNewSessionOptions から AuthenticationGetSessionPresentationOptions に更新されました。

detaillearnMore の提案を活用した例を次に示します。

Screenshot that shows the authentication modal dialog, featuring a message that says 'To get more relevant Copilot Chat results, we need permission to read the contents of your repository on GitHub.' and a button to learn more.

洗練されたスニペット API

スニペットを挿入する際の空白の正規化を制御できるようになりました。これはinsertSnippet-API およびSnippetTextEdit-API に適用され、スニペットの追加行のインデントを調整するかどうかを制御します。

const snippet = `This is an indented
    snippet`;

// keepWhitespace: false, undefined
function indentedFunctionWithSnippet() {
  return `This is an indented
        snippet`; // adjusted indentation
}

// keepWhitespace: true
function indentedFunctionWithSnippet() {
  return `This is an indented
    snippet`; // original indentation
}

提案されたAPI

テキストエンコーディング

VS Code でテキストエンコーディングを扱うための新しい提案 API を追加しました。

具体的には、この新しい API を使用すると、次のことができます。

  • TextDocument の現在の encoding を取得する
  • 特定の encodingTextDocument を開く
  • 特定の encodingstringUint8Array にエンコードする
  • 特定の encoding を使用して Uint8Arraystring にデコードする

この GitHub の問題で試してみて、ご意見をお聞かせください。

シェル環境

拡張機能は、VS Code 統合ターミナルから開かれた pwsh、zsh、bash、fish シェルのユーザーの現在アクティブなシェル環境情報にアクセスできます。これは、terminal.integrated.shellIntegration.enabled が有効になっている場合にのみ利用可能です。

ユーザーは、terminal.integrated.shellIntegration.environmentReporting を使用して、シェル環境情報を報告するかどうかを決定できます。

この GitHub Issueで試してみて、ご意見をお聞かせください。

エンジニアリング

Electron 34 のアップデート

このマイルストーンでは、Electron 34 のアップデートを安定版リリースのユーザーに提供しています。このアップデートには Chromium 132.0.6834.196 と Node.js 20.18.2 が含まれています。Insiders ビルドで自己ホストし、早期フィードバックを提供してくださったすべての方に感謝いたします。

macOS 10.15 のサポート終了

VS Code 1.97 が macOS 10.15 (macOS Catalina) をサポートする最後のリリースです。詳細については、FAQ を参照してください。

開発時におけるリークした使い捨てオブジェクトの追跡

VS Code は、明示的なリソース管理のために使い捨てパターンを使用します。例えば、ファイルを閉じたり、DOM 要素をクリーンアップしたり、イベントリスナーを削除したりする場合です。リソースを解放しないと、メモリが無駄になり、時間の経過とともにメモリ使用量が増加します。

私たちは常にこのようなリークを探しており、これを検出するための別のツールを追加しました。FinalizationRegistry API を利用して、オブジェクトがガベージコレクションされたときに通知を受け取ります。もしそのようなオブジェクトが解放されていない disposable を表していた場合、それはリークがあることを意味します。これらは収集され、VS Code の開発者に表示されるため、随時クリーンアップすることができます。

注目すべき修正点

ありがとうございます

最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。

問題追跡

問題追跡への貢献者

プルリクエスト

vscodeへの貢献者

vscode-css-languageserviceへの貢献者

vscode-eslintへの貢献者

vscode-hexeditorへの貢献

vscode-jupyterへの貢献者

vscode-languageserver-nodeへの貢献者

vscode-mypyへの貢献

vscode-pull-request-githubへの貢献者

vscode-python-debuggerへの貢献者

vscode-vsceへのコントリビューション

debug-adapter-protocolへの貢献者

language-server-protocolへの貢献者

python-environment-toolsへの貢献

© . This site is unofficial and not affiliated with Microsoft.