エージェント型開発を探求する -

2023年11月 (バージョン 1.85)

アップデート 1.85.1: このアップデートでは、以下の問題に対処しています。

アップデート 1.85.2: このアップデートでは、以下の問題に対処しています。

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


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

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comアップデートにアクセスしてください。

Insiders: 新機能をできるだけ早く試したいですか?ナイトリービルドのInsidersをダウンロードして、利用可能になった最新のアップデートを試すことができます。

GitHub Universe、Copilot、そしてVS Code

今年開催されたGitHub Universeに参加・視聴された方は、GitHub Copilotが中心的な役割を果たしていたことにお気づきでしょう。Copilotはオープニング基調講演や、GitHub Copilot: the AI pair programmer for today and tomorrow(GitHub Copilot: 今日と明日のためのAIペアプログラマー)といった分科会セッションで取り上げられました。

VS Codeチームは、Copilotをエディターに統合するために懸命に取り組んできました。GitHub Universeに向けたチームの進捗については、最近のブログ記事「Pursuit of "wicked smartness" in VS Code」で詳しく紹介しています。この記事では、コードベースや技術の専門家として機能するCopilot Chatのエージェントの開発について詳しく説明しており、拡張機能開発者が独自のカスタム エージェントをVS Codeに提供する方法についても解説しています。

アクセシビリティ

アクセシブルビュー

前回のイテレーションでは、UIコンポーネントとそのアクセシブル ビュー間をシームレスに行き来できるように、キーが押されたときにアクセシブル ビューを自動的に閉じる機能を導入しました。しかし、場合によってはこの動作が好ましくないこともあるため、accessibility.accessibleView.closeOnKeyPress設定を使用して無効にできるようになりました。

ターミナルとターミナルのアクセシブル ビューを頻繁に切り替える場合は、terminal.integrated.accessibleViewFocusOnCommandExecutionを有効にすることをお勧めします。これにより、ターミナルでコマンドが実行された後、自動的にアクセシブル ビューが開くようになります。

キーボードフォーカス時のツールチップ表示

キーボードユーザーの操作性を向上させるため、アクティビティバーやステータスバーアイテムなど、カスタムホバーを持つ項目に対して、キーボードフォーカス時にツールチップが表示されるようになりました。

Tooltip for Extensions view icon in the Activity Bar

音声検出のタイムアウト

新しい設定accessibility.voice.speechTimeoutにより、例えばCopilot Chatへの音声入力を受け付ける前に、無音状態をどのくらい待機するかを制御できるようになりました。デフォルトでは、1.2秒の無音状態が続くと自動的に音声入力が送信されます。この値を0に設定すると、音声入力の受付を完全に無効にできます。

ワークベンチ

フローティング エディター ウィンドウ

今回のリリースで、メインウィンドウからエディターを切り離し、独自の軽量ウィンドウへ移動できるようになったことをお知らせします。あるウィンドウでエディターに対して行った変更は、そのエディターが開かれている他のすべてのウィンドウにも即座に反映されます。

フローティング エディター ウィンドウを最も簡単に作成する方法は、現在のウィンドウからエディターをドラッグし、デスクトップの空いている場所にドロップすることです。

テーマ: GitHub Dark (vscode.devでプレビュー可能)

新しい設定workbench.editor.dragToOpenWindowを使用して、この動作を無効にできます。

また、エディターやエディターグループを独自のウィンドウへ移動またはコピーするための、グローバルおよびコンテキスト コマンドも新たに追加されました。

  • 表示: エディターを新しいウィンドウにコピー (workbench.action.editor.copyWithSyntaxHighlightingAction)
  • 表示: エディターを新しいウィンドウに移動 (workbench.action.editor.moveEditorToNextWindow)
  • 表示: エディターグループを新しいウィンドウにコピー (workbench.action.editor.copyGroupToNextWindow)
  • 表示: エディターグループを新しいウィンドウに移動 (workbench.action.editor.moveGroupToNextWindow)
  • 表示: 新しい空のエディターウィンドウ (workbench.action.newWindow)

