2023年10月 (バージョン 1.84)
更新 1.84.1: この更新では、これらの問題に対処しています。
更新 1.84.2: この更新では、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | Linux: deb rpm tarball Arm snap
Visual Studio Code 2023年10月リリースへようこそ。このバージョンには、気に入っていただけることを願う多くの更新が含まれています。主なハイライトの一部を以下に示します。
- 音声キューの追加 - クリア、保存、フォーマットのアクティビティを示す新しい音声キュー。
- アクティビティバーの位置 - コンパクトな表示のためにアクティビティバーを上部に移動。
- エディタータブの非表示 - 複数の、単一の、またはエディタータブを表示しない。
- エディターグループの最大化 - アクティブなエディターグループをすばやく拡大。
- Pythonの改善 - ターミナルでのコード実行の改善、仮想環境作成の容易化。
- FastAPIチュートリアル - VS CodeでPython FastAPIアプリを開発する方法を学習。
- Java用Gradle - Java Gradleプロジェクトのサポートを改善。
- プレビュー: GitHub Copilot - チャット「エージェント」、コミットメッセージの生成、ターミナルサポート。
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の 更新 にアクセスしてください。
Insiders: 新機能をいち早く試したいですか?夜間ビルドのInsidersをダウンロードして、利用可能になり次第、最新の更新を試すことができます。
アクセシビリティ
クリア、フォーマット、保存のオプトイン音声キュー
audioCues.clear
を有効にすると、ターミナル、通知、チャットの応答がクリアされたことを示す音が鳴ります。
ファイルとノートブックでは、audioCues.save
と audioCues.format
を設定して、ユーザーのジェスチャーまたは各イベントに対して常に再生することができます。無効にすると、代わりにARIAアラートが使用され、accessibility.alert.format
と accessibility.alert.save
でカスタマイズできます。
Windows拡大鏡の同期
Windows拡大鏡がVS Code内でカーソルを正しく追跡するようになりました。
アクセシブルビューの改善
デフォルトでは、ユーザーのカーソルはターミナルのアクセシブルビューの下部に配置されます。位置を保持するには、terminal.integrated.accessibleViewPreserveCursorPosition
を true
に設定します。
アクセシブルビューは accessibility.hideAccessibleView
で非表示にできます。これは、視覚のあるユーザーの聴衆と画面を共有する場合に便利です。
アクセシブルビューは、ユーザーが入力を開始し、以前の要素にフォーカスすると閉じられ、よりスムーズなワークフローを実現します。
ウィンドウタイトルフォーカスビューのエディター
前回のイテレーションでは、${focusedView}
変数を window.title
に追加しました。今回から、Text Editor
がフォーカスされている場合も表示されます。
ワークベンチ
アクティビティバーの位置をカスタマイズ
次のビデオに示すように、アクティビティバーをサイドバーの上部に移動できるようになりました。
アクティビティバーを上部に配置すると、アカウントと管理ボタンがタイトルバーの右端に移動します。
注: これは、カスタムタイトルバーが有効になっている場合のみサポートされます ("window.titleBarStyle": "custom"
)。
エディタータブの非表示
ユーザーは、workbench.editor.showTabs
を none
に設定することで、エディタータブを非表示にできるようになりました。他の showTabs
オプションは、multiple
(デフォルト) と single
で、アクティブなエディターの単一のエディタータブを表示します。
エディターグループの最大化
エディターグループを最大化するための新しいコマンド 表示: エディターグループの最大化を切り替える (⌘K ⌘M (Windows, Linux Ctrl+K Ctrl+M)) が追加されました。これにより、他のすべてのグループが非表示になり、タブバーにボタンが追加され、ユーザーは以前のレイアウトを復元できます。workbench.editor.doubleClickTabToToggleEditorGroupSizes
の設定が maximize
に設定されている場合、ユーザーはエディタータブをダブルクリックしてエディターグループを最大化したり解除したりできます。
設定エディターでの類似設定の検索
コマンドパレットと同様に、設定エディターも類似設定の検索を実行して、特定のクエリに対してより関連性の高い結果を収集するようになりました。
実装は現在初期段階にあり、次の数回のイテレーションで改善が期待できます。
プロトコルリンクを開く際の確認
ファイルまたはワークスペースのプロトコルリンクがVS Codeで開かれると、確認ダイアログが表示されるようになりました
プロトコルリンクは、ローカルファイル (例: vscode://file/path/to/file
) またはリモートファイル (例: vscode://vscode-remote/ssh-remote+[USER@]HOST[:PORT]/path/to/file
) を指すことができます。それぞれの場合において、この動作を無効にする新しい設定があります
security.promptForLocalFileProtocolHandling
- ローカルプロトコルリンクの場合security.promptForRemoteFileProtocolHandling
- リモートプロトコルリンクの場合
エディター
最も近いクイックフィックスのキーボードショートカット
新しい設定が追加され、カーソルがその行のどこにあっても、⌘. (Windows, Linux Ctrl+.) (コマンドID editor.action.quickFix
) から行内の最も近いクイックフィックスをアクティブ化できるようになりました。以前はプレビュー機能だった コードアクションウィジェット: 周囲のクイックフィックスを含める (editor.codeActionWidget.includeNearbyQuickFixes
) がデフォルトで有効になりました。
このコマンドは、クイックフィックスでリファクタリングまたは修正されるソースコードをハイライト表示します。通常のコードアクションと修正以外のリファクタリングは、カーソル位置で引き続きアクティブ化できます。
複数ドキュメントのハイライト
複数ドキュメントにわたるコードハイライトの初期サポートが、設定 エディター: 複数ドキュメントの出現箇所 (editor.multiDocumentOccurrencesHighlight
) を介して追加されました。この初期実装ではテキストの出現箇所のみが対象で、セマンティックハイライトのサポートは将来追加される予定です。
ソース管理
--force-if-includes
を使用した強制プッシュ
このマイルストーンでは、Git 2.30で追加された --force-with-lease
の補助オプションである --force-if-includes
オプションがサポートされるようになりました。この新しいオプションは、強制プッシュされるコミットがリモート参照の先端のコミットを調べてから作成されたことを保証し、自動フェッチが有効になっている場合にコミットを失う可能性を減らします。git.useForcePushIfIncludes
設定を無効にすることで、--force-if-includes
の使用を無効にできます。
ノートブック
実行時のスクロールの改善
Shift+Enter
を使用してノートブックを実行する際に、次のセルが表示される方法が改善され、出力に集中しやすくなりました。これにより、既に出力があるセルを再実行する際のセルの移動量も減ります。
IPythonスタックトレースのレンダリング
IPythonからの例外スタックトレースが、エラーに移動するのに役立つクリック可能なリンクとしてレンダリングされるようになりました。これは、Jupyter拡張機能が最初にスタックトレースを変更しない場合にのみ適用されます: "jupyter.formatStackTraces": false
。
デバッグ
JavaScriptデバッガー
イベントリスナーブレークポイントビューの改善
イベントリスナーブレークポイントビューはより使いやすくなり、チェックボックス付きのツリーとして表示されるようになりました
ソースマップの名前変更のより良い処理
コードがバンドラーでコンパイルされると、変数の名前が変更されることがあります。これは、すべてのバンドラーでのインポートや、esbuild の特定のローカル識別子で特に一般的です。デバッガーは、各名前変更が適用されるスコープを認識するようになり、これまでユーザーが遭遇していた多くの問題が解決されました。
これには、デバッガーがコンパイルされたモジュールの構文ツリーを解析する必要があります。これはバックグラウンドスレッドで、名前変更が検出された場合にのみ行われますが、パフォーマンスへの影響を避けるために、launch.json
で "sourceMapRenames": false
を設定することでこの動作を無効にできます。
リモート開発
リモート開発拡張機能を使用すると、Dev Container、SSH経由のリモートマシン、またはリモートトンネル、あるいはWindows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
主なハイライトは次のとおりです。
- Microsoftアカウントを使用してトンネルにログインできるようになりました。
- WindowsでDev ContainersへのSSHおよびトンネル経由の接続がサポートされました。
これらの機能の詳細については、リモート開発リリースノートをご覧ください。
拡張機能への貢献
GitHub Copilot
インラインチャットのストリーミング
GitHub Copilot Chat 拡張機能のインラインチャットが、プログレッシブなテキスト編集を行い、応答の受信速度に合わせて「入力」するようになりました。これは、以前の動作のように、応答全体がエディターに適用されるまで待つよりも自然な体験です。
すべての編集が挿入ではなく、置換の場合、Copilotはどこから開始すればよいか判断に苦労することがあります。そのような場合、ストリーミングはまだ期待どおりに機能しない可能性があります。この分野の改善にご期待ください。
チャットエージェント
このイテレーションでは、Copilot Chatと対話する新しい方法、エージェントを構築しました。エージェントは、専門分野を持ち、あなたを助けることができる専門家のようなもので、@
記号でメンションすることでチャットで彼らと話すことができます。現在、2つのエージェントがあります
@workspace
はワークスペースのコードに関するコンテキストを持っており、関連するファイルやクラスを見つけるのに役立ちます。@vscode
はVS Codeエディター自体のコマンドと機能を知っており、それらを使用するのに役立ちます。
各エージェントはいくつかのスラッシュコマンドもサポートしており、以前使用していたスラッシュコマンドはエージェントと一緒に使用する必要があります。たとえば、/explain
は @workspace /explain
になりました。しかし、ショートカットとして、/
を入力するだけで、完全なエージェントとコマンドに自動的に展開される候補のリストが表示されます。
@workspace
@workspace
エージェントは、メタプロンプトを使用して、質問に答えるためにワークスペースから収集する情報を決定します。メタプロンプトが使用するアプローチの1つは、会話履歴を遡って質問内の曖昧な単語/フレーズを解決することです。たとえば、@workspace What does it do?
と尋ねると、メタプロンプトは履歴を考慮して、it
が実際に何であるか、そして質問に答えるためにどのような情報を収集するかを判断するようになりました。メタプロンプトは、より多くの類義語を含む幅広い用語セットも使用して、潜在的に関連性の高い用語のリストを生成します。
@workspace
の応答内のファイルパスとシンボルはクリック可能なリンクです。これにより、Copilotが参照しているコードに簡単に移動できます。
@workspace
エージェントは、ワークスペースからインデックスを作成するファイルを決定する際に、.gitignore
と .copilotignore
を尊重します。
エージェントがスラッシュコマンドを置き換え
新しいエージェントは、/createWorkspace
や /createNotebook
などのスラッシュコマンドの機能を、追加のスラッシュ修飾子とともに置き換えます
/createWorkspace
-->@workspace /new
/createNotebook
-->@workspace /newNotebook
/explain
-->@workspace /explain
/fix
-->@workspace /fix
/test
-->@workspace /test
/vscode
-->@vscode /api
新しいエージェントを試して、より多くのヒントを得るには /help
と入力してください!
コミットメッセージの生成
Copilot Chat は、ソースコントロール入力ボックスの新しい「きらめき」アクションを使用して、保留中の変更に基づいてコミットメッセージを生成できるようになりました。
インポートのグループ化
生成されたインポートは、常にファイルの先頭または既存のインポートブロックの下に配置されるようになりました。これは、最も一般的なプログラミング言語でサポートされています。
/explain
コンテキストの改善
Copilot Chat に、アクティブなエディターで選択したコードを @workspace /explain
コマンドまたはコンテキストメニューの Copilotで説明 アクションを使用して説明するように要求できます。Copilot Chat は、関数やクラスなどの参照されたシンボルの実装を含むようになり、より正確で役立つ説明につながります。これは、TypeScript/JavaScript、Python、Java、C#、C++、Go、または Ruby のいずれかの言語の言語サービスを提供する拡張機能をインストールしている場合に、ファイル間で最も効果的に機能します。
永続的なチャットビューの状態
以前は、Copilot Chat ビューは最初に非表示になり、後で表示されていました。Copilot Chat ビューは、ウィンドウの再読み込み後もアクティブなままになるため、手動で再度開く必要がありません。さらに、チャットビューでは、GitHub へのサインインと GitHub Copilot の無料トライアルのアクティベートのプロセスを案内します。
設定された表示言語を使用したチャット
デフォルトでは、Copilot Chat は最初に VS Code で設定されている表示言語を使用して応答するようになりました。この自動動作は、github.copilot.chat.localeOverride
を設定することで上書きできます。
ウェルカムメッセージの冗長性の削減
Copilot Chat が会話を初めて開始したときに、詳細なウェルカムメッセージで挨拶するかどうかを、github.copilot.chat.welcomeMessage
を設定することで制御できるようになりました。オプションは first
(デフォルト)、always
、never
です。
ターミナルのクイックフィックス
ターミナルで失敗したコマンドが実行された場合、Copilot が何が起こったかを説明するクイックフィックスを提供するようになりました。
これは、現在のターミナルプロンプトの横にあるきらめきアイコン (⌘. (Windows, Linux Ctrl+.)) を介してトリガーできます。
ターミナルコマンドの提案
ターミナルにフォーカスがある場合、Copilotが⌘I (Windows, Linux Ctrl+I)キーバインドを介してCLIコマンドの提案を提供するようになりました。これにより、@workspace /terminal
が事前入力されたクイックチャットが表示されます
この /terminal
スラッシュコマンドは、現在のシェルを使用してシェルコマンドを提案することに最適化されています。提案の品質とUXは、次のリリースでさらに改善されます。
ターミナルで実行アクションの表示の改善
コードブロックがシェル言語タイプである場合、ターミナルで実行 アクションがコードブロックのホバー時に表示されるようになりました
インラインチャットでターミナルコマンドを返信可能に
インラインチャットがターミナルで実行するコマンドで返信できるようになりました
Python
ターミナルでの行実行の改善
Python拡張機能は、実行するコードが選択されていない場合に、行をPython REPL (Shift+Enter
) に送信する動作を改善しました。以前は、Pythonコードの行にカーソルを置いてShift+Enter
を押すと、Python拡張機能は、たとえば複数行コマンドの一部であるために失敗する可能性がある場合でも、正確な行の内容をREPLに送信していました。
新しい実験的な Smart Send 機能により、Python拡張機能は、カーソル位置の周囲の実行可能な最小限のコードブロックをREPLに送信して実行します。これにより、完全で実行可能なコードセクションのみがREPLに送信されることが保証されます。カーソルも自動的に次の実行可能な行に移動し、複数のチャンクを反復的に実行する際にスムーズな体験を提供します。
試すには、次の ユーザー 設定を追加します: "python.experiments.optInto": ["pythonREPLSmartSend"]
。この機能は現在実験的ですが、将来的にはデフォルトの動作になると予想しています。この機能の改善に関するフィードバックや提案があれば、ぜひお知らせください!
テーマ: Catppuccin Macchiato (vscode.devでプレビュー)
Pythonリンティング拡張機能の改善
お気に入りのPythonツールでより構成可能で柔軟な体験を可能にするために、サポートされているリンティング拡張機能にいくつかの改善を加えました。
Pylint、Mypy、Flake8 の各拡張機能には、リンティングから除外したいファイルのグロブパターンを指定できる設定が追加されました。これは、多数のサブプロジェクトを含む大規模なコードベースで作業している場合に、特定のフォルダーをリンティングから除外したい場合に便利です。これらの設定は、"pylint.ignorePatterns"
、"mypy-type-checker.ignorePatterns"
、"flake8.ignorePatterns"
です。
これらの拡張機能は cwd
設定もサポートしており、リンターの作業ディレクトリを指定できます。この設定は、変数 ${fileDirname}
をサポートするように更新され、エディターで開いているファイルの親フォルダーに作業ディレクトリを動的に設定できるようになりました。これは、モノリポジトリで作業しており、異なるサブプロジェクトのファイルを開く際にリンターの作業ディレクトリを動的に更新したい場合に便利です。これらの設定は、"pylint.cwd"
、"mypy-type-checker.cwd"
、"flake8.cwd"
です。
"mypy-type-checker.preferDaemon"
設定のデフォルト値が変更されました (Mypy 拡張機能のみに適用)。以前は true
に設定されており、Mypy デーモンがデフォルトで使用されることを意味していました。フィードバックを受けて、デフォルト値を false
に変更しました。どちらの値があなたにとって最適か疑問に思っている場合、パフォーマンス上の理由から、Mypy レポートスコープをワークスペース全体 ("mypy-type-checker.reportingScope": "workspace"
) に有効にしている場合は、Mypy デーモンを使用することをお勧めします。そうでなければ、レポートスコープが現在のファイルに設定されている場合は、拡張機能に同梱されている Mypy 実行可能ファイルを使用することをお勧めします。
組み込みのリンティングおよびフォーマット機能の非推奨化
VS Codeのリンティングおよびフォーマット拡張機能へのすべての作業と改善に伴い、Python拡張機能に同梱されている組み込みのリンティングおよびフォーマット機能を非推奨化しました。これには、すべてのリンティングおよびフォーマットコマンドと設定 (python.linting.*
および python.formatting.*
) が含まれます。これらの非推奨の設定をまだ使用している場合は削除し、サポートされているリンティングおよびフォーマット拡張機能を使用することをお勧めします。
サポートされている拡張機能なしでリンターを使用している場合は、コミュニティが提供するRuff 拡張機能をチェックしてください。Ruff は Rust で書かれた Python リンターであり、pyflakes、pycodestyle、pydocstyleなど、さまざまなリンターをサポートしています。最近、VS Code で Ruff をフォーマッターとして使用するサポートが追加されました ("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" }
)。
お気に入りのPythonツール用に独自のリンターまたはフォーマッターのVS Code拡張機能を作成することもできます。クイックスタートについては、Python Tools Extension Templateをご覧ください。
環境作成通知
仮想環境は、インストールする必要のある依存関係を持つPythonプロジェクトで作業するための推奨される方法です。これらは分離性と再現性を提供し、Pythonプロジェクトで非常に人気があります。
このため、Python拡張機能は、ワークスペースで仮想環境が選択されていない状態で、リストされた依存関係を持つPythonファイルまたはプロジェクトを実行またはデバッグしようとすると、通知を表示するようになりました。この通知は、Python: 環境の作成 コマンドを介して新しい仮想環境を迅速に作成する方法を提供します。
ワークスペースに既に仮想環境がある場合は、それを選択するか、削除して再作成するオプションがあります。
この通知は、python.python.createEnvironment.trigger
を off
に設定することで無効にできます。
仮想環境非アクティベーションヘルパー
数ヶ月前、私たちは環境変数を使用したターミナルアクティベーションという新しい実験的機能を発表しました。これは、明示的なアクティベーションコマンドなしでターミナルで選択された環境を自動的にアクティブ化することで、開発ワークフローを強化するものです。しかし、明示的なアクティベーションスクリプトが機能しないため、この実験が有効になっている間は deactivate
コマンドが機能しなくなりました。
Python拡張機能は、deactivate
コマンドを実行しようとしたときにそれを検出し、シェル用のスクリプトを追加する方法を案内するヘルパー通知を表示し、環境が環境変数を通じてアクティブ化されたときにコマンドが再び機能するようにします。また、必要なスクリプトを追加するためにシェルプロファイルファイルを開くボタンも提供します。
シェルに必要なスクリプトを追加する方法に関する完全なドキュメントは、vscode-python wiki にあります。
実験に参加しておらず、この機能を試したい場合は、次の ユーザー 設定を追加できます: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"]
。
テスト出力の改善
pythonTestAdapter
実験が有効になっている場合 (数ヶ月前に発表)、Python 拡張機能でのテスト出力の表示と操作方法が大幅に改善されました。以前は、テスト検出と実行からの出力が Python テストログ 出力チャンネルと テスト結果 パネルに一貫性なく散らばっており、一部の情報は両方に重複していました。エクスペリエンスを統合するために、テスト実行に関連する出力は テスト結果 パネルに、テスト検出は Python 出力チャンネルに表示されるようになりました。詳細については、関連する vscode-python wiki をお読みください。
この新しいアプローチは、Pytest を使用しており、settings.json
に "python.testing.pytestArgs": ["--color=yes"]
を設定している場合、出力のカラーリングもサポートします。カラーリングは テスト結果 パネルでのテスト実行にのみ機能し、検出や Python テストログ パネルの出力には機能しません。
テスト検出でエラーが発生した場合に、テストエクスプローラービューからテストログを簡単に開くための新しいボタン 出力の表示 も追加されました。
Pythonデバッガー拡張機能のプラットフォーム固有バージョン
Pythonデバッガー拡張機能はプラットフォーム固有のバージョンを出荷するようになり、更新ごとに必要なプラットフォーム固有のファイルのみがインストールされるようになりました。これにより、拡張機能のサイズが削減され、起動時間の改善に役立ちます。
Tensorboard拡張機能
Tensorboard機能はPython拡張機能からスタンドアロンのTensorboard拡張機能に移行しました。
この新しい拡張機能に関する問題がある場合やフィードバックを提供したい場合は、Tensorboard 拡張機能のGitHubリポジトリに問題を提出してください。
Jupyter
先行セル/依存セルによる実行
Jupyter拡張機能を使用すると、セル実行ボタンの隣にあるドロップダウンメニューから、ターゲットセルの先行セルまたは依存セルをすべて実行できるようになりました。これはまだプレビュー機能であり、jupyter.executionAnalysis.enabled
設定と notebook.consolidatedRunButton
設定で有効にできます。
この機能は現在Pylance拡張機能によって提供されているため、この機能を使用するにはPylanceの最新のプレリリースバージョンをインストールする必要があります。
VS Code 音声
VS Code に音声サポートをもたらす新しい拡張機能を導入します!新しいVS Code 音声拡張機能は、GitHub Copilot Chat に統合され、チャット入力の音声からテキストへの文字起こしサービスを可能にします。
インストール後、マイクアイコンが表示され、選択すると、音声の文字起こし結果に基づいてチャット入力にテキストが入力され始めます。文字起こしはマシン上でローカルに計算され、インターネット接続は必要ありません。
GitHubプルリクエストとイシュー
プルリクエストとイシューの作業、作成、管理を可能にするGitHubプルリクエストとイシュー拡張機能の進捗がありました。
- プロジェクトが表示され、プルリクエスト説明ウェブビューから追加できます。
- GitHub Copilotと統合され、PRの**作成**ビューからPRのタイトルと説明を生成します。
- GitHub CLI (
gh pr checkout
) でチェックアウトされたPRは、拡張機能によって認識されます。
その他のハイライトについては、拡張機能の0.76.0リリースの変更ログを確認してください。
プレビュー機能
フローティングエディターウィンドウ
エディターをワークベンチウィンドウから独自のウィンドウに引き出す方法の検討を継続し、VS Code Insiders コミュニティをこのエキサイティングな新機能を試してフィードバックを提供するよう招待したいと思います。
VS Code Insiders をインストールし、エディターで新しい 表示: アクティブエディターを新しいウィンドウに移動 コマンドを実行して、フローティングウィンドウで開くようにしてください。
まだ多くの問題を解決し、不足している機能を提供する必要がありますが、近い将来にこの機能をStableで有効にできると楽観視しています。
テストにご協力いただきありがとうございます!
言語サーバーのWASM-WASIサポート
実験的なwasm-wasi-core拡張機能に、WASM/WASIでの言語サーバーのサポートが追加されました。
vscode-wasm repoには、Rustで書かれWASMにコンパイルされたシンプルな言語サーバーを示す拡張機能もあります。この拡張機能は、Rust analyzer teamが管理する言語サーバークレートに依存しています。
拡張機能作成
改善されたテストランナー
VS Code 用のコマンドラインランナーと拡張機能が追加され、拡張機能のテストをより簡単に実行できるようになりました。新しいアプローチを使用する拡張機能は、VS Code のテスト UI で実行できます。移行が必要ですが、通常は数分しかかかりません。詳細については、VS Code の拡張機能のテストドキュメントをご覧ください。
TestMessage.contextValue APIの最終化
ユーザーがメッセージに対してアクションを実行したときに表示される contextValue
を TestMessage
に提供できるようになりました。さらに、testing/message/context
と testing/message/content
の2つの新しいメニュー貢献ポイントが利用可能です。前者はテスト結果ツリービューのメッセージに表示され、後者はエディターのメッセージの上に表示されます。たとえば、スナップショットテストでフィクスチャを更新するアクションを提供するために使用される場合があります。
contextValue
の詳細については、イシュー #190277 を参照してください。
更新された codicon
以下の新しいアイコンが、当社のcodiconライブラリに追加されました。
copilot
git-fetch
mic
mic-filled
thumbsup-filled
thumbsdown-filled
coffee
game
snake
vr
chip
music
piano
新しいテーマカラー
textPreformat.background
: 事前フォーマットされたテキストセグメントの背景色
名前ごとのルートフォルダーアイコン
ファイルアイコンテーマの作成者は、新しいプロパティ rootFolderNames
と rootFolderNamesExpanded
を使用して、ルートフォルダーに名前固有のアイコンを定義できるようになりました。詳細については、ファイルアイコンテーマガイドをご覧ください。
提案されたAPI
すべてのマイルストーンには新しい提案された API が含まれており、拡張機能の作者はそれらを試すことができます。いつものように、皆様からのフィードバックを歓迎します。提案された API を試す手順は次のとおりです。
- 試したい提案を見つけて、その名前を
package.json#enabledApiProposals
に追加します。 - 最新の@vscode/dtsを使用し、
npx @vscode/dts dev
を実行します。これにより、対応するd.ts
ファイルがワークスペースにダウンロードされます。 - これで提案に対してプログラミングできます。
提案された API を使用する拡張機能を公開することはできません。次のリリースで破壊的変更がある可能性があり、既存の拡張機能を壊すことは望ましくありません。
Issue Reporterを介して拡張機能に送信されるデータを設定するサポート
新しい提案されたAPIにより、拡張機能の作者はIssue Reporterを介して追加データを送信できるようになります。
export interface IssueUriRequestHandler {
// Handle the request by the issue reporter for the Uri you want to direct the user to.
handleIssueUrlRequest(): ProviderResult<Uri>;
}
export interface IssueDataProvider {
// Provide the data to be used in the issue reporter.
provideIssueData(token: CancellationToken): ProviderResult<string>;
// Provide the template to be used in the description of issue reporter.
provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
}
export namespace env {
export function registerIssueUriRequestHandler(
handler: IssueUriRequestHandler
): Disposable;
export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
}
handleIssueUrlRequest
を介して URI
を提供すると、拡張機能の問題がGitHubに外部で提出され、または provideIssueData
と provideIssueTemplate
のためにテンプレート string
と拡張機能データ string
を提供すると、Issue Reporterを介して追加の拡張機能データをGitHubに送信できます。
この提案の詳細については、イシュー #196863 を参照してください。
カスタム除外ルールを持つファイルウォッチャー
このマイルストーンでは、除外ルールを完全に制御できるファイルシステムウォッチャーを作成するための提案されたAPIを追加しました
export interface FileSystemWatcherOptions {
/**
* An optional set of glob patterns to exclude from watching.
* Glob patterns are always matched relative to the watched folder.
*/
readonly excludes?: string[];
}
export function createFileSystemWatcher(
pattern: RelativePattern,
options?: FileSystemWatcherOptions
): FileSystemWatcher;
この新しいAPIは、再帰的または非再帰的なウォッチャーであるか、ワークスペースの内側または外側を監視したいかに関わらず、ファイルウォッチャーを完全に制御することを拡張機能に与えます。ファイル監視のためにユーザーまたはデフォルトで設定された除外ルールは適用されないため、購読したイベントのみを受信することを確実にできます。
エンジニアリング
Windows 32ビットサポートの終了
Windows 32ビット版のVS Codeのサポートは終了しました。まだ32ビット版のVS Codeを使用している場合は、64ビット版にアップデートする必要があります。
拡張機能とドキュメント
Java 用 Gradle
VS CodeでのJava開発は、改善されたGradle for Java拡張機能によってより簡単になりました。プレリリース版では、Build Server Protocol (BSP) を採用したことで、Gradleプロジェクトのビルドサポートが向上しています。VS Codeで使用されている他のプロトコル、例えばLanguage Server Protocol (LSP) と同様に、BSPは開発環境とGradleなどのビルドツールの間に抽象化レイヤーを提供します。
新しいGradleサポートを試すには、Extension Pack for JavaとGradle for Java拡張機能のプレリリースバージョンの両方をインストールしてください。GradleとBSPの詳細については、Java拡張機能チームによるこの最近のブログ記事をご覧ください。
FastAPI チュートリアル
FastAPI は、Python API を構築するためのモダンで高速な Web フレームワークであり、そのシンプルさとパフォーマンスのおかげでますます人気が高まっています。
新しいFastAPI チュートリアルを通じて、VS Code と Python 拡張機能の最高の部分を利用して FastAPI アプリケーションを作成およびデバッグする方法を学ぶことができます!
カスタムレイアウトユーザーガイド
ワークベンチとエディターのレイアウトカスタマイズについて説明する新しいカスタムレイアウトの記事があります。ここでは、VS Code のビュー、パネル、エディターなどの主要な UI 要素を、好みのワークフローに合わせて変更する方法を学ぶことができます。
トピックは以下の通りです
- プライマリおよびセカンダリサイドバー
- パネルの位置と配置
- ピン留めされたエディタータブ
- エディターグループのレイアウト
- など
注目すべき修正点
- 194812 検索中に目次が表示される (
workbench.settings.settingsSearchTocBehavior
がhide
に設定されている場合) - 195722 ネットワークの問題がある場合の空白の設定エディター
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
問題追跡
問題追跡への貢献者
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @starball5 (スターボール)
- @ArturoDent (ArturoDent)
プルリクエスト
vscode
への貢献者
- @amaust (Andrew Maust): Aria Label Showing [Object object] の修正 PR #195929
- @Cazka: incrementalNaming 設定のスペルミスを修正 PR #194900
- @Charles-Gagnon (Charles Gagnon): ドロップダウンアクションボタンの矢印ナビゲーションが非表示のドロップダウンにフォーカスする問題を修正 PR #167662
- @christian-bromann (Christian Bromann): ノートブックコンテナは可視の場合のみレンダリング PR #188226
- @Connormiha (Mikhail): fix: simplified map+flat PR #193949
- @futurist (James Yang): fix: dom.test.ts typo PR #195249
- @gjsjohnmurray (John Murray)
--profile
のCLIヘルプテキストを修正 PR #193766- デバッグ時に「実行とデバッグ」タイトルバーのランチャーを非表示にできるように PR #193812
- 拡張機能ログレベルクイックピックで正しい行を事前に選択 (fix #194515) PR #194517
- updateAllExtensions後に再読み込みが必要なボタンを同時に表示 (#_163627) PR #195421
"window.density.editorTabHeight": "compact"
の場合、信頼エディタータブアイコンを正しく表示 (fix #196209) PR #196212- トップアクティビティバーのバッジの数値を垂直方向に中央揃えにする (fix #196691) PR #196696
- 楕円形のバッジを引き起こした #196696 の修正を修正 PR #196715
- トップアクティビティバーのプログレスバッジを#196696の変更に合わせて大きくする PR #196724
- @harbin1053020115 (ermin.zem)
- fix: pinnedTabsOnSeparateRowが有効な場合のeditor progress位置の修正 PR #195314
- feat: ルートフォルダのiconThemes定義をサポート PR #195319
- @hsfzxjy (hsfzxjy): Faster __vsc_escape_value の修正 PR #194459
- @jeanp413 (Jean Pierre): WebSocketがpingフレームを正しく処理しない問題を修正 PR #194436
- @jiawei-hong (Wei): styles: border-right-width を none に設定する必要があるのはそれが...ではない場合のみ PR #195078
- @jruales (Joaquín Ruales): 置換するものがない場合のregex.replace()コストをスキップ PR #194854
- @Jvr2022 (Jvr)
- .githubの未使用ファイルをクリーンアップ PR #189066
- 文法を修正 PR #194970
- @k-yle (Kyℓe Hensel): .git-blame-ignore-revs の構文ハイライトを修正 PR #194584
- @MichaelChirico (Michael Chirico): 参照リポジトリの組織を更新 PR #194415
- @MrYuto (Yuto Liyosa)
OpenDisassemblyViewAction
をAction2
にする PR #195623- tsconfig内の絶対ファイルターゲットリンクを解決 (#_195514) PR #195759
- @sandeep-sen (Sandeep Sen): Go用のmgmtライブラリを追加 + Goのマッチャロジックを変更 PR #191036
- @SimonSiefke (Simon Siefke): fix: メモリリークを修正 PR #196302
- @tats-u (Tatsunori Uchino): より安全に強制プッシュするために
--force-if-includes
のサポートを追加 PR #187932 - @tisilent (xiejialong)
- 変換最適化 SettingsTree を無効にする PR #179095
- ターミナル: 名前変更と挿入を修正 PR #194621
- fix #191201 PR #194965
- @vuittont60: スペルミスを修正 PR #195562
- @whscullin (Will Scullin): リンクフラグメントが保持されることを確認 PR #193743
- @yiliang114 (易良)
- feat: ビルトイン拡張機能のロゴを追加 PR #192999
- fix: #157015 を修正、ビューラベルコマンドがローカライズされる問題を修正 PR #193544
- fix: Close #195980, 拡張機能の貢献ポイントのデフォルト表示を修正 PR #195984
vscode-js-debug
への貢献者
- @OnesAndZer0s (OnesAndZer0s): feat: 計測ブレークポイントの整理 PR #1853
language-server-protocol
への貢献者
- @manandre (Emmanuel André): NotebookDocumentSync の例を修正 PR #1831