2024年10月 (バージョン 1.95)
セキュリティアップデート: 以下の拡張機能にセキュリティアップデートがあります: ms-python.python および ms-vscode-remote.remote-ssh。
アップデート 1.95.1: このアップデートでは、これらのissueに対処しています。
アップデート 1.95.2: このアップデートでは、これらのissueに対処しています。
アップデート 1.95.3: このアップデートでは、これらのissueに対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code 2024年10月リリースへようこそ。このバージョンには多くのアップデートが含まれており、皆様に気に入っていただけることを願っています。主なハイライトは以下のとおりです。
- Copilot Edits - 複数ファイルにわたる大規模な変更を迅速に反復
- セカンダリサイドバーでのCopilot Chat - 作業中にCopilot Chatを開いたままにしてすぐに使えるようにします
- 複数のGitHubアカウント - VS Codeで複数のGitHubアカウントに同時にログイン
- Copilotコードレビュー - 未コミットの変更に対する簡単なレビューパスまたはより詳細なレビューを取得
- PylanceによるDocstrings - クラスまたはメソッドのdocstringテンプレートを生成
- プレビュー設定インジケーター - 設定エディターで試験的およびプレビュー設定を表示
- Copilot拡張機能のショーケース - VS CodeにおけるCopilot拡張機能の可能性を紹介
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comの更新情報にアクセスしてください。Insiders: 最新機能をいち早く試したいですか? 夜間のInsidersビルドをダウンロードして、最新のアップデートをいち早くお試しください。
GitHub Copilot
Copilotの機能は、通常設定によって有効および構成されるさまざまな早期アクセス段階を経る場合があります。
-
試験的 - 試験的な機能 (
@tag:experimental
) を表示この設定は、現在活発に開発されており、不安定な可能性がある新機能を制御します。変更または削除される可能性があります。
-
プレビュー - プレビュー機能 (
@tag:preview
) を表示この設定は、まだ改良中ですが、使用できる状態の新機能を制御します。フィードバックをお待ちしています。
Copilot Editsでコード編集セッションを開始する
Copilot Editsは現在プレビュー段階です
設定: github.copilot.chat.edits.enabled
Copilot Editsを使用すると、AIを活用したコード編集セッションを開始して、コード変更を迅速に反復できます。プロンプトに基づいて、Copilot Editsはワークスペース内の複数のファイルにわたるコード変更を提案します。これらの編集はエディターに直接適用されるため、周囲のコードの完全なコンテキストでインプレースですばやく確認できます。
Copilot Editsは、複数ファイルにわたる大規模な変更を反復処理するのに最適です。Copilot Chatの会話フローとインラインチャットからの迅速なフィードバックを1つのエクスペリエンスにまとめます。インラインコードの提案の恩恵を受けながら、継続的な複数ターンのチャット会話をサイドで行うことができます。
Copilot Editsを始めるための3つのステップ
-
チャットメニューから Copilot Editsを開く を選択するか、⇧⌘I (Windows Ctrl+Shift+I, Linux Ctrl+Shift+Alt+I) を押して、編集セッションを開始します。
-
作業セットに関連ファイルを追加して、作業したいファイルをCopilotに指示します。
-
プロンプトを入力して、実行したい編集についてCopilotに伝えます! たとえば、
すべてのページにシンプルなナビゲーションバーを追加
やjestの代わりにvitestを使用
などです。
Copilot Editsの詳細については、ドキュメントをご覧ください。今すぐ試して、issueを通じてフィードバックをお寄せください!
セカンダリサイドバーでのチャット
チャットビューの新しいデフォルトの場所は、セカンダリサイドバーです。セカンダリサイドバーを使用すると、チャットをいつでも開いたままにすることができ、ファイルエクスプローラーやソース管理などの他のビューも利用できます。これにより、VS Codeでより統合されたAIエクスペリエンスが得られます。⌃⌘I (Windows, Linux Ctrl+Alt+I) キーボードショートカットを使用して、チャットにすばやくアクセスできます。
コマンドセンターの横に新しいチャットメニューが導入されたことで、チャット付きのセカンダリサイドバーを起動するのがクリックするだけになりました。
チャットメニューを使用すると、Copilot Chatの最も一般的なタスクにアクセスできます。このメニューを非表示にする場合は、新しい設定 chat.commandCenter.enabled が用意されています。
注: 以前にGitHub Copilotをインストールしていた場合、以前チャットがあった場所にビューが表示され、チャットビューを以前の場所に戻すことができます(その方が都合が良い場合)。
Copilotコードレビュー
Copilotコードレビューは現在プレビュー段階です
Visual Studio CodeのGitHub Copilotコードレビューを使用すると、コードの作成中にAIを活用した迅速なフィードバックを得たり、プッシュする前にすべての変更のレビューをリクエストしたりできます。Visual Studio CodeのGitHub Copilotコードレビューは現在プレビュー段階です。ぜひお試しいただき、issueを通じてフィードバックをお寄せください。
VS CodeでCopilotコードレビューを使用するには、2つの方法があります
-
選択範囲のレビュー: 簡単なレビューパスの場合、エディターでコードを選択し、エディターのコンテキストメニューから Copilot > レビューとコメント を選択するか、コマンドパレットから GitHub Copilot: レビューとコメント コマンドを使用します。(この機能はプレビュー段階です。)
-
変更のレビュー: 未コミットのすべての変更の詳細なレビューの場合、ソース管理 ビューで Copilotコードレビュー ボタンを選択します。これはGitHub.comのプルリクエストでも実行できます。(順番待ちリストに参加してください。すべてのCopilotサブスクライバーが対象です)
Copilotのフィードバックは、コードの行に添付されたコメントとしてエディターに表示されます。可能な場合、コメントには実行可能なコード提案が含まれており、1つのアクションで適用できます。
Copilotコードレビューの詳細については、GitHubコードレビューのドキュメントをご覧ください。
Copilotのコード選択範囲に対するクイックレビューは、適切なコンテキストを提供することで、チームまたはプロジェクトの特定のプラクティスに一致するフィードバックを提供できます。カスタムレビュー指示を使用して選択範囲をレビューする場合、github.copilot.chat.reviewSelection.instructions 設定でこれらの特定要件を定義できます。コード生成およびテスト生成の指示と同様に、設定で指示を直接定義することも、別のファイルに保存して設定で参照することもできます。
次のコードスニペットは、レビュー指示の例を示しています
"github.copilot.chat.reviewSelection.instructions": [
{
"text": "Logging should be done with the Log4j ."
},
{
"text": "Always use the Polly library for fault-handling."
},
{
"file": "code-style.md" // import instructions from file `code-style.md`
}
],
code-style.md
ファイルの内容の例
Private fields should start with an underscore.
A file can only contain one class declaration.
チャット参加者の自動検出
設定: chat.experimental.detectParticipant.enabled
GitHub Copilotには、@workspace
などの組み込みチャット参加者がいくつかあり、他のチャット参加者を提供する拡張機能をインストールしている場合もあります。
自然言語でチャット参加者を使いやすくするために、可能な場合、Copilot Chatは質問を適切な参加者またはチャットコマンドに自動的にルーティングします。
自動的に選択された参加者が質問に適切でない場合は、チャット応答の上部にある 再実行 (なし) リンクを選択して、質問をCopilotに再送信できます。
今月は、リクエストごとにこの検出動作をスキップできるアクションも追加しました。チャットプロンプトを入力したときのデフォルトのアクションは 送信してディスパッチ であり、参加者検出が含まれています。送信 を選択すると、リクエストはCopilot Chatに直接送信され、チャット参加者に自動的にディスパッチされません。
自動参加者検出を完全に無効にするには、chat.experimental.detectParticipant.enabled 設定を使用します。
現在のエディターコンテキストの制御
Copilot Chatは常に、現在の選択範囲または現在表示されているコードをチャットリクエストのコンテキストとして自動的に含めてきました。大規模言語モデル(LLM)は、一般的にコンテキストの一部が関連性があるかどうかを理解するのが得意です。ただし、現在のエディターに関する質問ではない質問をする場合、このコンテキストを含めると、モデルが質問を解釈する方法に影響を与える可能性があります。
チャット入力に特別な添付ファイルコントロールが表示されるようになりました。これは、エディターコンテキストに関するヒントを示し、エディターコンテキストを含めるかどうかを切り替えることができます。
エディターコンテキストの動作に変更はありません。アクティブなエディターに選択範囲がある場合は、選択範囲のみが含まれます。それ以外の場合は、表示されているコードのみが含まれます。ペーパークリップボタンを使用するか、チャットプロンプトに #
を入力して、他のファイルまたはファイル全体を添付することもできます。
インタラクティブなワークスペースシンボルリンク
Copilot Chatの一般的なユースケースは、ワークスペース内のコードに関する質問です。たとえば、/tests
を使用して選択したコードの新しい単体テストを生成したり、@workspace
にプロジェクト内の特定のクラスまたは関数を見つけるように依頼したりします。このマイルストーンでは、Copilotがチャット応答で言及するワークスペースシンボルに対して、強化されたリンクを追加しました。これらのシンボルリンクは、Copilotの応答をよりよく理解し、応答で使用されているシンボルについて詳しく知るのに役立ちます。
シンボルリンクは、前回のマイルストーンで追加したファイルリンクと同様に、応答に小さなピルとしてレンダリングされます。シンボルについて詳しく学ぶには、シンボルリンクを選択してシンボルの定義にジャンプするだけです
シンボルリンクにカーソルを合わせると、シンボルが定義されているファイルを確認することもできます
シンボルをより詳細に調べ始めるには、シンボルリンクを右クリックして、実装へ移動 や 参照へ移動 などのオプションを含むコンテキストメニューを表示します
基本的なシンボルリンクは、定義へ移動をサポートするすべての言語で機能するはずです。実装へ移動などのより高度なIntelliSenseオプションも、その言語のサポートが必要です。Copilotの応答で使用されているプログラミング言語の最適なシンボルサポートを得るには、言語拡張機能をインストールしてください。
問題ホバーでのCopilotアクションの使用を修正
エディターで問題にカーソルを合わせると、Copilotを使用して問題を修正するアクションが含まれるようになりました。このアクションは、修正が利用可能な問題、および修正がCopilotによって生成された問題で使用できます。
ワークスペースのインデックス作成
@workspace
を使用すると、現在のプロジェクトのコードに関する質問をすることができます。これは、GitHubのコード検索またはVS Codeが構築するスマートローカルインデックスのいずれかを使用して実装されます。このマイルストーンでは、このワークスペースインデックスがどのように使用されているかを理解できるUI要素をさらにいくつか追加しました。
まず、新しい GitHub Copilot: ローカルワークスペースインデックスを構築 コマンドを使用すると、現在のワークスペースのインデックス作成を明示的に開始できます。このインデックス作成は通常、最初に@workspace
の質問をしたときに自動的に開始されます。新しいコマンドを使用すると、いつでもインデックス作成を開始できます。このコマンドは、現在最大2000ファイル(node_modules
やout
ディレクトリなどの無視されたファイルは含まれません)のより大きなワークスペースのインデックス作成も有効にします。
インデックスが構築されている間、ステータスバーに進行状況アイテムも表示されるようになりました
数百のファイルを含むワークスペースのインデックス作成には少し時間がかかる場合があります。インデックス作成中に@workspace
の質問をしようとすると、Copilotは待機する代わりに、より迅速に構築できるよりシンプルなローカルインデックスを使用して迅速に応答しようとします。この状況が発生した場合、応答に警告が表示されるようになりました
Copilotは、より高度なインデックスの代わりに、よりシンプルなローカルインデックスを使用した場合でも、このケースで質問に答えることができたことに注意してください。より曖昧または複雑な質問は、よりスマートなインデックスが構築された後にのみ回答できるようになる可能性がありますが、多くの場合そうです。また、ワークスペースがGitHubリポジトリによってバックアップされている場合は、代わりにGitHubのコード検索を使用して質問に答えることができることに注意してください。つまり、コード検索は、よりシンプルなローカルインデックスの代わりに使用されます。
チャットのフォローアップの改善
設定: github.copilot.chat.followUps
チャットビューでのチャット会話のためのスペースを増やすために、フォローアッププロンプトをより簡潔にし、デフォルトでは最初のターンでのみ表示されるようにしました。github.copilot.chat.followUps 設定を構成して、フォローアッププロンプトが表示されるタイミングを変更します
firstOnly
(デフォルト) - フォローアッププロンプトは最初のターンでのみ表示されますalways
- フォローアッププロンプトは常に表示されますnever
- フォローアッププロンプトを無効にします
セマンティック検索で関連性でソート (試験的)
設定: github.copilot.chat.search.semanticTextResults
前回のマイルストーンでは、Copilotを使用してセマンティック検索を実行し、クエリに対して意味的に関連性の高い検索結果を取得する機能を紹介しました。検索結果の関連性でソートすることで、検索結果を改善しました。より関連性の高いスニペットからのキーワード一致は、全体的により関連性が高いと見なされます。
ワークベンチ
複数のGitHubアカウント
先月の機能をデフォルトの動作に移行し、VS Codeで複数のGitHubアカウントに同時にログインできるようになりました。
複数のアカウントが必要になる可能性のあるシナリオをいくつか示します
- 設定同期にアカウント1を使用し、GitHub Pull Request拡張機能にアカウント2を使用する
- GitHub拡張機能(プッシュ用)にアカウント1を使用し、GitHub Copilotにアカウント2を使用する
この機能を使用するには、ログインアクション(設定同期などの組み込み機能または拡張機能)をトリガーするだけで、別のアカウントにログインするオプションが表示されます。この機能は、後で選択したアカウントを変更する必要がある場合に、アカウント設定クイックピックともうまく連携します。
ほとんどのことは既存の拡張機能で引き続き動作するはずですが、一部の動作は、このマルチアカウントの世界ではまだ完全にうまく機能しない可能性があります。改善の余地があると思われる場合は、それらの拡張機能でissueを開いてください。比較的新しいvscode.authentication.getAccounts('github')
APIの助けを借りて、拡張機能は複数のアカウントを処理するための多くの機能を持っています。
アカウント設定の変更時に追加のアカウントを追加する
先月、アカウント設定クイックピックを紹介しました。これは、何らかの理由で拡張機能に使用する優先アカウントを変更する必要がある場合に役立ちます。
受け取ったフィードバックの1つは、まだログインしていないアカウントを簡単に追加する方法が欲しいということでした。このマイルストーンでは、まさにそれを実現できる新しいアイテムをクイックピックに導入しました。新しいアカウントを使用... アイテムを使用して、認証フローを開始し、アカウント設定をそのアカウントに一度に設定します。
試験的およびプレビュー設定の設定エディターインジケーター
以前は、設定エディターを見ても、どの設定が試験的またはプレビューであるかが常に明確ではありませんでした。試験的および今後の機能を強調するために、設定エディターには試験的およびプレビュー設定の横にインジケーターが表示されるようになりました。設定エディターの検索ボックスに @tag:experimental
または @tag:preview
と入力して、設定をそれに応じてフィルタリングできます。
拡張機能の作成者は、設定に「experimental」または「preview」タグを追加して、設定エディターに対応するインジケーターを表示できます。
テーマ: ライトピンク (vscode.dev でプレビュー)
プロファイルのアイコンを増やす
このマイルストーンでは、プロファイルのアイコンを増やしました。より幅広いアイコンから選択して、プロファイルをカスタマイズできるようになりました。
パネルのアイコンを表示
ワークベンチパネル領域では、ビューは通常、タイトルバーにラベルとして表示されます(たとえば、ターミナル や 出力)。ただし、画面が小さい場合、これらのラベルが使用可能なスペースを超え、一部のビューがドロップダウンメニューにオーバーフローする可能性があります。
これに対処するために、新しい設定を追加しました: workbench.panel.showLabels。無効にすると、ビューはラベルではなくアイコンとして表示され、水平方向のスペースを節約し、オーバーフローを減らします。
workbench.panel.showLabels: true
workbench.panel.showLabels: false
エディター
出現箇所のハイライトの遅延
このマイルストーンでは、エディターで出現箇所がハイライトされるまでの遅延を制御するための設定 editor.occurrencesHighlightDelay を導入しました。この遅延値を小さくすると、セマンティックハイライトを使用する場合に、より応答性の高いエディターエクスペリエンスにつながる可能性があります。
VS Code for the Web
VS Code for the Webがローカルファイルイベントをサポート
バージョン129以降のChromeまたはEdgeを使用する場合、ローカルフォルダーでhttps://insiders.vscode.devを開くと、ファイルイベントがサポートされるようになりました。ブラウザ外で開いているワークスペースのファイルとフォルダーを変更すると、これらの変更がブラウザ内にすぐに反映されます。
この機能は、Webの新しいAPIとして提案されている新しいFileSystemObserver
インターフェースを活用しています。
拡張機能への貢献
Copilot拡張機能のショーケース
このマイルストーンでは、チームはVS CodeでのCopilot拡張機能を紹介するいくつかの拡張機能の構築に取り組みました。これらの拡張機能は、次の機能を示しています
- チャット参加者とツールAPI
- prompt-tsx
- GitHub Copilotによって提供される言語モデルを活用する方法
これらの拡張機能を試して、独自の拡張機能でCopilotを拡張する方法を確認してください。
拡張機能 | リンク |
---|---|
GitHub Pull Requests | マーケットプレイス |
Copilot用Web検索 | マーケットプレイス, ソースコード |
CopilotによるMermAId図生成 | マーケットプレイス |
Copilot用データ分析 | マーケットプレイス, ソースコード |
VS Code Commander | マーケットプレイス |
Copilotプレビューのビジョン | マーケットプレイス |
GitHub Pull Requests
GitHub Pull Requests拡張機能のバージョン0.100.0でCopilot統合が追加されました
- チャットビューで
@githubpr
チャット参加者を使用して、issueの検索、issue/プルリクエストの要約、issueの修正案の提示を行います。@githubpr
は、これを実現するために多数の言語モデルツールを使用します。 - GitHub通知を表示する新しい 通知 ビューもあり、Copilotで優先順位を付けるアクションがあります。
すべてを試すには、次の設定を行います
Copilotを使用したIssue検索
新しい @githubpr
チャット参加者は、GitHubでissueを検索できます。
issueを表示するとき、@githubpr
はMarkdownテーブルを表示し、検索に基づいて表示する最適な列を選択しようとします。
Copilotを使用した要約と修正
Issue ビューにリストされている各issueには、選択したissueを要約するチャットパネルを開く新しいアクション Copilotで要約 が追加されました。選択したissueを要約し、ワークスペースコンテキストを使用してその修正案を提示する別のアクション Copilotで修正 も追加しました。
Copilotを使用した通知の優先順位付け(試験的)
このマイルストーンでは、リポジトリ全体の未読通知を一覧表示する試験的な 通知 ビューを追加しました。デフォルトでは、通知は最新の更新順に降順でソートされますが、ビュータイトルの ...
メニューから Copilotを使用して優先順位でソート アクションを使用して、Copilotに通知の優先順位を付けさせることができます。各通知を選択すると、Copilotを使用して通知を要約するアクションがトリガーされます。ビューには、通知を既読にするアクションや、GitHub.comで通知を開くアクションにも簡単にアクセスできます。
Copilot用Web検索
この拡張機能のショーケース
- チャット参加者とツールAPI
- prompt-tsx
- GitHub Copilotによって提供される言語モデルを活用する方法
ソースコードはGitHubで入手できます。
説明
Copilotで最新かつ関連性の高い情報をWebから直接取得します。
これは、websearch.preferredEngine で構成された2つの異なる検索エンジンのいずれかによって強化されています
ユーザーとして、この拡張機能を使用するには、これらのサービスのいずれかからAPIキーを取得する必要があります。最初の使用時に、キーを要求し、VS Codeの組み込みシークレットストレージを使用して保存します。また、GitHubアカウントの場合と同様に、VS Codeの認証スタックを介して管理できます。
チャット参加者
この拡張機能は、インターネットからのライブ情報を必要とする可能性のある質問を処理できる @websearch
チャット参加者を提供します。@websearch vscodeでワークスペース信頼はいつリリースされましたか?
を使用して手動で呼び出すことができます
チャットツール
この拡張機能は、#websearch
チャット言語モデルツールも提供します。これは参加者と似ていますが、他のチャット参加者にWebからのコンテキストを提供する場合に役立ちます。例:
@workspace /new #websearch 最も人気のあるフレームワークを使用してPythonで記述された新しいWebアプリを作成する
さらに、独自のチャット参加者またはツールに取り組んでいる場合は、vscode.lm.invokeTool
APIを介してこのチャットツールを使用できます。
CopilotによるMermAId図生成
vscode-mermAId (vscode:extension/ms-vscode.copilot-mermaid-diagram
) 拡張機能は、Mermaid(Markdownにインスパイアされたダイアグラムおよびチャート作成ツール)を使用してコードの視覚化を構築および変更するための新しいチャット参加者をGitHub Copilotに提供します。
ダイアグラムの作成とレンダリング
チャット会話を通じてMermaidでサポートされている任意のタイプのダイアグラムを作成し、/iterate
スラッシュコマンドを使用してダイアグラムを改良します。スラッシュコマンドは、モデルに追加のガイダンスを提供するために、特定のダイアグラムタイプで使用できます。
フローなどの特定のダイアグラムタイプには、ダイアグラムの構築に収集された参照元に戻るリンクが追加されます。
Mermaidビジュアルアウトラインビュー
ビジュアルアウトライン ビューを開いて、アクティブなエディターからダイアグラムを動的に生成します。チャットに移行して、より細かく制御できます。
チャットツール
この拡張機能は、ファイルまたはワークスペース全体のシンボル情報を収集するツールを提供し、この拡張機能がインストールされている場合、他のチャット参加者が使用できます。
Copilot用データ分析
Data Analysis for Copilot拡張機能は、データサイエンス分野の人々を支援します。.csv
ファイルのクリーンアップから、さまざまな統計的指標、グラフ、予測モデルを活用したより高度なデータ分析の実行まで、@data
チャット参加者は、データタスクに合わせた洞察とインタラクティブ性を提供することにより、より高度で情報に基づいた意思決定を行うのに役立ちます。
この拡張機能は、LLMがPyodideを使用してPythonコードを実行し、関連するPythonコード実行の結果を取得するように要求できるツールを提供します。エラーが発生した場合に、より適切な実行結果を得るためにスマートに再試行することもできます。分析(または視覚化の生成)を実行するために使用されるコードをJupyter NotebookまたはPythonファイルにエクスポートすることもできます。
拡張機能はマーケットプレイスからダウンロードでき、ソースはGitHubで入手できます。
データ分析と視覚化
- CSVファイルが与えられたら、
ファイルを分析 #<ファイル名>
などのプロンプトを入力するか、より具体的なプロンプトを作成します (以下の記録を参照) - チャート、プロットなどの視覚化の生成をリクエストするために、フォローアッププロンプトを提供します
データ分析の実行に使用されるコードのエクスポート
- 分析と視覚化の生成に使用されるPythonコードを表示できます
- コードはJupyter NotebookまたはPythonファイルにエクスポートできます
CSVファイルのEditorおよびエクスプローラーの統合
- CSVファイルを右クリックして分析します
- CSVファイルを開き、Copilotアイコンを使用してファイルを分析します
VS Code Commander拡張機能
VS Code Commander拡張機能 (vscode:extension/ms-vscode.vscode-commander
) は、VS Code内のパーソナルアシスタントとして機能します。この強力なツールを使用すると、会話型式の自由形式テキストを使用してVS Code環境を構成できます。VS Code Commanderを使用すると、次のことができます
- さまざまな設定とコマンドの発見と探索
- 開発環境をニーズに合わせて調整
これらのアクションは、シンプルで直感的なチャットインターフェースを通じて実行できるため、VS Code構成の管理がこれまで以上に簡単になります。
Copilotプレビュー拡張機能のビジョン
Vision for Copilot Preview拡張機能 (vscode:extension/ms-vscode.vscode-copilot-vision
) を使用すると、画像をコンテキスト入力として直接添付して、会話を豊かにし、より動的で視覚的にサポートされた応答を可能にできます。この拡張機能は、最終的にはGithub Copilot Chatの組み込み画像フローに置き換えられる予定です。
チャットでのビジョン
当面の間、独自のOpenAI、Azure OpenAI、Anthropic、またはGeminiキーを使用して、チャットビューで画像添付フローを体験できます。クリップボードから画像を簡単に添付したり、チャットに直接ドラッグしたりして、開始します。
テーマ: サファイア (vscode.dev でプレビュー)
クイックフィックス付きビジョン
さらに、提供されているコードアクションを使用して、Markdown、HTML、JSX、またはTSXドキュメントの画像の代替テキストを生成または改良し、より良いコンテキストとアクセシビリティのために説明テキストを組み込むプロセスを簡素化できます。代替テキストクイックフィックスは、ワークスペース内の画像と画像URLで機能します。
この拡張機能は、提案されたAPI ChatReferenceBinaryData
を使用します。ソースコードでの使用方法の例を自由に確認してください。GitHubで入手できます。
Python
ネイティブREPL変数ビュー
ネイティブPython REPLは、組み込みの変数ビューの最新の変数を提供するようになりました。これにより、ファイルから、またはREPL入力ボックスを介してコードを実行するときに、インタープリターの状態を詳しく調べることができます。
Pylanceでdocstringを生成
Pylanceのdocstringテンプレート生成機能を使用して、Pythonコードのドキュメントをより便利に生成できるようになりました! """
または '''
を入力し、Ctrl+Space を押すか、電球を選択して、Docstringを生成 コードアクションを呼び出すことで、クラスまたはメソッドのdocstringテンプレートを生成できます。生成されたdocstringには、関数の説明、パラメーター、パラメータータイプ、戻り値、および戻り値の型のフィールドが含まれています。
この機能は現在、試験的な設定の背後にありますが、すぐにデフォルトのエクスペリエンスにすることを楽しみにしています。今日からpython.analysis.supportDocstringTemplate 設定を有効にすることで試すことができます。
すべてのdocstringを折りたたむ
ドキュメント文字列は、コードのコンテキストと説明を提供するのに最適ですが、コード自体に集中するために折りたたみたい場合があります。新しい Pylance: すべてのDocstringを折りたたむ コマンドでdocstringを折りたたむことで、より簡単に行えるようになりました。これは、選択したキーバインドにバインドすることもできます。展開するには、Pylance: すべてのDocstringを展開 コマンドを使用します。
インポート候補の改善
Pylance の強力な機能の 1 つは、自動インポート候補を提供する機能です。デフォルトでは、Pylance はシンボルが定義されている場所からのインポート候補を提供しますが、シンボルがインポートされている(つまり、エイリアスされている)ファイルからインポートしたい場合があります。新しい python.analysis.includeAliasesFromUserFiles 設定を使用すると、Pylance がユーザー ファイルからのエイリアス シンボルを自動インポート候補またはインポートの追加クイックフィックスに含めるかどうかを制御できるようになりました。
この設定を有効にすると、特に大規模なコードベースでは、パフォーマンスに悪影響を与える可能性があります。Pylance がより多くのシンボルをインデックス化し、変更がないかより多くのファイルを監視する必要があるため、リソースの使用量が増加する可能性があります。
試験段階の AI コードアクション: 抽象クラスの実装
新しい試験段階の抽象クラス実装コードアクションにより、AI と静的解析の両方の長所を活用できるようになりました。この機能を使用するには、Pylance と GitHub Copilot 拡張機能の両方が必要です。試してみるには、抽象クラスを継承するクラスを定義する際に、Copilot で継承されたすべての抽象クラスを実装 コードアクションを選択できます。
この機能を無効にするには、ユーザー設定で "python.analysis.aiCodeActions": {"implementAbstractClasses": false}
を設定します。
拡張機能の作成
言語モデルのツール
LanguageModelTool
API が完成しました。この API により、チャット拡張機能は、言語モデルを外部データソースに接続したり、アクションを実行したりすることで、より強力なエクスペリエンスを構築できます。この API には 2 つの主要な部分があります。
-
拡張機能がツールを登録する機能。ツールとは、言語モデルで使用されることを意図した機能の一部です。たとえば、ファイルの Git 履歴を読み取ることなどです。
lm.registerTool
メソッドを使用してツールを登録すると、lm.tools
リストで他の拡張機能からもアクセスできるようになります。これにより、チャット拡張機能は、共有ツールのエコシステムを介して他の拡張機能とシームレスに統合できるようになります。 -
言語モデルがツールをサポートするメカニズム。たとえば、拡張機能がリクエストを行う際にツールを渡したり、言語モデルがツールの呼び出しをリクエストしたり、拡張機能がツールの呼び出しの結果を返信したりするなどです。
言語モデルツールの使用は複雑であり、この API はその複雑さを隠蔽するものではありません。チャット参加者でツールを登録または利用する場合は、拡張機能サンプルから始めることをお勧めします。
チャット参加者の検出
GitHub Copilot がユーザーの質問を処理するためにチャット参加者または参加者コマンドを自動的に選択できるようにする、チャット参加者検出用の API が完成しました。詳細なチュートリアルと推奨事項については、ドキュメントをご確認ください。
VS Code Speech
VS Code Speech 拡張機能が、Azure Speech SDK の 8 月バージョンに更新され、音声テキスト変換認識用の新しいモデルが付属しています。Copilot Chat などの VS Code の音声テキスト変換統合で、このアップデートによる改善された結果が得られるはずです。
コメント スレッド collapsibleState
CommentThread
の展開/折りたたみ状態は、スレッドがすでに表示された後でも、新しい CommentThread.collapsibleState
プロパティを使用して変更できます。以前は、このプロパティはコメント スレッドが最初に表示されたときにのみ有効でした。
ウェルカムビューの Codicon
ウェルカムビューが Codicon のレンダリングをサポートするようになりました。ウェルカムビューで通常の $(icon-name)
を使用して実行できます。
モデルピッカーへのチャット参加者アクセス
チャットビューのモデルピッカーにお気づきかもしれません。これにより、チャットリクエストに使用されるモデルを選択できます。
チャット参加者拡張機能は、このモデルピッカーを使用するために新しい API を採用する必要があります。ピッカー内のモデルの LanguageModelChat
インスタンスに設定される、ChatRequest
オブジェクトの新しい model
プロパティを完成させました。これは lm.selectChatModels
メソッドの代わりに使用できます。拡張機能が選択されたモデル以外の特定のモデルを使用したい場合は、代わりに lm.selectChatModels
を引き続き使用できます。
プレビュー機能
TypeScript 5.7
今後の TypeScript 5.7 リリースのサポートを改善し続けています。詳細については、TypeScript 5.7 ベータ版ブログ記事と TypeScript 5.7 計画をご覧ください。
TypeScript 5.7 のプレビュービルドの使用を開始するには、TypeScript Nightly 拡張機能をインストールしてください。
JavaScript および TypeScript の貼り付け時にインポートを更新
ファイル間でコードを移動した後でインポートを追加するのにうんざりしていませんか?貼り付け時にインポートを更新する試験段階のサポートをお試しください。エディター間でコードをコピーアンドペーストすると、VS Code はコードが貼り付けられたときに自動的にインポートを追加します。
インポートが追加されただけでなく、貼り付けられたコードで使用されていたローカル変数の新しいエクスポートも追加されたことに注目してください。
今日これを試すには、TypeScript 5.7 以降を使用していることを確認してください。次に、javascript.experimental.updateImportsOnPaste
/typescript.experimental.updateImportsOnPaste
を有効にします。現在、これは同じ VS Code ウィンドウ内のテキストエディター間での貼り付けでのみサポートされています。
提案されたAPI
画像添付ファイル用のチャット参照バイナリデータ
ChatReferencebinaryData
提案 API を使用する拡張機能がある場合、チャットに画像 (png
、jpeg
、bmp
、gif
、および tiff
) を貼り付けることができるようになりました。
export class ChatReferenceBinaryData {
/**
* The MIME type of the binary data.
*/
readonly mimeType: string;
/**
* Retrieves the binary data of the reference.
* @returns A promise that resolves to the binary data as a Uint8Array.
*/
data(): Thenable<Uint8Array>;
/**
* @param mimeType The MIME type of the binary data.
* @param data The binary data of the reference.
*/
constructor(mimeType: string, data: () => Thenable<Uint8Array>);
}
拡張機能の作成者は、チャットハンドラーを介して request.references
経由でこれにアクセスできます。これは、ドラッグアンドドロップまたはクイック選択から画像が添付されている場合は URI
になり、貼り付けられた画像の場合は ChatReferenceBinaryData
になります。
エンジニアリング
LLM 用のプロンプト作成ライブラリ
今月、過去 1 年間に Copilot Chat で開発および使用してきた、言語モデルプロンプトを作成するための @vscode/prompt-tsx ライブラリをオープンソース化しました。このライブラリを使用すると、開発者は React と同様に TSX/JSX 構文を使用してプロンプトを作成でき、プロンプトのトークン予算を最大限に活用するためのさまざまなツールが含まれています。
AMD コードの削除と Web での ESM の使用拡大
主にリカバリリリースに必要な場合に AMD をサポートするために保持していたビルドスクリプトから、ソースから AMD (Asynchronous Module Definition) の最後の痕跡を削除しました。
さらに、https://vscode.dev も現在、100% ESM (ECMAScript Modules) のみで実行されています。
ESLint 9 への移行
メインの VS Code リポジトリとすべての 拡張機能サンプル を ESLint 9 を使用するように更新しました。これには、すべての ESLint 構成を最新の フラット構成 を使用するように移行することが含まれていました。
Electron 32 アップデート
このマイルストーンでは、Electron 32 アップデートを安定版リリースでユーザーにプロモーションしています。このアップデートには、Chromium 128.0.6613.186 と Node.js 20.18.0 が含まれています。Insiders ビルドでセルフホストし、早期フィードバックを提供してくれたすべての人に感謝します。
注目すべき修正
- 177046 拡張機能パネルで検索後にクラッシュする
謝辞
最後になりましたが、VS Code のコントリビューターの皆様に心から感謝申し上げます。
Issue tracking
Issue tracking への貢献
プルリクエスト
vscode
への貢献
- @Abrifq (Arda Aydın):
window.experimentalControlOverlay
のスコープをアプリケーションに変更 PR #230593 - @asemdreibati (Asem Dreibati): Iterable 名前空間のスライス関数のエッジケースを処理 (#_230683) PR #232134
- @BABA983 (BABA)
- GPU ステータスを表示する開発者アクションを追加 PR #222291
- スタイルが変更されたときにデバッグコンソールがクリアされる問題を修正 PR #224694
- Git エディターでエディターで開くをサポート PR #226967
- @Bistard (SIHAN LI): タイプミスを修正:
||
を使用すると、コンテキストビューのアンカーオプションがdismissされる可能性がある PR #228896 - @cobey (Cody Beyer): mistral ai npm パッケージを追加 PR #229865
- @elias-pap (Elias Papavasileiou): 修正: 保存時にトリガーされるアクションの設定の説明を改善 PR #230052
- @gjsjohnmurray (John Murray): 拡張機能のコマンドページでメニューコンテキスト情報を修正 (fix #229258) PR #229260
- @hamirmahal (Hamir Mahal): style: 可読性を高めるために文字列形式を簡略化 PR #231763
- @injust (Justin Su): "in none full screen mode" のタイプミスを修正 PR #229914
- @jamesharris-garmin (James Harris): --locate-shell-integration-path で __dirname が欠落している問題を修正 PR #231423
- @jeanp413 (Jean Pierre): logOutputChannel が破棄された後で再度作成された場合、消える問題を修正 PR #225709
- @Kaidesuyoo (Kaidesuyo): パフォーマンスの最適化 PR #230804
- @kkshinkai (Kk Shinkai): エミッターオプションで
onDidAddListener
イベントを正しくトリガー PR #230259 - @Parasaran-Python (Parasaran): 228640: 非表示にする設定が有効になっている場合、プレランチタスクポップアップを非表示にする PR #231225
- @quiple (Minseo Lee): 韓国語フォントの優先順位を変更 PR #230195
- @r3m0t (Tomer Chachamu): 新しいテストが開始されたときのテスト結果のスクロールを修正 (fixes #229531) PR #229532
- @sandersn (Nathan Shively-Sanders): TS 拡張機能: Copilot 関連の呼び出しを copilot 拡張機能に登録 PR #228610
- @ShadowRZ (夜坂雅): 修正: package.json で適切なデスクトップ名を使用 PR #231472
- @trevor-scheer (Trevor Scheer): マーカーメッセージの空白
nowrap
->pre
PR #229454 - @vietanhtwdk: リサイズ時に stickyscroll を再レンダリング PR #227400
- @yanglb (Yanblb): デコレーターに型チェックを追加 PR #230626
vscode-docs
への貢献
- @Cecil0o0 (hj)
- @echofly: v1_94.md を更新 PR #7677
- @ghosted-sound
- @gjsjohnmurray (John Murray)
- @oleschri: 引数 --update-extensions を追加 PR #7681
- @partev: URL リダイレクトを修正 PR #7640
- @ptrptrd: docs: テーマカラーリファレンスの重複エントリを削除 PR #7639
- @RonakRahane: C# の新しいコードカバレッジのドキュメントを追加 Fixes #7635 PR #7664
vscode-js-debug
への貢献
- @marcusball (Marcus Ball): feat: websocket アドレスを検索するときに
remoteHostHeader
オプションを使用 PR #2111
vscode-languageserver-node
への貢献
- @DanTup (Danny Tuppeny): デフォルトと項目ごとの commitCharacters/data の組み合わせ方法を制御するために CompletionList "applyKind" のサポートを追加 PR #1558
vscode-mypy
への貢献
- @jwhitaker-gridcog (Jarrad): 最寄りの pyproject.toml または mypy.ini のディレクトリで mypy を実行 PR #316
vscode-vsce
への貢献
- @andrewlayer: api.ts に unpublish を追加 PR #1061
- @deribaucourt (Enguerrand de Ribaucourt): workdir シンボリックリンクに関する回帰を修正 PR #1053
- @dtivel (Damon Tivel):
Content-Disposition
ヘッダーでfilename
値を引用符で囲む PR #1060
language-server-protocol
への貢献
- @asukaminato0721 (Asuka Minato)
- @DanTup (Danny Tuppeny):
completionList.itemDefaults
とcompletion
からの値の組み合わせ方法を決定するcompletionList.applyKind
のサポートを追加。 PR #2018 - @DavyLandman (Davy Landman): Rascal を関連する LSP 実装セクションに追加 PR #2029
- @g-plane (Pig Fang): 句読点のタイプミスを修正 PR #2048
- @nthykier (Niels Thykier):
debputy
言語サーバーを追加 PR #2044 - @RainCmd (渴望蓝天): Rain 言語サーバーを LSP に追加 PR #2039
- @WilsonZiweiWang (ziweiwang): BitBake 言語サーバーを追加 PR #2049
- @yasmewad (Yash Mewada): Smithy 言語サーバーのリンクを LSP に追加 PR #2036
lsprotocol
への貢献
- @nobodywasishere (Margret Riegert): Crystal プラグインを README に追加 PR #403
tolerant-php-parser
への貢献
- @TysonAndre (Tyson Andre): php 8.4 の暗黙的に nullable なパラメーターに関する通知を修正 PR #410