フローティング ウィンドウ内のエディター領域は、任意の複雑なレイアウトで配置可能です。さらに、ターミナルや検索結果もエディターとして開くことができるため、これらの機能も個別のウィンドウで利用できるようになりました!

Terminal and Search as editors in a floating window

この新機能をぜひ試していただき、何か問題があれば報告してください。既存の課題を確認し、足りない機能に投票してください。

ファイル エクスプローラーでのネイティブな貼り付けサポート

VS Codeで、オペレーティング システムのエクスプローラーからVS Codeのファイル エクスプローラーへファイルをネイティブに貼り付けることがサポートされるようになりました。

拡張機能の自動更新制御

自動更新する拡張機能を選択できるようになりました。すべての拡張機能を自動更新したくないが、特定の拡張機能のみを選択したい場合に便利です。拡張機能単位、またはパブリッシャー単位で全拡張機能を選択できます。パブリッシャー単位で自動更新を選択した場合でも、そのパブリッシャー内の個別の拡張機能を選択解除できます。

Choose extensions to auto update

この機能を使用するには、自動更新を無効にするか(None)、選択した拡張機能のみ有効にするか(Selected Extensions)を設定しておく必要があります。

Auto update mode options with Selected Extensions checked

新しいプロファイル アイコン

プロファイルに追加できる新しいアイコンが追加されました。

New Profile icons

  • vr
  • piano
  • coffee
  • snake
  • ロボット
  • game
  • chip
  • music

設定エディターの検索の改善とバグ修正

設定エディターの検索結果は、目次だけでなく、一致タイプによってソートされるようになりました。つまり、タイトルやキーワードに一致する項目が一番上に表示されるため、一致するタイトルを見つけるために下にスクロールする必要がなくなりました。

Settings editor showing the windows.titleBarStyle setting appearing first when searching "title bar style"

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

設定エディターでは、同点の場合には引き続き目次順に設定が並べられます。つまり、@ext:<extension-id>のような検索クエリに対して、拡張機能作者が指定したorderキーが尊重されます。

今回のイテレーションでは、ネットワークの問題による設定エディターの読み込み失敗や、特定の検索クエリでのハングアップなど、設定エディターの多くの回帰が修正されました。

エディター

保存時のコードアクションと自動保存

エディターの「自動保存」時にコードアクションを有効にできるようになりました。また、Editor: Code Actions On Save (editor.codeActionsOnSave)設定が対応する列挙値に移行されました。値をalwaysに設定すると、保存時、ウィンドウ変更時(onWindowChange)、またはフォーカス変更時(onFocusChange)に自動保存される際にコードアクションが実行されます。この機能を有効にするには、Editor: Code Actions On Saveをチェックし、各コードアクションの設定をalwaysに変更してください。

設定値の更新内容は以下の通りです。以前のブール値は、文字列形式の同等値の使用を推奨するため非推奨となります。

オプションは以下の通りです。

  • explicit - 明示的に保存されたときにコードアクションをトリガーします。trueと同じです。
  • always - 明示的な保存時、およびウィンドウやフォーカスの変更による自動保存時にコードアクションをトリガーします。
  • never - 保存時にコードアクションをトリガーしません。falseと同じです。

複数ドキュメントのハイライト

複数ドキュメントのハイライトは、新しい提案APIであるMultiDocumentHighlightProviderによってサポートが強化されました。TypeScript言語向けに、セマンティックな出現ハイライトの組み込みサポートが追加され、Editor: Occurrences Highlight (editor.occurrencesHighlight)設定の値をsingleFileからmultiFileに変更することで有効にできます。TypeScript以外の言語では、より多くの言語固有のプロバイダーが実装されるまで、セマンティックな出現ではなくテキスト上の出現に基づいてハイライトされます。

ソース管理

インカミング/アウトゴーイングな変更

今回のマイルストーンでは、ソース管理ビューにIncoming/Outgoingセクションを導入し、現在のブランチとリモートとの間で送受信される変更を表示できるようにしました。この新しいセクションでは、変更されたリソース数、挿入・削除の数を含む個別の変更に加えて、すべてのリソースを要約したAll Changesエントリも表示されます。この新しいセクションの表示は、scm.showIncomingChangesおよびscm.showOutgoingChanges設定で制御できます。両方の設定とも、alwaysauto(デフォルト)、neverの値をサポートしています。

