2023年11月 (バージョン 1.85)
アップデート 1.85.1: このアップデートでは、以下のissueに対処しています。
アップデート 1.85.2: このアップデートでは、以下のissueに対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel シリコン | Linux: deb rpm tarball Arm snap
Visual Studio Code 2023 年 11 月リリースへようこそ。このバージョンには多くのアップデートが含まれており、皆様に気に入っていただけることを願っています。主なハイライトは以下のとおりです。
- フローティング エディター ウィンドウ - エディターをドラッグ アンド ドロップしてデスクトップに移動できます。
- アクセシブル ビューのワークフロー - アクセシブル ビューへのスムーズな移行と復帰。
- 拡張機能の自動更新のより細かな制御 - 自動更新する拡張機能を選択できます。
- ソース管理の受信/送信ビュー - 保留中のリポジトリの変更を簡単に確認できます。
- JavaScript ヒープ スナップショット - メモリ オブジェクト グラフを含むヒープ スナップショットを可視化します。
- インレイ ヒントからの TypeScript の定義へジャンプ - インレイ ヒントのホバーから定義へジャンプできます。
- Python の型階層の表示 - 複雑な型の関係をすばやく確認およびナビゲートできます。
- GitHub Copilot のアップデート - インライン チャットの改善、Rust コードの説明。
- プレビュー: 拡張されたスティッキー スクロールのサポート - ツリー ビューとターミナルでのスティッキー スクロール。
これらのリリース ノートをオンラインで読むには、code.visualstudio.com の Updates にアクセスしてください。
Insiders: 最新機能をいち早く試したいですか? 夜間の Insiders ビルドをダウンロードして、最新のアップデートをすぐに試すことができます。
GitHub Universe、Copilot、そして VS Code
今年の GitHub Universe を視聴または参加された方は、GitHub Copilot が中心的な存在であったことをご存知でしょう。Copilot は、オープニング キーノートや、GitHub Copilot: 今日と明日のための AI ペアプログラマー などのブレイクアウト セッションで紹介されました。
VS Code チームは、Copilot をエディターに統合するために懸命に取り組んでおり、最近のブログ記事 VS Code における「驚異的な賢さ」の追求 で、GitHub Universe に至るまでのチームの進捗状況について詳しく知ることができます。この記事では、コードベースとテクノロジーに関する主題のエキスパートとして振る舞う Copilot Chat エージェント の開発について詳しく説明しており、拡張機能の作成者が独自のカスタム エージェントを VS Code に提供する方法について説明しています。
アクセシビリティ
アクセシブル ビュー
前回のイテレーションでは、UI コンポーネントとそのアクセシブル ビュー間のシームレスなフローのために、キーが押されたときに アクセシブル ビュー を自動的に閉じる機能を導入しました。場合によっては、この動作が望ましくない場合があり、accessibility.accessibleView.closeOnKeyPress
設定で無効にできるようになりました。
ターミナルとそのターミナルのアクセシブル ビューを切り替えることが多い場合は、terminal.integrated.accessibleViewFocusOnCommandExecution
を有効にすると、ターミナルでコマンドが実行された後にアクセシブル ビューが自動的に開きます。
キーボード フォーカス時に表示されるツールチップ
キーボード ユーザーのエクスペリエンスを向上させるために、アクティビティ バーやステータス バーの項目など、カスタム ホバーを持つ項目に対して、キーボード フォーカス時にツールチップが表示されるようになりました。
音声検出タイムアウト
新しい設定 accessibility.voice.speechTimeout
は、例えば Copilot Chat などで、音声入力を受け入れる前に無音状態を待機する時間を制御します。デフォルトでは、音声入力は 1.2
秒の無音状態の後に自動的に送信されます。これを 0
に設定すると、音声入力を完全に無効にすることができます。
ワークベンチ
フローティング エディター ウィンドウ
このリリースでは、エディターをメイン ウィンドウから独自の軽量ウィンドウに移動できるようになったことを発表します。1 つのウィンドウのエディターへの変更は、エディターが開いている他のすべてのウィンドウに即座に適用されます。
フローティング エディター ウィンドウを作成する最も簡単な方法は、エディターを現在のウィンドウからドラッグして、デスクトップの空きスペースにドロップすることです。
テーマ: 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
)
フローティング ウィンドウのエディター領域は、必要な任意の 複雑なレイアウト で配置できます。また、ターミナルと検索結果はどちらもエディターとして開くことができるため、これらの機能を別のウィンドウで持つこともできます。
この新機能を試して、発生した問題を報告してください。既存の issue を確認し、不足している機能に投票してください。
ファイル エクスプローラーでのネイティブ ペーストのサポート
VS Code は、オペレーティング システムのエクスプローラーから VS Code のファイル エクスプローラーへのファイルのネイティブ ペーストをサポートするようになりました。
拡張機能の自動更新の制御
自動更新する拡張機能を選択できるようになりました。これは、すべての拡張機能を自動更新したくないが、自動更新するものを選択的に選択したい場合に役立ちます。拡張機能またはパブリッシャーからのすべての拡張機能を選択できます。パブリッシャーからのすべての拡張機能を自動更新することを選択した場合、そのパブリッシャーから個々の拡張機能の選択を解除できます。
この機能を使用するには、自動更新を無効 (なし) にするか、選択した拡張機能 (選択された拡張機能) に対して有効にする必要があります。
新しいプロファイル アイコン
プロファイルに追加できる次の新しいプロファイル アイコンが利用可能です。
vr
ピアノ
コーヒー
ヘビ
ロボット
ゲーム
チップ
音楽
設定エディターの検索の改善とバグ修正
設定エディターは、検索結果をテーブル オブ コンテンツのみではなく、一致タイプで最初にソートするように戻りました。言い換えれば、タイトルとキーワードの一致が最初に表示されるため、一致するタイトルを持つ設定を見つけるために下にスクロールする必要はありません。
テーマ: ライト ピンク (vscode.dev でプレビュー)
設定エディターは、タイ ブレーカーとしてテーブル オブ コンテンツで設定を順序付け続けます。つまり、拡張機能作成者の order
キーは、@ext:<extension-id>
などの検索クエリに対して尊重されます。
ネットワークの問題による設定エディターの読み込み失敗や、特定の検索クエリでのハングアップなど、多くの設定エディターの回帰も今回のイテレーションで修正されました。
エディター
保存時および自動保存時のコード アクション
エディターで自動保存時にコード アクションを有効にできるようになりました。また、エディター: 保存時のコード アクション (editor.codeActionsOnSave) 設定は、対応する列挙値に移行されました。always
に設定すると、ウィンドウ変更 (onWindowChange
) またはフォーカス変更 (onFocusChange
) で保存または自動保存するときにコード アクションを実行できます。この機能を有効にするには、エディター: 保存時のコード アクション (editor.codeActionsOnSave) をオンにし、各コード アクションの設定を always
に変更します。
設定値の更新は次のとおりです。以前のブール値は非推奨となり、文字列の同等値が推奨されます。
オプションは次のとおりです。
explicit
- 明示的に保存されたときにコード アクションをトリガーします。true
と同じです。always
- 明示的に保存されたとき、およびウィンドウまたはフォーカスの変更による自動保存時にコード アクションをトリガーします。never
- 保存時にコード アクションをトリガーしません。false
と同じです。
複数ドキュメントのハイライト
複数ドキュメントのハイライトは、新しい提案された MultiDocumentHighlightProvider API から追加のサポートを受けています。TypeScript 言語のセマンティック オカレンス ハイライトの組み込みサポートが追加されました。これは、エディター: オカレンス ハイライト (editor.occurrencesHighlight
) 設定値を singleFile
から multiFile
に変更することで有効にできます。TypeScript 以外の言語の場合、より多くの言語固有のプロバイダーが実装されるまで、複数ドキュメントのオカレンスはセマンティック オカレンスではなくテキスト オカレンスに基づいてハイライトされます。
ソース管理
受信/送信の変更
このマイルストーンでは、ソース管理ビューに新しい 受信/送信 セクションが導入され、現在のブランチの受信および送信の変更がリモートと比較して表示されます。新しいセクションには、変更されたリソースの数、挿入と削除の数とともに個々の変更が表示されるほか、すべての変更にわたるすべてのリソースをまとめた すべての変更 エントリが表示されます。新しいセクションの表示/非表示は、scm.showIncomingChanges
および scm.showOutgoingChanges
設定を使用して制御できます。どちらの設定も、always
、auto
(デフォルト)、never
の値をサポートしています。
入力の最大行数
以前は、ソース管理の入力は最大 6 行のテキストを表示するように自動拡張されていましたが、これはほとんどのコミット メッセージには十分なスペースでした。ただし、より多くのスペースが役立つ場合もあり、ソース管理の入力行の最大数を制御する新しい設定 scm.inputMaxLines
があります。
ターミナル
スティッキー スクロール
スティッキー スクロールがターミナルに導入されました!シェル統合によって提供される知識を利用して、ターミナルの上部にコマンドのプロンプトが固定されます。エディターでのスティッキー スクロールの動作と同様です。
スティッキー スクロール要素をクリックすると、ターミナル バッファーのその部分までスクロールします。
これは現在デフォルトで無効になっていますが、"terminal.integrated.stickyScroll.enabled": true
を設定することで有効にできます。将来的にはデフォルトで有効にする予定であり、その時点で右クリックしてオフに切り替えることでオプトアウトできるようになります。
コマンドのハイライト
ターミナルでコマンドをホバーすると、その左側にハイライト バーが表示されるようになりました。これは、1 つのコマンドがどこから始まり、別のコマンドがどこで終わるのかが明確でないプレーンなターミナル プロンプトに役立ちます。
シェル統合とコマンド ナビゲーションの改善
スティッキー スクロールの導入により、シェル統合に多くの改善が加えられました。特に、シェル統合から受信したマーカーが完全には信頼できない Windows で実行されているターミナルに対してです。ターミナルの内容をインテリジェントにスキャンし、ターミナル コマンドを使用可能にする前にマーカーを調整するロジックが追加されました。
シェル統合は、プロンプトの個別の部分、つまりプロンプトとその入力を検出できるようになりました。これにより、スティッキー スクロールを使用するときにコマンドのどの部分が表示されるかが決定されます。これにより、出力の分割やターミナルの読みやすさのために一般的に使用される、プロンプトの上部からの空行もトリミングされます。
既存の コマンド ナビゲーション 機能も、信頼性の低いプロンプト行ではなく、スティッキー スクロールに使用されるより信頼性の高いプロンプトに移動できるため、メリットがあります。
以前
以後
改善された下線レンダリング
ターミナルの破線と点線の下線が、ピクセルパーフェクトなパターンでレンダリングされるようになりました。
Git pull クイック修正
Git ブランチのチェックアウトを高速フォワードできる場合、新しいターミナル クイック修正は git pull
を実行するオプションを提供します。
タスク
npm.packageManager
設定を bun
に設定して、package.json
で定義された Bun スクリプトの検出と実行を有効にできるようになりました。
デバッグ
JavaScript デバッガー
ヒープ スナップショットの可視化
.heapsnapshot
として保存された V8 ヒープ スナップショットを VS Code で可視化できるようになりました。従来の表形式ビューと、特定のメモリ オブジェクトのリテイナーのグラフィカル表現の両方があります。
テーマ: Codesong (vscode.dev でプレビュー)
ヒープ スナップショットは、JavaScript コードをデバッグ中に パフォーマンス プロファイルの取得 コマンドを使用してキャプチャできます。また、ブラウザーの DevTools の メモリ タブからキャプチャすることもできます。
改善されたイベント リスナー ブレークポイント ビュー
Microsoft Edge または Google Chrome ブラウザーをデバッグ中に表示される イベント リスナー ブレークポイント ビューが改善されました。チェックボックス リストになり、URL に基づいて XHR/fetch リクエストで一時停止することをサポートします。
Rust による WebAssembly デバッグ
VS Code と wasm-bindgen
の両方で変更が行われ、WebAssembly にコンパイルされた Rust を VS Code でデバッグできるようになりました。詳細については、WebAssembly デバッグに関するドキュメントを参照してください。
テスト
検索 コントロールが テスト結果 ビュー ターミナルでサポートされるようになりました。
言語
TypeScript 5.3
このリリースには TypeScript 5.3 が含まれています。このメジャー アップデートでは、インポート属性、より優れた型絞り込みなどがサポートされています。また、新しい言語ツール機能とバグ修正も含まれています。
TypeScript 5.3 の詳細については、TypeScript ブログを参照してください。
node_module シンボルがワークスペース シンボル検索から除外
ワークスペース内のシンボルへ移動 は、デフォルトで node_modules
からのシンボルを除外するようになりました。これにより、インストール済みパッケージからのシンボルに圧倒されることなく、コード内のシンボルを簡単に見つけることができます。
プロジェクト内のすべてのシンボルを含んでいた以前の動作に戻すには、"typescript.workspaceSymbols.excludeLibrarySymbols": false
を設定します。
インレイ ヒントからの定義へジャンプ
JavaScript および TypeScript の インレイ ヒント の型がインタラクティブになりました。Windows および Linux では Ctrl キー、macOS では Cmd キーを押しながら型の上にカーソルを置き、クリックすることで、型の定義にすばやくジャンプできます。
自動インポートには 'type' を優先して使用
型のみのインポート を使用すると、実行時にインポートが完全に消去されることを保証しながら、型をインポートできます。常にデフォルトで type
インポートを使用したい場合は、"typescript.preferences.preferTypeOnlyAutoImports": true
を設定すると、自動インポートで型のみのインポートが使用されるようになります。この設定はデフォルトではオフになっています。
リモート開発
Remote Development 拡張機能を使用すると、Dev Container、SSH 経由のリモート マシン、Remote Tunnels、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
ハイライト:
- Dev Container に GitHub Copilot および Pull Requests and Issues 拡張機能を自動的にインストールします。
- Dev Container にインストールされる拡張機能のより細かな制御。
- ローカル Dev Container および WSL セッションでローカル マシンの証明書を再利用します。
これらの機能の詳細については、Remote Development リリース ノートを参照してください。
拡張機能への貢献
GitHub Copilot
インライン チャット UI の改善
インライン チャットのプロンプト履歴が VS Code セッション間で保持されるようになりました。前後のプロンプトを表示するためのキーボード ショートカットも、VS Code の他の前後の項目ショートカットと一致するように 上 および 下 に変更されました。
インライン チャットが /test
スラッシュ コマンドを使用する場合など、新しいファイルの作成を提案する場合、作成 ドロップダウンから 別名で作成 を選択することで、ファイル名と場所を選択できるようになりました。
最後に、インライン チャットの新しい 実験的な 軽量 UI モードがあります。よりスムーズなストリーミング エクスペリエンスを提供し、オンデマンドでのみ差分をレンダリングします。"inlineChat.mode": "live3"
設定で有効にできます。
修正のインライン チャットには、概要とフォローアップ アクションが表示されます
修正 (/fix
) にインライン チャットを使用する場合、修正内容の簡単な概要も表示されるようになりました。残りのエラーがある場合は、提供されたフォローアップ アクションをクリックして修正を改善できます。
インライン チャットでの段階的なメッセージ レンダリング
インライン チャットは、チャット ビューと同じ段階的なレンダリングを使用するようになりました。
ターミナル コミット メッセージ生成クイック修正
前回のリリースでは、Copilot コミット メッセージ生成 "スパークル" がソース管理ビューの入力ボックスに追加されました。ターミナル ユーザー向けに、git add...
コマンドを実行した後、ターミナルで編集可能なコミット メッセージを生成するクイック修正が追加されました。
ターミナル エージェントとコマンド提案の改善
ターミナル関連のすべての機能が @terminal
エージェントに移動されました。これは、ターミナル エージェントがワークスペース情報をプルインしない可能性があることを明確にし、機能を統合し、より便利に使用できるようにするために行われました。
古いプロンプトから新しいプロンプトへのマッピングを以下に示します。
旧 | 新 |
---|---|
@workspace /terminal ファイルを一覧表示するにはどうすればよいですか? |
@terminal ファイルを一覧表示するにはどうすればよいですか? |
@workspace /explain #terminalSelection |
@terminal #terminalSelection |
@workspace /explain #terminalLastCommand |
@terminal #terminalLastCommand |
さらに、コマンド提案は今回のリリースで大幅に改善されました。ターミナル コマンド提案は、オペレーティング システムと使用されているシェルを認識するようになりました。ワークスペース情報も、Copilot が質問がワークスペースに関連していると判断した場合に基づいて条件付きでプルインされます。ワークスペース コンテキスト コレクションは、速度と正確に参照されるものの両方の点で、さらなる改善が見込まれます。
この例では、@terminal
エージェントが microsoft/vscode
リポジトリで使用されている場合にファイル パスがどのように形成されるかを認識していることに注目してください。
チャット入力ボックスのすぐ上に青色のスパークル リンクとして表示される、提案されたコマンドを説明するための便利なフォローアップもあります。
説明 フォローアップをアクティブにすると、提案されたコマンドの詳細な説明が表示されます。
プライベート リポジトリで GitHub リモート検索機能を使用する場合の認証アップグレード ダイアログ
ユーザー アカウントで有効になっている場合、@workspace
エージェントを使用すると、Copilot Chat はリモート検索機能を使用してワークスペースを検索します。プライベート リポジトリでリモート検索を使用するには、より多くの権限を持つ認証トークンが必要です。必要な権限を持つトークンがまだない場合は、追加の権限を求めるプロンプトが表示されます。
このダイアログは 1 回だけ表示され、今後の @workspace
エージェントへのクエリでは、キャッシュされたトークンが使用されます。
@workspace へのリクエストをより簡単に送信
@workspace
エージェントは多くの Copilot クエリで使用されているため、できるだけ簡単にアクティブ化できるようにしたいと考えました。チャット入力に質問を入力し、 を押して質問を送信し、@workspace
を自動的に先頭に追加できるようになりました。
Copilot で Rust コードを説明
Copilot Chat は、Rust コードの説明を求め、rust-analyzer などの Rust 言語サービス拡張機能をインストールしている場合、コードベースからファイル間のコンテキストを収集するようになりました。Copilot の説明を表示するには、アクティブなエディターでコードを選択し、コンテキスト メニューから Copilot > これを説明する を使用するか、インライン チャットまたはチャット ビューから /explain
を使用します。
コード ブロックでの潜在的な脆弱性検出
Copilot によって生成されたソース コードに起こりうる問題に注意を払っていただきたいと考えているため、チャット ビューのコード ブロック内のコードをコード脆弱性検出モデルで実行し、検出された問題をフラグ付けするようになりました。この機能は最初は表示されないかもしれませんが、Copilot Chat ユーザーに段階的に展開し、検出される脆弱性の種類も調整していきます。
コード ブロックに脆弱性の可能性があると判断された場合、コード ブロックの下部に注釈が付けられます。脆弱性検出モデルは試験運用中のものであるため、Copilot の提案と潜在的な脆弱性をレビューする際には、最善の判断を下すようにしてください。
Copilot ビデオとライブストリーム セッション
最近の YouTube の VS Code Copilot ビデオをお見逃しなく。最新の Copilot Chat 機能と、Copilot が「大幅に賢くなった」方法について学びましょう。
また、VS Code ライブストリームをまだご覧になっていない場合は、1.84 リリース パーティーで紹介された Copilot デモをご覧ください。
Python
Pylance で型階層を表示
Pylance を使用すると、Python プロジェクトの型の関係をより便利に探索およびナビゲートできるようになりました。これは、複雑な型の関係を持つ大規模なコードベースを扱う場合に役立ちます。
シンボルを右クリックすると、型階層を表示 を選択して、型階層ビューを開くことができます。そこから、シンボルのサブタイプとスーパータイプをナビゲートできます。
テーマ: Catppuccin Macchiato (vscode.dev でプレビュー)
実行ボタン メニューの下にある構成可能なデバッグ オプション
Python デバッガー拡張機能に、実行 ボタン メニューの下に構成可能なデバッグ オプションが追加されました。Python デバッガー: launch.json を使用してデバッグ を選択し、ワークスペースに既存の launch.json
がある場合、デバッガーを開始するために選択できる利用可能なすべてのデバッグ構成が表示されます。構成がない場合は、Python アプリケーションの launch.json
ファイルを作成するために使用するデバッグ構成テンプレートを選択するように求められます。
環境変数を使用してアクティブ化された場合にサポートされる非アクティブ化コマンド
Python 拡張機能には、明示的なアクティブ化コマンドを実行せずに、デフォルトのターミナルで選択した環境をアクティブ化する新しいアクティブ化メカニズムがあります。これは現在、実験的なフラグの背後にあり、次の ユーザー 設定を介して有効にできます: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"]
。
ただし、このアクティブ化メカニズムの最初の欠点の 1 つは、deactivate
コマンドをサポートしていなかったことです。これは一部のユーザーのワークフローの重要な部分であるというフィードバックを受け取ったため、選択されたデフォルトのターミナルが PowerShell またはコマンド プロンプトの場合に deactivate
のサポートを追加しました。将来的には、追加のターミナルのサポートを追加する予定です。
REPL スマート送信の警告メッセージと設定
無効または非推奨のコードを含む Python ファイルで Shift+Enter キーを使用して スマート送信 を使用しようとすると、REPL スマート送信を非アクティブ化する警告メッセージとオプションが表示されるようになりました。ユーザーは、Python.REPL: REPL スマート送信を有効にする (python.REPL.enableREPLSmartSend
) 設定を介して、REPL スマート送信のユーザーおよびワークスペース固有の動作を変更できます。
テスト アーキテクチャの書き換え
Python テスト アダプターの書き換え実験 が、ユーザーの 100% にロールアウトされました。現在、settings.json
に "python.experiments.optOutFrom" : "pythonTestAdapter"
を追加することでオプトアウトできますが、間もなくこの実験的なフラグを削除し、この新しいアーキテクチャを採用する予定です。
GitHub Pull Requests and Issues
GitHub Pull Requests and Issues 拡張機能でさらに進展がありました。これにより、プル リクエストと issue の作業、作成、管理を行うことができます。
- マージ キューが PR の説明と 作成 ビューでサポートされるようになりました。
- 新しい設定
"githubPullRequests.allowFetch": false
は、fetch
が実行されるのを防ぎます。 - サブモジュール サポートが改善されました。
その他のハイライトについては、拡張機能の 0.78.0 リリースの変更ログ を確認してください。
プレビュー機能
ツリーのスティッキー スクロール
エディターでのスティッキー スクロールの成功に基づいて、この機能をすべてのツリー ビューに拡張し、ユーザーがプロジェクト ツリーをより簡単にナビゲートできるようにしました。ツリーのスティッキー スクロールは、workbench.tree.enableStickyScroll: true
を設定することで有効にできます。スティッキー スクロールがスペースを取りすぎないようにするために、ビューの高さの最大 40% までしか占有できません。さらに、ユーザーは workbench.tree.stickyScrollMaxItemCount
を構成することで、スティッキー要素の最大数をカスタマイズできます。これはデフォルトで 7 に設定されています。
ツリー ナビゲーション エクスペリエンスを向上させるために、スティッキー要素を選択してツリー内のその要素に直接ジャンプしたり、親要素のシェブロンを押してすべての子要素を非表示にしたりできます。さらに、スティッキー スクロールが有効になっている場合、チェックボックスとアクション項目へのアクセスが容易になります。
マルチファイル差分エディター
このリリースでは、マルチ差分エディター のプレビューが提供されます。マルチ差分エディターを使用すると、複数のファイルの変更を 1 つのスクロール可能なビューで表示できます。
マルチ diff エディターを有効にするには、"multiDiffEditor.experimental.enabled": true
を設定してください。現在、マルチ diff エディターは、ローカルの変更、ステージングされた変更、受信/送信の変更、およびプルリクエストからの変更のレビューに使用できます。マルチ diff エディターはまだ機能が完全ではなく、すべてのシナリオで動作するとは限らないことに注意してください。
韓国語の代替文字フィルタリング
フィルタリングを使用するワークベンチ全体のさまざまな機能について、VS Code は、言語入力メソッドエディター (IME) の切り替えを誤って忘れることがよくあるため、QWERTY キーボードの同等の文字も検索するようになりました。これは検索エンジンと同様の動作をしますが、リアルタイムで行われます。たとえば、韓国語 IME で debug
と入力すると ㅇ듀ㅕㅎ
となり、意味不明になります。
現在、単語の途中からのフィルタリングは機能しません。
問題の装飾を非表示にする
エディターおよびワークベンチ全体(問題ビューを除く)で問題の装飾を非表示にする新しい設定が追加されました。設定の[Problems: Visibility] (問題: 可視性) (problems.visibility
) は、デフォルトで有効になっており、すべての問題を表示します。
[Problems: Visibility] (問題: 可視性) がオフの場合、一部の問題 UI 設定は無効になります
- アウトライン > 問題: バッジ (
outline.problems.badges
) - アウトライン > 問題: 色 (
outline.problems.colors
) - アウトライン > 問題: 有効 (
outline.problems.enabled
) - 問題 > 装飾: 有効 (
problems.decorations.enabled
)
[Problems: Visibility] (問題: 可視性) がオフの場合、ステータスバーに警告が表示されます。
提案された API
すべてのマイルストーンには、新しい提案された API が付属しており、拡張機能の作成者はそれらを試すことができます。いつものように、皆様からのフィードバックをお待ちしております。提案された API を試すための手順は次のとおりです。
- 試したい提案を見つけ、その名前を
package.json#enabledApiProposals
に追加します。 - 最新の @vscode/dts を使用し、
npx @vscode/dts dev
を実行します。対応するd.ts
ファイルがワークスペースにダウンロードされます。 - これで、提案された API に対してプログラミングできます。
提案された API を使用する拡張機能を公開することはできません。次回のリリースで破壊的な変更が発生する可能性があり、既存の拡張機能を決して壊したくありません。
テスト カバレッジ
今回のイテレーションでは、テスト カバレッジに関する作業を再開し、初期 UI 統合と、長年の提案に対するいくつかのマイナーアップデートを行いました。API はここに含めるには長すぎますが、かなり簡単であると考えており、issue #123713 の提案に関するご意見をお待ちしております。
チャット エージェント
最近のブログ記事「VS Code における「高度なスマートさ」の追求」で述べたように、拡張機能がチャットエージェントを Copilot チャット ビューに提供するためのモデルを開発しています。チャット エージェント API が提案されていますが、今すぐ独自のチャット エージェントを追加して試すことができます。更新情報については、issue #199908 を購読してください。
複数ドキュメント ハイライト API
前回のリリースで導入されたように、VS Code 内での複数ドキュメント ハイライトがサポートされるようになりました。今回のイテレーションでは、複数ドキュメント ハイライト プロバイダーを登録するための提案された MultiDocumentHighlightProvider API が追加されました。これにより、特定のプログラミング言語に対してセマンティック オカレンス ハイライトを提供できるようになります。プロバイダーは、URI
から DocumentHighlight
への Map を持つ新しい 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 のコントリビューターに心から感謝申し上げます。
Issue tracking (Issue 追跡)
Issue tracking への貢献
プルリクエスト
vscode
への貢献
- @a-stewart (Anthony Stewart): viewPaneContainer.ts で
'solid' || ''
を簡略化 PR #198515 - @abhijit-chikane (Abhijit Chikane): treeStickyScroll のデフォルト値を boolean に変更 PR #198849
- @amaust (Andrew Maust): URL ツールチップに「verified domain (検証済みドメイン)」識別子を追加 PR #197037
- @andrewbranch (Andrew Branch)
- type-only imports (型のみのインポート) を優先する設定を追加 PR #196123
- [typescript-language-features] preferTypeOnlyAutoImports の不足している設定の説明を追加 PR #197403
- @arvid220u (Arvid Lunnemark)
- 設定ページが空白になる問題を修正 PR #198261
- node を許可するように条件名を更新 PR #198274
- @cobey (Cody Beyer)
- 不足している py azure パッケージを追加 PR #195508
- Cobey 不足している js を追加 PR #197600
- @d-mahard (Dipta Mahardhika): chore: コメント入力ボックスの色変数をリネーム PR #197950
- @elseifthen: 検索結果の先頭に行番号を表示 (#_190742) PR #195452
- @gjsjohnmurray (John Murray)
- 補助ウィンドウに「Lock Group (グループをロック)」ボタンを追加 (#_182265) PR #182294
- データブレークポイントで条件とヒット数をサポート (fix #188721) PR #195710
- 冗長なタスクシステムメッセージと FSP に影響を与える早期リターンを削除 (fix #192490) PR #196247
- リポジトリ サブメニューで空または曖昧なリポジトリ ラベルを回避 (fix #196613) PR #196623
typescript.implementationsCodeLens.showOnInterfaceMethods
設定を追加 (#_136282) PR #198419- タイムライン設定の不要になった移行コードを削除 PR #198542
- マルチ diff エディターに「Collapse All Diffs (すべての差分を折りたたむ)」アクション ボタンを追加 PR #199064
- マルチ diff エディター: 「Expand All Diffs (すべての差分を展開)」アクションを追加 PR #199623
- @gtritchie (Gary Ritchie): aria-hide 検索アイコン PR #197577
- @hamirmahal (Hamir Mahal): feat: ターミナル コピー コマンドのキーボード ショートカット作成を許可 PR #197099
- @hsfzxjy (Xie Jingyi)
- @installed が拡張機能の説明に一致 PR #196602
- 「Show Previous/Next Change (前/次の変更を表示)」をクリックしたときにカーソルを設定 PR #197501
- inlineSuggest.showToolbar.never を追加 PR #198227
- @idootop (Del): feat: editor.action.showHover の新しい hover focus オプションを導入 PR #196891
- @jsoref (Josh Soref):
Cannot
を書き出す PR #198377 - @jtbandes (Jacob Bandes-Storch): Swift 文法とアップストリーム リポジトリを更新 PR #197470
- @marrej (Marcus Revaj): # Suggest ドロップダウン/インライン補完の部分的な受け入れ (次のトークン/行経由) の競合を修正 PR #197633
- @marvinruder (Marvin A. Ruder):
npm
拡張機能にパッケージ マネージャーとして Bun を追加 PR #198005 - @mrgharabaghi (Mohammad Reza Gharabaghi): theme-defaults を更新 PR #197449
- @myty (Michael Tyson): コンテキスト メニューから拡張機能が提供するターミナル プロファイルを使用 PR #195108
- @n-gist (n-gist): ピン留めされたタブ ボタン (アイコン) の制御設定を追加 PR #196896
- @nolddor (Jack Nolddor): fix: new-empty-windows デスクトップ アクションの翻訳の欠落を修正 PR #199129
- @noritada (Noritada Kobayashi): Rust 文字列の \xN8 および \xN9 が誤って色付けされる問題を修正 PR #196198
- @oxcened (Alen Ajam): fix: エディターのモデル コンテンツの変更で hover を非表示にしない PR #198100
- @PrathamLalwani: 音声チャットのリスニング時間機能を追加 PR #197801
- @r3m0t (Tomer Chachamu): [Acc] キーボードでアクセス可能なツールチップ - Fixes #132344 PR #197965
- @rehmsen (Ole)
- ようこそ画面からターミナルへの切り替え時のレイアウト。 PR #173368
- cycle browserHostService.ts -> web.api.ts を削除。 PR #198221
- xtermTerminal.test.ts を hermetic にする。 PR #198403
- @remcohaszing (Remco Haszing): Monaco のターゲットを es6 から es2018 に引き上げ PR #192050
- @ronakj (Ronak Jain): ナビゲーションの tsconfig 解決を修正 PR #192851
- @scripthunter7 (David): YAML に TMLanguage エイリアスを追加 PR #198300
- @SimonSiefke (Simon Siefke)
- feature: クリップボードからファイルを貼り付けることを許可 PR #195730
- fix: ドロップダウン アクションのメモリ リーク PR #197769
- fix: コメント コントローラーのメモリ リーク PR #198237
- @tisilent (xiejialong)
- ターミナル検索に mousedown、contextmenu イベントを追加 PR #194817
- _adoptConfiguration* で割り当ての非表示を削除 PR #197526
- @WardenGnaw (Andrew Wang)
- コンテキスト (ファイルを開く) なしで動的構成プロバイダーを表示 PR #196768
- serverReadyAction を使用した DebugConfigurations の実行のサポートを追加 PR #197597
- @zobo (Damjan Cvetko): fix: 組み込み PHP 検証プロバイダーの無効な endCharacter 値 PR #196166
vscode-css-languageservice
への貢献
- @dyhagho (Dyhagho Briceño): [scss] partial files (パーシャルファイル) のサポートを含めるためのパス リゾルバー PR #373
vscode-pull-request-github
への貢献
- @flpcury (Felipe Cury): createDraft および setAutoMerge の非推奨メッセージを修正 PR #5429
- @gjsjohnmurray (John Murray):
githubIssues.useBranchForIssues
設定の説明を markdown として扱う (fix #5506) PR #5508 - @kurowski (Brandt Kurowski): デフォルト ブランチ PR を無視することを決して提案しない設定を追加 PR #5435
- @ThomsonTan (Tom Tan): 各アクティブな PR の差分を順番に反復処理 PR #5437