2023年10月 (バージョン 1.84)
更新 1.84.1: このアップデートでは、以下の問題が解決されています。
更新 1.84.2: このアップデートでは、以下の問題が解決されています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | 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
で非表示にできます。これは、視力のあるユーザーに画面を共有する場合に便利です。
アクセシブルビューは、ユーザーが入力を開始すると閉じ、以前の要素にフォーカスを当てるようになり、よりスムーズなワークフローを実現します。
ウィンドウタイトルでテキストエディターにフォーカスしたビュー
前回のイテレーションで、window.title
に ${focusedView}
変数を追加しました。また、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
オプションがサポートされました。この新しいオプションは、強制プッシュされるコミットがリモートリファレンスの先端にあるコミットを検査した後に作成されたことを保証し、自動フェッチが有効な場合にコミットを失う可能性を低減します。--force-if-includes
の使用は、git.useForcePushIfIncludes
設定を無効にすることで停止できます。
ノートブック
実行時のスクロール改善
ノートブックで Shift+Enter
を使用して実行する際に、次のセルが表示される方法が改善され、出力に集中しやすくなりました。これにより、既に出力があるセルを再実行する際のセルの移動量も削減されます。
IPythonのスタックトレース表示
IPythonからの例外スタックトレースがクリック可能なリンクとして表示されるようになり、エラーへの移動に役立ちます。これは、Jupyter 拡張機能がスタックトレースを最初に変更しない場合にのみ適用されます: "jupyter.formatStackTraces": false
。
デバッグ
JavaScriptデバッガー
イベントリスナーブレークポイントビューの改善
イベントリスナーブレークポイントビューがより使いやすくなり、チェックボックス付きのツリーとして表示されるようになりました。
ソースマップのリネームのより良い処理
コードがバンドラーでコンパイルされると、変数がリネームされることがあります。これは、すべてのバンドラーでのインポート、およびesbuildの特定のローカル識別子で特に一般的です。デバッガーは各リネームが適用されるスコープを認識するようになり、これまでユーザーが遭遇していた多くの問題を修正します。
これにはデバッガーがコンパイルされたモジュールの構文ツリーを解析する必要があります。これはバックグラウンドスレッドで、リネームが検出された場合にのみ行われますが、パフォーマンスへの影響を避けるために、launch.json
で "sourceMapRenames": false
を設定することでこの動作を無効にできます。
リモート開発
The Remote Development 拡張機能を使用すると、Dev Container、SSH または Remote Tunnels を介したリモートマシン、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。
主なハイライトは次のとおりです。
- Microsoftアカウントを使用してトンネルにログインできるようになりました。
- WindowsでSSHおよびトンネル経由でのDev Containerへの接続がサポートされました。
これらの機能の詳細については、Remote Development リリースノートで確認できます。
拡張機能への貢献
GitHub Copilot
インラインチャットのストリーミング
The 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
を設定することで上書きできます。
ウェルカムメッセージの詳細度を削減
github.copilot.chat.welcomeMessage
を設定することで、会話を初めて開始したときにCopilot Chatが冗長なウェルカムメッセージで挨拶するかどうかを制御できるようになりました。オプションは 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 Debugger 拡張機能は、プラットフォーム固有のバージョンが提供されるようになり、更新ごとに必要なプラットフォーム固有のファイルのみがインストールされます。これにより、拡張機能のサイズが削減され、起動時間の改善に役立ちます。
Tensorboard拡張機能
Tensorboard の機能は、Python拡張機能からスタンドアロンのTensorboard拡張機能に移行しました。
この新しい拡張機能に関する問題がある場合やフィードバックを提供したい場合は、Tensorboard 拡張機能のGitHubリポジトリでIssueを提出できます。
Jupyter
先行/依存セルでの実行
Jupyter 拡張機能を使用すると、セル実行ボタンの横にあるドロップダウンメニューから、ターゲットセルの先行セルまたは依存セルをすべて実行できるようになりました。これはまだプレビュー機能であり、jupyter.executionAnalysis.enabled
設定と notebook.consolidatedRunButton
設定で有効にできます。
この機能は現在Pylance拡張機能によって提供されているため、この機能を使用するにはPylanceの最新のプレリリースバージョンをインストールする必要があります。
VS Code 音声
VS Codeに音声サポートをもたらす新しい拡張機能を導入します!新しいVS Code Speech拡張機能は、GitHub Copilot Chatに統合され、チャット入力用の音声テキスト変換サービスを可能にします。
インストール後、マイクアイコンが表示され、選択すると、音声の書き起こし結果に基づいてチャット入力にテキストが入力され始めます。書き起こしはローカルマシンで計算され、インターネット接続は必要ありません。
GitHub Pull Requests and Issues
プルリクエストとIssueの作業、作成、管理ができるGitHub Pull Requests and Issues拡張機能について、さらなる進展がありました。
- プロジェクトが表示され、プルリクエストの説明ウェブビューから追加できます。
- PR 作成ビューからPRのタイトルと説明を生成するために、GitHub Copilotと統合されました。
- GitHub CLI (
gh pr checkout
) でチェックアウトされたPRは、拡張機能によって認識されます。
その他のハイライトについては、拡張機能の0.76.0 リリースの変更履歴を確認してください。
プレビュー機能
フローティングエディターウィンドウ
ワークベンチウィンドウからエディターを独自のウィンドウに引き出す方法を検討し続けており、このエキサイティングな新機能を試してフィードバックを提供するために、VS Code Insidersコミュニティを招待したいと思います。
VS Code Insiders をインストールし、エディターで新しい 表示: アクティブなエディターを新しいウィンドウに移動 コマンドを実行して、フローティングウィンドウで開くようにしてください。
まだ多くの問題を解決し、不足している機能を提供する必要がありますが、近い将来、この機能をStableで有効にできると楽観視しています。
テストいただきありがとうございます!
言語サーバーのWASM-WASIサポート
WASM/WASIにおける言語サーバーのサポートが、実験的なwasm-wasi-core拡張機能に追加されました。
また、Rustで書かれWASMにコンパイルされたシンプルな言語サーバーをvscode-wasmリポジトリで紹介する拡張機能もあります。この拡張機能は、Rustアナライザーチームによってメンテナンスされている言語サーバークレートに依存しています。
拡張機能作成
テストランナーの改善
VS Codeの拡張機能のテスト実行を容易にするコマンドラインランナーと拡張機能が追加されました。新しいアプローチを使用する拡張機能は、VS CodeのテストUIで実行できます。移行には一部変更が必要ですが、通常は数分しかかかりません。詳細については、VS Codeの拡張機能のテストに関するドキュメントを参照してください。
TestMessage.contextValue APIの最終化
ユーザーがメッセージに対してアクションを実行したときに表示されるよう、TestMessage
sに contextValue
を提供できます。さらに、2つの新しいメニュー貢献ポイント、testing/message/context
と testing/message/content
が利用可能です。前者はテスト結果ツリービューのメッセージに表示され、後者はエディターのメッセージの上に表示されます。たとえば、スナップショットテストでフィクスチャを更新するアクションを提供するためにこれを使用できます。
contextValue
の詳細については、Issue #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;
}
拡張機能のIssueをGitHubに外部で提出するために handleIssueUrlRequest
経由で URI
を提供するか、Issue Reporterを介してGitHubに追加の拡張機能データを送信するために provideIssueData
と provideIssueTemplate
のテンプレート string
と拡張機能データ string
を提供できます。
この提案の詳細については、Issue #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のサポートは終了しました。VS Codeの32ビットビルドをまだ使用している場合は、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フレームワークであり、そのシンプルさとパフォーマンスのおかげでますます人気が高まっています。
VS CodeとPython拡張機能を最大限に活用してFastAPIアプリケーションを作成およびデバッグする方法について、新しいFastAPIチュートリアルで学ぶことができます!
カスタムレイアウトのユーザーガイド
ワークベンチとエディターのレイアウトカスタマイズについて説明する新しいカスタムレイアウトの記事が公開されました。そこでは、VS Codeの主要なUI要素(ビュー、パネル、エディターなど)を好みのワークフローに合わせて変更する方法を学ぶことができます。
トピックには以下が含まれます。
- プライマリおよびセカンダリサイドバー
- パネルの位置と配置
- ピン留めされたエディタータブ
- エディターグループレイアウト
- その他
注目すべき修正点
- 194812
workbench.settings.settingsSearchTocBehavior
がhide
に設定されているときに検索を行うとToCが表示される - 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): 修正: map+flat を簡素化 PR #193949
- @futurist (James Yang): 修正: dom.test.ts のタイプミス 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)
- 修正: pinnedTabsOnSeparateRow が有効なときのエディターの進捗位置を修正 PR #195314
- 機能: ルートフォルダーのiconThemes定義をサポート PR #195319
- @hsfzxjy (hsfzxjy): より高速な __vsc_escape_value を修正 PR #194459
- @jeanp413 (Jean Pierre): WebSocketがpingフレームを正しく処理しない問題を修正 PR #194436
- @jiawei-hong (Wei): スタイル: 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 の管理ライブラリを追加 + Go のマッチャーロジックを変更 PR #191036
- @SimonSiefke (Simon Siefke): 修正: メニューでのメモリリーク PR #196302
- @tats-u (Tatsunori Uchino): より安全に強制プッシュするために
--force-if-includes
のサポートを追加 PR #187932 - @tisilent (xiejialong)
- transform最適化 SettingsTree を無効化 PR #179095
- ターミナル: 名前変更とインジェクションを修正 PR #194621
- 修正 #191201 PR #194965
- @vuittont60: タイプミスを修正 PR #195562
- @whscullin (Will Scullin): リンクのフラグメントが保持されるようにする PR #193743
- @yiliang114 (易良)
- 機能: 組み込み拡張機能のロゴを追加 PR #192999
- 修正: #157015 のビューラベルコマンドのローカライズを修正 PR #193544
- 修正: #195980 をクローズ、拡張機能の貢献ポイントのデフォルト表示を修正 PR #195984
vscode-js-debug
への貢献者
- @OnesAndZer0s (OnesAndZer0s): 機能: 計測ブレークポイントの整理 PR #1853
language-server-protocol
への貢献者
- @manandre (Emmanuel André): NotebookDocumentSync の例を修正 PR #1831