Incoming/Outgoing changes in the Source Control view

入力行数の最大設定

以前、ソース管理の入力ボックスは最大6行まで自動的に拡張されていましたが、多くの場合これでは不十分でした。今回、ソース管理の入力行数の最大値を制御する新しい設定scm.inputMaxLinesが追加されました。

ターミナル

Sticky Scroll (スティッキー スクロール)

ターミナルにSticky Scrollが導入されました!シェル統合から得られた情報を使用して、ビューポートの最上部にあるコマンドプロンプトがターミナルの上部に固定されます。これはエディターでのSticky Scrollの動作と似ています。

Running 'ls' command in the terminal will show the 'ls' prompt at the top of the terminal

Sticky Scroll要素をクリックすると、ターミナルバッファの該当部分までスクロールします。

現在はデフォルトで無効になっていますが、"terminal.integrated.stickyScroll.enabled": trueを設定することで有効にできます。将来的にはデフォルトで有効にする予定であり、その際は右クリックから無効化できるようになります。

コマンドのハイライト

ターミナル内のコマンドにホバーすると、左側にハイライトバーが表示されるようになりました。これは、コマンドの開始位置と終了位置が不明瞭なプレーンなターミナルプロンプトで役立ちます。

Hovering a command will show a line to the left that highlights the command and its output

シェル統合とコマンドナビゲーションの改善

Sticky Scrollの導入に伴い、シェル統合に多くの改善が行われました。特に、シェル統合から受け取るマーカーが完全に信頼できないWindows上のターミナルにおいて、ターミナルの内容をインテリジェントにスキャンし、コマンドを利用可能にする前にマーカーを調整するロジックが追加されました。

シェル統合は、プロンプトと入力内容という、プロンプトの異なる部分を検出できるようになりました。これにより、Sticky Scroll使用時にコマンドのどの部分を表示するかが決定されます。また、プロンプトの先頭にある空行を削除し、ターミナルの出力を読みやすくする機能も備わりました。

既存のコマンドナビゲーション機能も、信頼性の低いプロンプト行ではなく、Sticky Scrollに使用されるより信頼性の高いプロンプトへナビゲートできるようになり、利便性が向上しました。

変更前

Before only a single line would be highlighted

変更後

When navigating commands, the entire prompt is now highlighted

下線の描画の改善

ターミナル内の破線や点線の下線が、ピクセル単位で完璧なパターンで描画されるようになりました。

Dotted and dashed underlines are now pixel perfect

The underline improvements also work when zoomed in

Git pullのクイックフィックス

Gitブランチのチェックアウトが早送り(fast forward)可能な場合、新しいターミナルクイックフィックスによりgit pullを実行するオプションが提供されます。

タスク

npm.packageManager設定にbunを指定できるようになり、package.jsonで定義されたBunスクリプトの検出と実行が可能になりました。

デバッグ

JavaScriptデバッガー

ヒープスナップショットの可視化

.heapsnapshotとして保存されたV8ヒープスナップショットを、VS Code内で可視化できるようになりました。従来の表形式のビューに加え、特定のメモリ オブジェクトのリテイナーのグラフィカルな表現も利用可能です。

Graphical view of a heap snapshot showing references to a specific memory object

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

ヒープスナップショットは、JavaScriptコードのデバッグ中にTake Performance Profileコマンドを使用してキャプチャできます。また、ブラウザーDevToolsのMemoryタブからもキャプチャ可能です。

イベントリスナー ブレークポイント ビューの改善

Microsoft EdgeまたはGoogle Chromeブラウザーのデバッグ中に表示されるEvent Listener Breakpointsビューが改善されました。チェックボックス リストになり、URLに基づいてXHR/fetchリクエストで一時停止する機能もサポートしました。

Event Listener Breakpoints view with "XHR/fetch URL" checked and "Add new URL" option highlighted

RustによるWebAssemblyデバッグ

VS Codeとwasm-bindgenの両方に変更が加えられ、WebAssemblyにコンパイルされたRustコードをVS Codeでデバッグできるようになりました。詳細については、WebAssemblyデバッグのドキュメントを参照してください。

