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月リリースへようこそ。このバージョンには、皆さんに気に入っていただけるであろう多くの更新が含まれています。主なハイライトは以下の通りです。
- フローティングエディターウィンドウ - エディターをデスクトップにドラッグアンドドロップできます。
- アクセシビリティビューのワークフロー - アクセシビリティビューとのスムーズな遷移。
- 拡張機能の更新をより細かく制御 - 自動更新する拡張機能を選択できます。
- ソース管理のインカミング/アウトゴーイングビュー - 保留中のリポジトリ変更を簡単に確認できます。
- JavaScriptヒープスナップショット - メモリオブジェクトグラフを含むヒープスナップショットを視覚化します。
- インレイヒントからのTypeScript定義へジャンプ - インレイヒントのホバーから定義へジャンプできます。
- Python型階層表示 - 複雑な型関係を素早く確認し、ナビゲートできます。
- GitHub Copilotの更新 - インラインチャットの改善、Rustコードの解説。
- プレビュー: 拡張されたスティッキースクロールサポート - ツリービューとターミナルでのスティッキースクロール。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。
GitHub Universe、Copilot、VS Code
今年のGitHub Universeを視聴または参加できた方なら、GitHub Copilotが中心的な役割を果たしているのを目にしたでしょう。Copilotは基調講演や、GitHub Copilot: 今日と明日のAIペアプログラマーなどの分科会で紹介されました。
VS Codeチームは、Copilotをエディターに統合するために懸命に取り組んでおり、GitHub Universeまでのチームの進捗状況については、最近のブログ記事「VS Codeにおける「極めて賢い」追求」で詳しく学ぶことができます。この投稿では、コードベースとテクノロジーに関する専門家として振る舞うCopilot Chatのエージェントの開発について詳しく説明し、拡張機能の作者が独自のカスタムエージェントをVS Codeに貢献する方法についても述べています。
アクセシビリティ
アクセシビリティビュー
前回のリレーションでは、UIコンポーネントとそのAccessible View間のシームレスなフローを実現するために、キーが押されたときにAccessible Viewが自動的に閉じるように導入しました。場合によっては、この動作が望ましくないことがあり、accessibility.accessibleView.closeOnKeyPress
設定で無効にできるようになりました。
ターミナルとそのアクセシビリティビューの間を切り替えている場合、terminal.integrated.accessibleViewFocusOnCommandExecution
を有効にすると、ターミナルでコマンドが実行された後にアクセシビリティビューが自動的に開くようになります。
キーボードフォーカス時にツールチップを表示
キーボードユーザーの操作性を向上させるため、アクティビティバーやステータスバーの項目など、カスタムホバーを持つ項目については、キーボードフォーカス時にツールチップが表示されるようになりました。
音声検出タイムアウト
新しい設定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
)
フローティングウィンドウのエディター領域は、任意の複雑なレイアウトで配置できます。また、ターミナルも検索結果もエディターとして開けるため、これらの機能も別のウィンドウで利用できるようになりました!
この新しい機能をぜひお試しいただき、遭遇した問題があればご報告ください。既存の問題を確認し、不足している機能に投票してください。
ファイルエクスプローラーでのネイティブ貼り付けサポート
VS Codeは、OSのExplorerからVS Codeのファイルエクスプローラーへのファイルのネイティブ貼り付けをサポートするようになりました。
拡張機能の自動更新を制御
自動更新する拡張機能を選択できるようになりました。これは、すべての拡張機能を自動更新したくないが、選択的に自動更新するものを選択したい場合に役立ちます。拡張機能、またはパブリッシャーのすべての拡張機能を選択できます。パブリッシャーのすべての拡張機能を自動更新することを選択した場合、そのパブリッシャーから個々の拡張機能の選択を解除できます。
この機能を使用するには、自動更新を無効にする (なし) か、選択した拡張機能に対して有効にする (選択した拡張機能) 必要があります。
新しいプロファイルアイコン
以下の新しいプロファイルアイコンをプロファイルに追加できます。
VR
ピアノ
コーヒー
ヘビ
ロボット
ゲーム
チップ
音楽
設定エディターの検索機能の改善とバグ修正
設定エディターでは、検索結果が以前のように目次のみではなく、一致タイプによってまずソートされるようになりました。つまり、タイトルやキーワードの一致が上位に表示されるため、一致するタイトルを持つ設定を見つけるためにスクロールする必要がなくなりました。
テーマ: Light Pink (vscode.devでプレビュー)
設定エディターは、タイブレーカーの場合には引き続き目次によって設定を並べ替えます。つまり、拡張機能の作者のorder
キーは、@ext:
などの検索クエリに対して尊重されます。
また、今回のイテレーションでは、ネットワークの問題による設定エディターの読み込み失敗や、特定の検索クエリでのハングなど、多くの設定エディターの回帰が修正されました。
エディター
保存時および自動保存時のコードアクション
エディターで自動保存時にコードアクションを有効にできるようになり、エディター: 保存時のコードアクション (editor.codeActionsOnSave) 設定は、対応するenum値に移行されました。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
を設定することで有効にできます。将来的にはデフォルトで有効にする予定で、その際には右クリックして無効にすることができます。
コマンドの強調表示
ターミナルでコマンドにカーソルを合わせると、左側に強調表示バーが表示されるようになりました。これは、あるコマンドの開始と別のコマンドの終了が明確でないプレーンなターミナルプロンプトに役立ちます。
シェル統合とコマンドナビゲーションの改善
スティッキースクロールの導入により、シェル統合に多くの改善が加えられました。特にWindows上で実行されているターミナルでは、シェル統合から受信したマーカーが完全に信頼できるわけではありません。ターミナルコンテンツをインテリジェントにスキャンし、ターミナルコマンドが利用可能になる前にマーカーを調整するロジックが追加されました。
シェル統合は、プロンプトの異なる部分(プロンプトとその入力)を検出できるようになりました。これにより、スティッキースクロールを使用する際に表示されるコマンドの部分が決定されます。また、プロンプトの上部にある空行をトリミングすることもできます。これは、出力を分割してターミナルを読みやすくするためによく使用されます。
既存のコマンドナビゲーション機能も、信頼性の低いプロンプトラインではなく、スティッキースクロールに使用される信頼性の高いプロンプトにナビゲートできるため、恩恵を受けます。
以前
以後
アンダーライン描画の改善
ターミナルにおける破線と点線のアンダーラインが、ピクセルパーフェクトなパターンで描画されるようになりました。
Git pullクイックフィックス
Gitブランチのチェックアウトを高速フォワードできる場合、新しいターミナルクイックフィックスでgit pull
を実行するオプションが提供されます。
タスク
npm.packageManager
設定は、package.json
で定義されたBunスクリプトの検出と実行を有効にするためにbun
に設定できるようになりました。
デバッグ
JavaScriptデバッガー
ヒープスナップショットの視覚化
.heapsnapshot
として保存されたV8ヒープスナップショットがVS Codeで視覚化できるようになりました。従来の表形式ビューと、特定のメモリオブジェクトのリテーナーのグラフィカル表示の両方があります。
テーマ: Codesong (vscode.devでプレビュー)
ヒープスナップショットは、JavaScriptコードのデバッグ中にパフォーマンスプロファイルの取得コマンドを使用してキャプチャできます。また、ブラウザのDevToolsのメモリタブからもキャプチャできます。
イベントリスナーブレークポイントビューの改善
Microsoft EdgeまたはGoogle Chromeブラウザーのデバッグ中に表示されるイベントリスナーブレークポイントビューが改善されました。チェックボックスリストになり、URLに基づいてXHR/fetchリクエストで一時停止できるようになりました。
Rustを使用したWebAssemblyデバッグ
VS Codeとwasm-bindgen
の両方が変更され、RustでWebAssemblyにコンパイルされたコードを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およびプルリクエストと問題拡張機能を自動的にインストールします。
- Dev Containerにインストールされる拡張機能をより細かく制御できるようになりました。
- ローカルDev ContainerおよびWSLセッションでローカルマシン証明書を再利用できます。
これらの機能の詳細については、Remote Developmentリリースノートを参照してください。
拡張機能への貢献
GitHub Copilot
インラインチャットUIの改善
インラインチャットのプロンプト履歴がVS Codeセッション間で永続化されるようになりました。以前のプロンプトと次のプロンプトを表示するためのキーボードショートカットも、VS Codeの他の前後の項目ショートカットと合わせて上と下に変更されました。
インラインチャットで/test
スラッシュコマンドなどを使用して新しいファイルを作成することを提案された場合、作成ドロップダウンから名前を付けて作成を選択してファイル名と場所を選択できるようになりました。
最後に、インラインチャットに新しい実験的な軽量UIモードが追加されました。これは、よりスムーズなストリーミングエクスペリエンスを提供し、diffをオンデマンドでのみレンダリングします。"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はリモート検索機能を使用してワークスペースを検索します。プライベートリポジトリでリモート検索を使用するには、より多くのアクセス許可を持つ認証トークンが必要です。必要なアクセス許可を持つトークンがまだない場合、追加のアクセス許可が求められます。
このダイアログは一度しか表示されず、今後の@workspace
エージェントへのクエリではキャッシュされたトークンが使用されます。
@workspace へのリクエストをより簡単に送信
@workspace
エージェントは多くのCopilotクエリで使用されるため、できるだけ簡単にアクティブ化できるようにしたいと考えました。チャット入力に質問を入力し、を押すことで、質問を送信し、自動的に@workspace
を前置できるようになりました。
CopilotでRustコードを説明
Copilot Chatは、Rustコードを説明するように要求され、rust-analyzerなどのRust言語サービス拡張機能がインストールされている場合、コードベースからファイル間のコンテキストを収集するようになりました。Copilotの説明を表示するには、アクティブなエディターでコードを選択し、コンテキストメニューからCopilot > Explain Thisを選択するか、インラインチャットまたはチャットビューから/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 Debugger拡張機能には、実行ボタンメニューの下に構成可能なデバッグオプションが追加されました。Python Debugger: launch.jsonを使用してデバッグを選択し、ワークスペースに既存のlaunch.json
がある場合、デバッガーを開始するために選択できるすべての利用可能なデバッグ構成が表示されます。構成がない場合、Pythonアプリケーション用のlaunch.json
ファイルを作成するために使用するデバッグ構成テンプレートを選択するよう求められます。
環境変数を使用してアクティブ化された場合の非アクティブ化コマンドのサポート
Python拡張機能には、明示的なアクティベーションコマンドを実行せずに、デフォルトのターミナルで選択された環境をアクティブにする新しいアクティベーションメカニズムがあります。これは現在実験的なフラグの後ろにあり、次のユーザー設定で有効にできます: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"]
。
ただし、このアクティベーションメカニズムの初期の欠点の1つは、deactivate
コマンドをサポートしていなかったことです。これは一部のユーザーのワークフローの重要な部分であるとのフィードバックを受け、選択されたデフォルトのターミナルがPowerShellまたはコマンドプロンプトの場合にdeactivate
のサポートを追加しました。将来的には、追加のターミナルへのサポートを追加する予定です。
REPL Smart Sendに関する警告メッセージと設定
無効なコードまたは非推奨のコードを含むPythonファイルでShift+Enterを使用してスマート送信を試みると、REPLスマート送信を無効にする警告メッセージとオプションが表示されるようになりました。ユーザーは、Python.REPL: REPLスマート送信を有効にする (python.REPL.enableREPLSmartSend
) 設定を使用して、REPLスマート送信のユーザーおよびワークスペース固有の動作を変更できます。
テストアーキテクチャの書き換え
Pythonのテストアダプターのリライト実験が100%のユーザーに展開されました。現在、settings.json
に"python.experiments.optOutFrom" : "pythonTestAdapter"
を追加することでオプトアウトできますが、まもなくこの実験フラグは削除され、この新しいアーキテクチャが採用されます。
GitHubプルリクエストと課題
プルリクエストと課題を操作、作成、管理できるGitHubプルリクエストと課題拡張機能に、さらに進捗がありました。
- PRの説明と作成ビューでマージキューがサポートされるようになりました。
- 新しい設定
"githubPullRequests.allowFetch": false
により、fetch
の実行が防止されます。 - サブモジュールのサポートが改善されました。
その他のハイライトについては、拡張機能の0.78.0リリース向け変更履歴をご確認ください。
プレビュー機能
ツリービューのスティッキースクロール
エディターでのスティッキースクロールの成功を受けて、この機能をすべてのツリービューに拡張し、ユーザーがプロジェクトツリーをより簡単にナビゲートできるようにしました。ツリーのスティッキースクロールは、workbench.tree.enableStickyScroll: true
を設定することで有効にできます。スティッキースクロールがスペースを取りすぎないように、ビューの高さの最大40%しか占有できません。さらに、ユーザーはworkbench.tree.stickyScrollMaxItemCount
を設定することで、スティッキー要素の最大数をカスタマイズできます。これはデフォルトで7に設定されています。
ツリーナビゲーションの操作性を向上させるため、スティッキー要素を選択してツリー内のその要素に直接ジャンプしたり、親要素のシェブロンを押してすべての子要素を非表示にしたりできます。また、スティッキースクロールが有効になっている場合、チェックボックスやアクション項目へのアクセスも容易になります。
マルチファイル差分エディター
このリリースでは、マルチ差分エディターのプレビューが提供されます。マルチ差分エディターを使用すると、複数のファイルの変更を1つのスクロール可能なビューで表示できます。
マルチ差分エディターを有効にするには、"multiDiffEditor.experimental.enabled": true
を設定します。現在、マルチ差分エディターは、ローカルの変更、ステージングされた変更、受信/送信の変更、プルリクエストからの変更を確認するために使用できます。マルチ差分エディターはまだ機能が完全ではなく、すべてのシナリオで動作しない可能性があることに注意してください。
韓国語の代替文字フィルタリング
フィルタリングを使用するワークベンチ全体で様々な機能において、VS CodeはQWERTYキーボードの等価文字も検索するようになりました。これは、言語入力メソッドエディター (IME) を切り替えるのを誤って忘れることがよくあるためです。これは検索エンジンと似ていますが、リアルタイムで動作します。例えば、韓国語IMEでdebug
と入力するとㅇ듀ㅕㅎ
となり、これは意味不明です。
現在、単語の途中からフィルタリングする場合は動作しません。
問題のデコレーションを非表示にする
エディターおよびワークベンチ全体(問題ビューを除く)の問題のデコレーションを非表示にする新しい設定が追加されました。問題: 表示 (problems.visibility
) 設定は、すべての問題を表示するためにデフォルトで有効になっています。
問題: 表示がオフの場合、一部の問題UI設定は無効になります
- アウトライン > 問題: バッジ (
outline.problems.badges
) - アウトライン > 問題: 色 (
outline.problems.colors
) - アウトライン > 問題: 有効 (
outline.problems.enabled
) - 問題 > デコレーション: 有効 (
problems.decorations.enabled
)
問題: 表示がオフの場合、ステータスバーに警告が表示されます。
提案されたAPI
すべてのマイルストーンには新しい提案された API が含まれており、拡張機能の作者はそれらを試すことができます。いつものように、皆様からのフィードバックを歓迎します。提案された API を試す手順は次のとおりです。
- 試したい提案を見つけて、その名前を
package.json#enabledApiProposals
に追加します。 - 最新の@vscode/dtsを使用し、
npx @vscode/dts dev
を実行します。これにより、対応するd.ts
ファイルがワークスペースにダウンロードされます。 - これで提案に対してプログラミングできます。
提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。
テストカバレッジ
今回のイテレーションでは、テストカバレッジの作業を復活させ、初期のUI統合と長年の提案に対するいくつかの小さな更新を行いました。APIはここに含めるには長すぎますが、かなり分かりやすいものだと考えており、issue #123713での提案に対する皆様の意見を歓迎します。
チャットエージェント
最近のブログ投稿「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
への貢献者
- @a-stewart (Anthony Stewart): viewPaneContainer.tsで
'solid' || ''
を簡素化 PR #198515 - @abhijit-chikane (Abhijit Chikane): treeStickyScrollのデフォルト値をbooleanに変更 PR #198849
- @amaust (Andrew Maust): URLツールチップに「確認済みドメイン」識別子を追加 PR #197037
- @andrewbranch (Andrew Branch)
- 型のみのインポートを優先する設定を追加 PR #196123
- [typescript-language-features] preferTypeOnlyAutoImportsの不足している設定の説明を追加 PR #197403
- @arvid220u (Arvid Lunnemark)
- 空白の設定ページを修正 PR #198261
- ノードを許可するように条件名を更新 PR #198274
- @cobey (Cody Beyer)
- 不足しているpy azureパッケージを追加 PR #195508
- Cobeyが不足しているjsを追加 PR #197600
- @d-mahard (Dipta Mahardhika): chore: コメント入力ボックスのcolor var名を変更 PR #197950
- @elseifthen: 検索結果の前に行番号を表示 (#_190742) PR #195452
- @gjsjohnmurray (John Murray)
- 補助ウィンドウに「グループをロック」ボタンを追加 (#_182265) PR #182294
- データブレークポイントの条件とヒットカウントをサポート (fix #188721) PR #195710
- FSPに影響を与える冗長なタスクシステムメッセージと早期リターンを削除 (fix #192490) PR #196247
- リポジトリサブメニューで空または曖昧なリポジトリラベルを避ける (fix #196613) PR #196623
typescript.implementationsCodeLens.showOnInterfaceMethods
設定を追加 (#_136282) PR #198419- タイムライン設定の廃止された移行コードを削除 PR #198542
- マルチ差分エディターに「すべての差分を折りたたむ」アクションボタンを追加 PR #199064
- マルチdiffエディタ: 全ての差分を展開するアクションを追加 PR #199623
- @gtritchie (Gary Ritchie): aria-hide 検索アイコン PR #197577
- @hamirmahal (Hamir Mahal): feat: ターミナルコピーコマンドのキーボードショートカット作成を許可 PR #197099
- @hsfzxjy (Xie Jingyi)
- @installedは拡張機能の説明に一致 PR #196602
- 「前の変更/次の変更を表示」をクリックしたときにカーソルを設定 PR #197501
- inlineSuggest.showToolbar.neverを追加 PR #198227
- @idootop (Del): feat: editor.action.showHover の新しいホバーフォーカスオプションを導入 PR #196891
- @jsoref (Josh Soref):
Cannot
を書き出す PR #198377 - @jtbandes (Jacob Bandes-Storch): Swift文法とアップストリームリポジトリを更新 PR #197470
- @marrej (Marcus Revaj): # 提案ドロップダウン/インライン補完の部分承認(次のトークン/行経由)の競合を修正 PR #197633
- @marvinruder (Marvin A. Ruder):
npm
拡張機能にBunをパッケージマネージャーとして追加 PR #198005 - @mrgharabaghi (Mohammad Reza Gharabaghi): テーマのデフォルトを更新 PR #197449
- @myty (Michael Tyson): コンテキストメニューから拡張機能提供のターミナルプロファイルを使用 PR #195108
- @n-gist (n-gist): ピン留めタブボタン (アイコン) コントロール設定を追加 PR #196896
- @nolddor (Jack Nolddor): fix: 新しい空のウィンドウデスクトップアクションの翻訳漏れ PR #199129
- @noritada (Noritada Kobayashi): Rust文字列内の\xN8および\xN9が誤って色付けされる問題を修正 PR #196198
- @oxcened (Alen Ajam): fix: エディターのモデルコンテンツが変更されてもホバーが非表示にならないようにする PR #198100
- @PrathamLalwani: 音声チャットの聞き取り時間機能を追加 PR #197801
- @r3m0t (Tomer Chachamu): [Acc] キーボードアクセス可能なツールチップ - #132344を修正 PR #197965
- @rehmsen (オーレ)
- ようこそ画面からターミナルに切り替えるときのレイアウト。 PR #173368
- サイクル browserHostService.ts -> web.api.ts を削除。 PR #198221
- xtermTerminal.test.tsを密閉する。 PR #198403
- @remcohaszing (Remco Haszing): Monacoのターゲットをes6からes2018に引き上げ PR #192050
- @ronakj (Ronak Jain): ナビゲーションのtsconfig解決を修正 PR #192851
- @scripthunter7 (David): TMLanguageエイリアスをYAMLに追加 PR #198300
- @SimonSiefke (サイモン・シーフケ)
- 機能: クリップボードからファイルを貼り付けることを許可 PR #195730
- 修正: ドロップダウンアクションにおけるメモリリーク PR #197769
- 修正: コメントコントローラにおけるメモリリーク PR #198237
- @tisilent (xiejialong)
- ターミナル検索にmousedown、contextmenuイベントを追加 PR #194817
- _adoptConfiguration* 内の非表示割り当てを削除 PR #197526
- @WardenGnaw (Andrew Wang)
- コンテキストなし (ファイルが開いている) で動的構成プロバイダーを表示 PR #196768
- serverReadyAction付きのDebugConfigurationの実行をサポート PR #197597
- @zobo (Damjan Cvetko): fix: ビルトインPHP検証プロバイダーにおける無効なendCharacter値 PR #196166
vscode-css-languageservice
への貢献者
- @dyhagho (Dyhagho Briceño): [scss] 部分ファイルサポートを含むパスレゾルバー 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