テスト

検索コントロールがTest Resultsビューのターミナルでサポートされるようになりました。

言語

TypeScript 5.3

本リリースにはTypeScript 5.3が含まれています。この主要なアップデートでは、インポート属性のサポート、型ナローイングの向上などが追加されました。また、新しい言語ツール機能やバグ修正も含まれています。

TypeScript 5.3の詳細については、TypeScriptブログを参照してください。

ワークスペース内のシンボルに移動では、デフォルトでnode_modules内のシンボルが除外されるようになりました。これにより、インストールされたパッケージ内のシンボルに埋もれることなく、自分のコード内のシンボルを見つけやすくなりました。

以前の、プロジェクト内のすべてのシンボルを含める動作に戻したい場合は、"typescript.workspaceSymbols.excludeLibrarySymbols": falseを設定してください。

インレイヒントから定義へジャンプ

JavaScriptおよびTypeScriptのインレイヒント内の型がインタラクティブになりました。型にホバーし、Windows/LinuxではCtrl、macOSではCmdを押しながらクリックすることで、型の定義へ素早くジャンプできます。

Inlay hint hover showing Go to Definition by using Ctrl/Cmd + click

自動インポートで'type'を優先

Type-onlyインポートを使用すると、実行時にインポートが完全に消去されることを保証しつつ、型をインポートできます。常にtypeインポートをデフォルトにしたい場合は、"typescript.preferences.preferTypeOnlyAutoImports": trueを設定してください。この設定はデフォルトではオフです。

リモート開発

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

ハイライト

  • Dev ContainersでGitHub CopilotおよびPull Requests and Issues拡張機能を自動インストールします。
  • Dev Containersにインストールされる拡張機能の制御を細分化しました。
  • ローカルのDev ContainersおよびWSLセッションで、ローカルマシンの証明書を再利用可能になりました。

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

拡張機能への貢献

GitHub Copilot

インライン チャットUIの改善

インライン チャットのプロンプト履歴が、VS Codeのセッション間で永続化されるようになりました。また、前後のプロンプトを表示するためのキーボードショートカットが、VS Codeの他のショートカットに合わせて上矢印下矢印に変更されました。

/testスラッシュコマンドの使用時など、インライン チャットが新しいファイルの作成を提案する場合、作成ドロップダウンから作成先を選択してファイル名と場所を指定できるようになりました。

Create and Create As actions for newly suggested files from inline chat

最後に、インライン チャット用の実験的な軽量UIモードが追加されました。よりスムーズなストリーミング体験を提供し、差分をオンデマンドでのみレンダリングします。"inlineChat.mode": "live3"設定で有効にできます。

Inline chat lightweight mode with diff on demand

修正のためのインライン チャットで要約とフォローアップアクションを表示

修正のためのインライン チャット(/fix)を使用する際、修正内容の簡単な要約が表示されるようになりました。エラーが残っている場合は、提示されたフォローアップアクションをクリックすることで修正を改善できます。

Inline chat with summary

インライン チャットでのプログレッシブ メッセージ レンダリング

インライン チャットでも、チャットビューと同じプログレッシブ レンダリングが使用されるようになりました。

Inline chat progressive rendering

ターミナルでのコミットメッセージ生成クイックフィックス

前回のリリースで、ソース管理ビューの入力ボックスにCopilotによるコミットメッセージ生成「キラキラ」ボタンが追加されました。ターミナルユーザー向けには、git add...コマンド実行後、ターミナル内で編集可能なコミットメッセージを生成するクイックフィックスが追加されました。

ターミナルエージェントとコマンド提案の改善

ターミナル関連のすべての機能が@terminalエージェントに移動しました。これは、ターミナルエージェントがワークスペース情報を取得しない可能性があることを明確にし、機能を統合して利用を便利にするための措置です。

古いプロンプトから新しいプロンプトへのマッピングは以下の通りです。

古い 新しい
@workspace /terminal how do I list files? @terminal how do I list files?
@workspace /explain #terminalSelection @terminal #terminalSelection
@workspace /explain #terminalLastCommand @terminal #terminalLastCommand

さらに、今回のリリースではコマンド提案が大幅に改善されました。ターミナルのコマンド提案は、使用されているオペレーティング システムとシェルを認識するようになりました。また、質問がワークスペースに関連しているとCopilotが判断した場合は、ワークスペース情報も条件付きで取得されます。ワークスペースのコンテキスト収集は、速度と参照される正確さの両面で今後さらに改善される予定です。

Progress is displayed while fetching workspace details

この例では、@terminalエージェントがmicrosoft/vscodeリポジトリでファイルパスがどのように形成されるかを認識していることに注目してください。

The terminal agent is capable of answering questions that need knowledge about file naming standards in the repository

チャット入力ボックスのすぐ上に、青い「キラキラ」リンクとして表示される、提案されたコマンドを解説する便利なフォローアップ機能も用意されています。

The blue sparkle link just before the input box explains the suggestion

解説のフォローアップを有効にすると、提案されたコマンドの詳細な説明が表示されます。

The detailed explanation typically explains the command and each argument

プライベートリポジトリでGitHubのリモート検索機能を使用する際の認証アップグレード ダイアログ

ユーザーアカウントで有効になっている場合、@workspaceエージェントを使用すると、Copilot Chatはリモート検索機能を使用してワークスペースを検索します。プライベートリポジトリでリモート検索を使用するには、より多くの権限を持つ認証トークンが必要です。必要な権限を持つトークンがまだない場合は、追加の権限を求められます。

Authentication dialog when searching the workspace

このダイアログが表示されるのは一度だけで、@workspaceエージェントへの今後のクエリにはキャッシュされたトークンが使用されます。

@workspaceへリクエストをより簡単に送信

@workspaceエージェントは多くのCopilotクエリで使用されるため、可能な限り簡単に起動できるようにしたいと考えました。チャット入力に質問を入力し、を押すと、質問が送信され、自動的に@workspaceが先頭に付加されます。

CopilotでRustコードを解説

Copilot Chatは、Rustコードの解説を求められ、rust-analyzerなどのRust言語サービス拡張機能がインストールされている場合に、コードベースからファイル横断的なコンテキストを収集するようになりました。Copilotの解説を表示するには、アクティブなエディターでコードを選択し、コンテキストメニューからCopilot > Explain Thisを選択するか、インライン チャットまたはチャットビューから/explainを使用してください。

Copilot > Explain This action in the editor context menu

コードブロック内の潜在的な脆弱性検出

Copilotによって生成されたソースコードに問題がないか確認できるように、チャットビューのコードブロック内のコードを脆弱性検出モデルでチェックし、検出された問題をフラグ付けするようになりました。最初は表示されないかもしれませんが、Copilot Chatユーザーに順次展開し、検出する脆弱性の種類を調整していきます。

コードブロックに脆弱性の可能性があると判断された場合、コードブロックの下部に注釈が表示されます。脆弱性検出モデルは現在試験運用中であるため、Copilotの提案や潜在的な脆弱性を確認する際は、ご自身で判断を行うようにしてください。

Copilot code vulnerability warning displayed in the Chat view

Copilotの動画とライブ配信セッション

YouTubeのVS Code Copilot動画をぜひご覧ください。最新のCopilot Chat機能Copilotが「どれほど賢くなったか」について学べます。

また、VS Codeのライブ配信を見ていない方は、1.84リリースパーティーで紹介されたCopilotのデモをぜひご覧ください。

Python

Pylanceで型階層を表示

Pylanceを使用すると、Pythonプロジェクトの型の関係をより簡単に探索・ナビゲートできるようになりました。これは、複雑な型の関係を持つ大規模なコードベースを扱う際に役立ちます。

シンボルを右クリックしてShow Type Hierarchyを選択すると、型階層ビューが開きます。そこからシンボルのサブタイプやスーパータイプをナビゲートできます。

テーマ: Catppuccin Macchiato (vscode.devでのプレビュー: vscode.dev)

実行ボタンメニューの構成可能なデバッグオプション

Pythonデバッガー拡張機能の実行ボタンメニューに、構成可能なデバッグオプションが追加されました。Python Debugger: Debug using launch.jsonを選択し、ワークスペースにlaunch.jsonが存在する場合、利用可能なすべてのデバッグ構成が表示されます。構成がない場合は、デバッグ構成テンプレートを選択してPythonアプリケーション用のlaunch.jsonを作成するように促されます。

Python Debugger: Debug using launch.json option under the Run button menu

環境変数を使用してアクティブ化した場合のdeactivateコマンドのサポート

Python拡張機能に、明示的なアクティブ化コマンドを実行することなく、デフォルトのターミナルで選択した環境をアクティブ化する新しいメカニズムが追加されました。これは現在実験的なフラグの裏にあり、ユーザー設定の"python.experiments.optInto": ["pythonTerminalEnvVarActivation"]から有効にできます。

しかし、このメカニズムにはdeactivateコマンドをサポートしていないという初期の欠点がありました。ユーザーのワークフローの重要な一部であるというフィードバックを受けたため、選択されたデフォルトターミナルがPowerShellまたはコマンドプロンプトである場合にdeactivateをサポートするようになりました。将来的には他のターミナルへのサポートも追加する予定です。

REPL Smart Sendの警告メッセージと設定

無効なコードや非推奨のコードを含むPythonファイルに対してShift+EnterSmart Sendを使用しようとすると、警告メッセージが表示され、REPL Smart Sendを無効にするオプションが提示されます。ユーザーはPython.REPL: Enable REPLSmart Send (python.REPL.enableREPLSmartSend)設定から、REPL Smart Sendの動作をユーザーおよびワークスペース固有で変更できます。

Settings editor entry for Python REPL Smart Send

テストアーキテクチャの書き換え

Pythonのテストアダプターの書き換え実験が全ユーザーに公開されました。現在はsettings.json"python.experiments.optOutFrom" : "pythonTestAdapter"を追加することでオプトアウトできますが、まもなくこの実験的フラグは廃止され、新しいアーキテクチャに完全に移行されます。

GitHub Pull Requests and Issues

プルリクエストや課題の作業、作成、管理を可能にするGitHub Pull Requests and Issues拡張機能で、さらに進歩がありました。

  • PRの説明と作成ビューでマージキューがサポートされるようになりました。
  • 新しい設定"githubPullRequests.allowFetch": falseにより、fetchの実行を防止できるようになりました。
  • サブモジュールのサポートが改善されました。

その他のハイライトについては、拡張機能の0.78.0リリースの変更ログを確認してください。

プレビュー機能

ツリー内のSticky Scroll

エディターでのSticky Scrollの成功に基づき、この機能をすべてのツリービューに拡張し、プロジェクトツリーをより簡単にナビゲートできるようにしました。ツリー用のSticky Scrollはworkbench.tree.enableStickyScroll: trueを設定することで有効にできます。Sticky Scrollがスペースを占有しすぎないよう、表示高さの最大40%までに制限されます。また、workbench.tree.stickyScrollMaxItemCountを設定してスティッキー要素の最大数をカスタマイズできます(デフォルトは7)。

ツリーナビゲーション体験を向上させるために、スティッキー要素を選択してツリー内の該当箇所に直接ジャンプしたり、親要素のシェブロン(山括弧)を押してすべての子要素を非表示にしたりできます。さらに、Sticky Scrollが有効な場合、チェックボックスやアクションアイテムへのアクセスが容易になります。

複数ファイル差分エディター

今回のリリースには、複数差分エディターのプレビューが含まれています。複数差分エディターを使用すると、複数のファイルの変更を1つのスクロール可能なビューで確認できます。

複数差分エディターを有効にするには、"multiDiffEditor.experimental.enabled": trueを設定します。現在、複数差分エディターは、ローカルの変更、ステージングされた変更、インカミング/アウトゴーイングな変更、およびプルリクエストからの変更を確認するために使用できます。ただし、複数差分エディターはまだ機能が完全ではなく、すべてのシナリオで動作するとは限らないことに注意してください。

韓国語のための代替文字フィルタリング

ワークベンチ全体で使用されるフィルタリング機能において、VS CodeはQWERTYキーボード相当の検索も行うようになりました。これは、言語のIMEの切り替えを忘れることがよくあるためです。これは検索エンジンと同様にリアルタイムで機能します。例えば、韓国語IMEでdebugと入力するとㅇ듀ㅕㅎとなりますが、これは無意味な文字列です。

Searching for a "ㅇ듀ㅕㅎ" command will now present results for "debug"

現時点では、単語の途中からフィルタリングする場合は動作しません。

問題の装飾を隠す

エディターおよびワークベンチ全体(問題ビューを除く)で、問題の装飾を隠すための新しい設定が追加されました。Problems: Visibility (problems.visibility)設定は、デフォルトで有効になっており、すべての問題を表示します。

Problems: Visibilityがオフの場合、一部の問題UI設定は無効になります。

  • Outline > Problems: Badges (outline.problems.badges)
  • Outline > Problems: Colors (outline.problems.colors)
  • Outline > Problems: Enabled (outline.problems.enabled)
  • Problems > Decorations: Enabled (problems.decorations.enabled)

Problems: Visibilityがオフのときは、ステータスバーに警告が表示されます。

Problems: Visibility off Status Bar item and hover

提案API

すべてのマイルストーンには新しい提案されたAPIが付属しており、拡張機能の作成者はそれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案されたAPIを試すための手順は以下のとおりです。

  1. 試したい提案を見つけて、その名前をpackage.json#enabledApiProposalsに追加してください。
  2. 最新の@vscode/dtsを使用し、npx @vscode/dts devを実行してください。これにより、対応するd.tsファイルがワークスペースにダウンロードされます。
  3. これで、提案されたAPIを使用してプログラムを作成できます。

提案されたAPIを使用した拡張機能は発行できません。次回のリリースで互換性のない変更が含まれる可能性があり、既存の拡張機能を壊すことは望ましくありません。

テストカバレッジ

今回のイテレーションでは、テストカバレッジの作業を再開しました。初期のUI統合と、以前からの提案に対するいくつかの軽微なアップデートを行いました。APIが長すぎてここに含めることはできませんが、かなりシンプルであると考えています。issue #123713で提案に対する皆様のご意見をお待ちしております。

チャットエージェント

最近のブログ記事「Pursuit of "wicked smartness" in VS Code」で言及した通り、Copilot Chatビューに拡張機能がチャットエージェントを提供するためのモデルを開発しています。チャットエージェントAPIは提案段階ですが、今すぐ独自のチャットエージェントを追加する実験が可能です。issue #199908を購読して最新情報を受け取ってください。

複数ドキュメントのハイライトAPI

前回のリリースで導入された通り、VS Code内で複数ドキュメントのハイライトがサポートされるようになりました。今回のイテレーションでは、複数ドキュメントハイライトプロバイダーを登録するための提案されたMultiDocumentHighlightProvider APIを追加しました。これにより、特定のプログラミング言語に対してセマンティックな出現ハイライトを提供できるようになります。プロバイダーは、URIからDocumentHighlightへのマップを持つ新しいMultiDocumentHighlight構造を返します。フィードバックや今後の更新は、issue #196354で追跡できます。

エンジニアリング

新しいCDN

新しいCDNエンドポイントvscode.download.prss.microsoft.comへの展開を開始しています。システム管理者の皆様は、このエンドポイントからのトラフィックを許可するようにネットワークルールを構成してください。

macOS 10.13および10.14のサポート終了

VS Code 1.85は、macOS 10.13 (macOS High Sierra)および10.14 (macOS Mojave)をサポートする最後のリリースです。詳細については、FAQを参照してください。

注目すべき修正

  • 195796 ローカライズ後のテキスト検索が設定エディターでサポートされない
  • 197319 vscode://file// リンクが動作しない
  • 194094 マウスを外に移動したときにプロファイル アイコン ピッカーが閉じないようにする
  • 197070 カスタムタイトルバーでのデバッグツールバーの配置をサポート

ありがとうございます

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

イシュートラッキング

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

プルリクエスト

vscodeへの貢献

vscode-css-languageserviceへの貢献

vscode-pull-request-github への貢献

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