まえがき
VSCode1.98のリリースノートをChatGPTで日本語に翻訳しました。
VSCode 1.98 Release Notes
2025年2月 (バージョン 1.98)
Visual Studio Code 2025年2月リリースへようこそ。このバージョンには多くの更新があり、皆様に気に入っていただけることを願っています。主なハイライトは以下の通りです。
次の編集提案(NES)(プレビュー)
- Copilot
が次に行う可能性のある編集を予測します。
エージェントモード(プレビュー)
- Copilot
が自律的にタスクを完了します。
ノートブック用のCopilot Edits
- ノートブックの編集を迅速に繰り返します。
コード検索
- Copilot
がチャットプロンプトに関連するファイルを見つけます。
ターミナルインテリセンス(プレビュー)
- ターミナルの豊富な補完サポート。
ドラッグ&ドロップ参照
- 新しいエディターでピーク参照をすばやく開きます。
Linuxカスタムタイトルバー
- Linux用のカスタムタイトルバーサポートがデフォルトで有効。
未解決の診断(プレビュー)
- 未解決の診断でコミットする際のプロンプト。
ソース管理でのソフト削除
- 未追跡ファイルを削除する代わりにゴミ箱に移動します。
カスタム指示GA
- Copilot
をニーズに合わせてカスタマイズするためのカスタム指示を使用します。
GitHub Copilot
Copilot
の機能は、通常、設定を通じて有効化および構成される異なる早期アクセス段階を経ることがあります。
Copilot Edits
エージェントモードの改善(実験的)
先月、VS Code Insiders
でCopilot Edits
のエージェントモードを導入しました。エージェントモードでは、Copilot
がワークスペース内の関連するコンテキストを自動的に検索し、ファイルを編集し、エラーをチェックし、ターミナルコマンドを実行(許可がある場合)して、タスクをエンドツーエンドで完了します。
注: エージェントモードは現在VS Code Insiders
で利用可能で、VS Code Stableでも段階的に展開を開始しました。エージェントモードが有効になると、Copilot Edits
ビューにモードドロップダウンが表示され、エージェントを選択するだけです。
今月はツール使用のUXにいくつかの改善を加えました。
ターミナルコマンドがインラインで表示されるようになり、実行されたコマンドを追跡できます。
チャット応答で提案されたターミナルコマンドを実行前に編集できます。
Ctrl+Enterショートカットでターミナルコマンドを確認します。
エージェントモードは自律的にコードベースを検索して関連するコンテキストを探します。どの検索が行われたかの結果を表示するにはメッセージを展開します。
また、エージェントモードのプロンプトと動作に様々な改善を加えました。
チャットでの元に戻すとやり直しのアクションが、チャット応答で行われた最後のファイル編集を元に戻すかやり直します。これにより、モデルが行った特定のステップを元に戻すことができ、チャット応答全体を巻き戻す必要がなくなります。
エージェントモードは、ビルド[タスク](https://code.visualstudio.com/docs/editor/tasks)
を自動的にまたは指示されたときに実行できるようになりました。
この機能を無効にするには、
github.copilot.chat.agent.runTasks
設定を使用します。モデルが実行すべきでないときにタスクを実行している場合に備えてください。
Copilot Editsエージェントモード
について詳しく学ぶか、エージェントモード発表ブログ記事
をお読みください。
注: Copilot Business
またはEnterprise
ユーザーの場合、組織の管理者がエージェントモードを利用可能にするためにCopilot "Editor Preview Features"
の使用をオプトイン
する必要があります。
Copilot Editsでのノートブックサポート(プレビュー)
Copilot Edits
でのノートブックサポートをVS Code Insiders
でプレビュー機能として導入しています。これにより、コードファイルを編集するのと同じ直感的な体験でノートブックファイルを編集できます。新しいノートブックをゼロから作成し、複数のセルにわたってコンテンツを変更し、セルを挿入および削除し、セルの種類を変更します。このプレビュー機能は、データサイエンスやドキュメントノートブックでのシームレスなワークフローを提供します。
注: この機能は現在、GitHub Copilot Chatのプレリリースバージョンを使用しているVS Code Insiders
でのみ利用可能です。今後のリリースでVS Code Stableに導入する前に、体験を改善し続けます。
洗練されたエディター統合
Copilot Edits
とコードおよびノートブックエディターの統合を磨き上げました。
変更が適用されている間にスクロールすることはありません。ビューポートはそのままで、変更に集中しやすくなります。
編集レビューアクションの名前を「Accept」から「Keep」に、「Discard」から「Undo」に変更し、何が起こっているかをよりよく反映させました。Copilot Edits
の変更はライブであり、作成されるとすぐに適用され保存され、ユーザーはそれを保持または元に戻します。
ファイルを保持または元に戻した後、次のファイルが自動的に表示されます。
刷新されたUI
Copilot Edits
をCopilot Chat
と統一する準備として、Copilot Edits
にフェイスリフトを施しました。添付されてまだ送信されていないファイルは、通常のチャット添付ファイルとしてレンダリングされます。AIで変更されたファイルのみが、チャット入力部分の上にある変更されたファイルリストに追加されます。
chat.renderRelatedFiles
設定を使用して、関連ファイルの提案を取得することができます。関連ファイルの提案は、チャット添付ファイルの下にレンダリングされます。
Copilot Editsの制限を削除
以前は、Copilot Edits
でプロンプトに10個のファイルを添付することが制限されていました。このリリースでは、この制限を削除しました。さらに、10分間に14回のインタラクションというクライアント側のレート制限も削除しました。
なお、サービス側の使用レート制限は依然として適用されます。
カスタム指示が一般利用可能
設定:
github.copilot.chat.codeGeneration.useInstructionFiles
カスタム指示を使用すると、GitHub Copilotをあなたやあなたのチームの作業方法に合わせてチャット応答やコード提案を提供するようにカスタマイズできます。特定の要件をMarkdown形式で記述し、ワークスペース内の.github/copilot-instructions.md
ファイルに保存します。
このマイルストーンでは、.github/copilot-instructions.md
を使用したカスタム指示を一般利用可能にしました。
github.copilot.chat.codeGeneration.useInstructionFiles
VS Code設定が有効になっていることを確認し、Copilot
はこれらの指示を使用して応答を生成します。
Copilotでのカスタム指示
について詳しく学んでください。
チャットでのスムーズな認証フロー
ソースコードをGitHubリポジトリにホストしている場合、コード検索の高度な機能、@github
チャット参加者など、いくつかの機能を活用できます。
ただし、プライベートGitHubリポジトリの場合、VS CodeがGitHub上のリポジトリと対話するための権限を持っている必要があります。しばらくの間、これは通常のVS Code認証フローで提示され、特定の機能を呼び出すときにモーダルダイアログが表示されました(例:@workspace
または@github
に質問する、または#codebase
ツールを使用する)。
この体験をスムーズにするために、チャットでこの確認を導入しました。
モーダルダイアログほど衝撃的ではないだけでなく、新しい機能もあります。
許可: 通常の認証フローを通じて(モーダル経由で)行われます。
今はしない: VS Codeは選択を記憶し、次のVS Codeウィンドウセッションまで再度尋ねません。この機能がこの追加の権限を必要とする場合(例:@github
)を除きます。
再度尋ねない: VS Codeは選択を記憶し、
github.copilot.advanced.authPermissions
設定を通じて永続化します。この追加の権限を必要とする機能は失敗します。
この確認は、Copilot
(サービス)がリポジトリにアクセスすることを確認または拒否するものではないことに注意してください。Copilot
がアクセスできるものを構成するには、コンテンツ除外に関するドキュメント
をお読みください。
Copilot Chatでのより高度なコードベース検索
設定:
github.copilot.chat.codesearch.enabled
Copilot Chat
クエリに#codebase
を追加すると、Copilot
がチャットプロンプトに関連するコードをワークスペース内で見つけるのを支援します。#codebase
は、ワークスペースから追加のコンテキストを引き出すために、テキスト検索やファイル検索などのツールを実行できるようになりました。
この動作を有効にするには、
github.copilot.chat.codesearch.enabled
を設定します。ツールの完全なリストは次の通りです。
埋め込みベースのセマンティック検索
テキスト検索
ファイル検索
Git変更ファイル
プロジェクト構造
ファイルを読む
ディレクトリを読む
ワークスペースシンボル検索
問題をチャットコンテキストとして添付
ワークスペース内のコードやその他の問題を修正するのに役立つように、問題パネルから問題をチャットにコンテキストとして添付できるようになりました。
問題パネルからアイテムをチャットビューにドラッグするか、プロンプトに#problems
と入力するか、クリップ📎ボタンを選択します。特定の問題、ファイル内のすべての問題、またはコードベース内のすべてのファイルを添付できます。
フォルダーをコンテキストとして添付
以前は、エクスプローラービューからドラッグ&ドロップを使用してフォルダーをコンテキストとして添付できました。今では、クリップ📎アイコンを選択するか、チャットプロンプトに#folder:
とフォルダー名を続けて入力することでフォルダーを添付することもできます。
次の編集提案の折りたたみモード(プレビュー)
設定:
github.copilot.nextEditSuggestions.enabled
editor.inlineSuggest.edits.showCollapsed
NES
の折りたたみモードを追加しました。このモードを有効にすると、左エディターマージンにNES
提案インジケーターのみが表示されます。コード提案自体は、Tabキーを押してナビゲートしたときにのみ表示されます。連続する提案は、提案が受け入れられない限りすぐに表示されます。
折りたたみモードはデフォルトで無効になっており、
editor.inlineSuggest.edits.showCollapsed
を設定することで有効にできます。または、NES
ガターインジケーターメニューで有効または無効にすることができます。
補完モデルの変更
Copilot Chat
とCopilot Edits
の言語モデルをすでに変更できましたが、インライン提案のモデルも変更できるようになりました。
または、コマンドパレットのChange Completions Model
コマンドまたはタイトルバーのCopilot
メニューのConfigure Code Completions
アイテムを使用して、コード補完に使用されるモデルを変更できます。
注: 利用可能なモデルのリストは時間とともに変わる可能性があります。Copilot Business
またはEnterprise
ユーザーの場合、管理者がGitHub.comのCopilotポリシー設定
でEditor Preview Features
にオプトインすることで、組織の特定のモデルを有効にする必要があります。
モデルの可用性
このリリースでは、Copilot
を使用する際に選択できるモデルを増やしました。以下のモデルがVisual Studio Codeとgithub.comチャットのモデルピッカーで利用可能になりました。
GPT 4.5(プレビュー): OpenAIの最新モデル、GPT-4.5がGitHub Copilot ChatでCopilot Enterprise
ユーザーに利用可能になりました。GPT-4.5は、直感、文体、広範な知識において高度な能力を備えた大規模言語モデルです。GitHubブログ記事
でGPT-4.5モデルの可用性について詳しく学んでください。
Claude 3.7 Sonnet(プレビュー): Claude 3.7 Sonnetは、Copilot
の有料プランのすべての顧客に利用可能になりました。この新しいSonnetモデルは、Copilot
での思考モードと非思考モードの両方をサポートしています。初期テストでは、特にエージェントシナリオでの大幅な改善が見られました。GitHubブログ記事
でClaude 3.7 Sonnetモデルの可用性について詳しく学んでください。
Copilot Vision(プレビュー)
このバージョンのCopilot Chat
では、エンドツーエンドのビジョンサポートを迅速に展開しています。これにより、画像を添付し、チャットプロンプトで画像と対話できます。たとえば、デバッグ中にエラーが発生した場合、VS Codeのスクリーンショットを添付し、Copilot
に問題の解決を依頼できます。また、UIモックアップを添付し、Copilot
にモックアップを実装するためのHTMLとCSSを提供させることもできます。
画像を添付する方法は複数あります。
OSまたはエクスプローラービューから画像をドラッグ&ドロップ
クリップボードから画像を貼り付け
VS Codeウィンドウのスクリーンショットを添付(クリップ📎ボタンを選択 > ウィンドウのスクリーンショット)
選択したモデルが現在ファイルタイプを処理できない場合、警告が表示されます。現在サポートされている唯一のモデルはGPT 4oですが、Claude 3.5 SonnetおよびGemini 2.0 Flashでの画像添付サポートもまもなく展開されます。現在サポートされている画像タイプはJPEG/JPG、PNG、GIF、およびWEBPです。
Copilotステータス概要(実験的)
設定:
chat.experimental.statusIndicator.enabled
Copilot
のステータスと主要なエディター設定の概要をすばやく提供する新しい集中型のCopilot
ステータス概要を実験しています。
Copilot Free
ユーザーの場合のクォータ情報
コード補完などのエディター関連設定
他のCopilot
機能を使用するための便利なキーボードショートカット
このCopilot
ステータス概要は、ステータスバーのCopilot
アイコンからアクセスできます。
chat.experimental.statusIndicator.enabled
設定を使用してCopilot
ステータス概要を有効にします。
インライン補完のためのTypeScriptコンテキスト(実験的)
設定:
github.copilot.chat.languageContext.typescript.enabled
TypeScriptファイルのインライン補完および/fix
コマンドのための強化されたコンテキストを実験しています。この実験は現在Insiderリリースに限定されており、
github.copilot.chat.languageContext.typescript.enabled
設定を使用して有効にできます。
プルリクエストのタイトルと説明のためのカスタム指示
設定
github.copilot.chat.pullRequestDescriptionGeneration.instructions
を使用して、プルリクエストのタイトルと説明を生成するためのカスタム指示を提供できます。この設定をワークスペース内のファイルにポイントするか、設定内でインラインで指示を提供できます。VS CodeでのCopilotのカスタマイズ
の詳細を取得してください。
以下のサンプルは、設定内でカスタム指示をインラインで提供する方法を示しています。
|
|
タイトルと説明を生成するには、GitHub Pull Requests拡張機能がインストールされている必要があります。
アクセシビリティ
Copilot Editsのアクセシビリティ
Copilot Edits
をよりアクセシブルにしました。
変更されたファイルや変更された領域(挿入、変更、削除)に対してオーディオ信号が追加されました。
変更されたファイルのためのアクセシブルな差分ビューアーが利用可能になりました。差分エディターと同様に、F7を選択して有効にします。
activeEditorStateウィンドウタイトル変数
新しい
window.title
変数、activeEditorState
を追加しました。これは、変更された状態、問題の数、ファイルに保留中のCopilot Edits
がある場合のエディター情報をスクリーンリーダーユーザーに示します。スクリーンリーダー最適化モードでは、
デフォルトで追加され、
accessibility.windowTitleOptimized
で無効にできます。
ワークベンチ
Linuxでのカスタムタイトルバー
カスタムタイトルバーがLinuxでデフォルトで有効になりました。カスタムタイトルバーは、レイアウトコントロール、Copilot
メニューなどにアクセスできます。
カスタムタイトルコンテキストメニューから、または
window.titleBarStyle
をネイティブに設定することで、いつでもネイティブタイトル装飾に戻すことができます。
この体験に関するフィードバックを引き続き歓迎しており、既存のフィードバックに基づいて将来のマイルストーンでこれを改善するためにすでに取り組んでいます。
セカンダリーサイドバーのビューにラベルを使用
セカンダリーサイドバーのビューの外観を変更し、アイコンの代わりにラベルを表示することにしました。これは、パネルエリアで行っていることと似ています。これにより、たとえばCopilot Edits
とCopilot Chat
ビューの間で異なるビューを区別しやすくなります。
workbench.secondarySideBar.showLabels
を設定することで、いつでもアイコンの表示に戻すことができます。
新しい設定エディターのキー一致アルゴリズム(プレビュー)
設定:
workbench.settings.useWeightedKeySearch
より関連性の高いキー一致を優先する新しい設定エディター検索アルゴリズムを追加しました。検索アルゴリズムは、設定IDとラベルを以前よりも多くの方法で一致させようとしますが、結果をより絞り込んで、最も適した一致タイプのみを表示します。
workbench.settings.useWeightedKeySearch
設定を有効にしてプレビュー機能を試してみてください。
シンプルファイルピッカーでドットファイルを非表示にするオプション
シンプルファイルピッカー
を使用する際(リモートに接続している場合や
files.simpleDialog.enable
を使用している場合)、ドットファイルを表示/非表示ボタンを使用して非表示にすることができます。
エディター
ピーク参照のドラッグ&ドロップサポート
ピーク ビューはドラッグ&ドロップをサポートするようになりました。ピーク参照、ピーク実装、または他のピークコマンドを呼び出し、そのツリーからエントリをドラッグして別のエディターとして開きます。
出現ハイライトの遅延
エディター内の出現ハイライトの遅延がデフォルトで0に設定されました。これにより、全体的により応答性の高いエディターの感触が得られます。
editor.occurrencesHighlightDelay
設定を使用して遅延を制御できます。
ソース管理
更新されたビュータイトル
ソース管理グラフビューをソース管理ビューに追加した際、ソース管理ビュー内のセクションタイトルの重複が強調されました: “Source Control Repositories”、“Source Control”、および"Source Control Graph"。このマイルストーンでは、ビューのタイトルを見直し、短くし、ビュータイトルを重複しないようにしました: “Repositories”、“Changes”、および"Graph"。
未追跡の変更を破棄する際の改善
設定:
git.discardUntrackedChangesToTrash
未追跡ファイルを破棄すると、ファイルが完全に削除されるため、データ損失の報告が多く寄せられていましたが、VS Codeはファイルが完全に削除されることを明確に示すモーダルダイアログを表示します。
このマイルストーンから、未追跡ファイルを破棄すると、可能な場合はファイルをリサイクルビン/ゴミ箱に移動するようになり、ファイルを簡単に回復できるようになります。この機能を無効にするには、
git.discardUntrackedChangesToTrash
設定を使用します。
診断コミットフック(実験的)
設定:
git.diagnosticsCommitHook.Enabled
git.diagnosticsCommitHook.Sources
このマイルストーンでは、変更されたファイルに未解決の診断がある場合にプロンプトを表示する新しいコミットフックを導入しました。これは現在実験的な機能であり、
git.diagnosticsCommitHook.Enabled
設定を使用して有効にできます。
デフォルトでは、コミットフックはエラーレベルの診断に対してプロンプトを表示しますが、診断のソースとレベルは
git.diagnosticsCommitHook.Sources
設定を使用してカスタマイズできます。試してみてフィードバックをお寄せください。
ノートブック
インラインノートブック差分ビュー(実験的)
設定:
notebook.diff.experimental.toggleInline
ノートブックのインライン差分ビューを有効にできるようになりました。この機能により、ノートブックセル内の変更を従来のサイドバイサイド比較ではなく、単一のインラインビューで表示できます。
この機能を有効にするには、
notebook.diff.experimental.toggleInline
をtrueに設定します。その後、エディターメニューの右上隅で差分ビューをインラインに切り替えることができます。
ノートブックインライン値ホバー
ノートブックインライン値は、ビューポートの幅に合わせて装飾が切り詰められ、完全な値を表示するリッチホバーを持つようになりました。これにより、データフレームのような変数の形状が維持され、値を一目で読みやすくなります。
ターミナルインテリセンス(プレビュー)
設定:
terminal.integrated.suggest.enabled
bash
、zsh
、fish
、およびPowerShell
のターミナルシェル補完を大幅に改善しました。補完仕様(例:git
)、コマンドライン解析の改善によるより良い提案、ファイルおよびフォルダーの補完の強化を追加しました。
この機能を有効にするには、
terminal.integrated.suggest.enabled
を使用します。
強化されたFig補完サポート
特定のCLIのインテリジェントな補完を強化するために、Fig補完仕様 を活用しています。以前は少数のCLIしかありませんでしたが、このイテレーションでは、VS Codeに同梱されているCLIリストに以下を追加しました。
基本ツール: cat
、chmod
、chown
、cp
、curl
、df
、du
、echo
、find
、grep
、head
、less
、ls
、mkdir
、more
、mv
、pwd
、rm
、rmdir
、tail
、top
、touch
、uname
プロセスツール: kill
、killall
、ps
パッケージマネージャー: apt
、brew
Node.jsエコシステム: node
、npm
、npx
、nvm
、pnpm
、yarn
SCM、言語、エディター: git
、nano
、python
、python3
、vim
ネットワーク: scp
、ssh
、wget
新しい仕様に加えて、ジェネレーターもサポートするようになりました。これにより、リクエスト時にコマンドを実行して補完を動的に生成できます。この機能の一例として、git checkout
のすべてのブランチを表示することが挙げられます。
舞台裏では、git --no-optional-locks branch -a --no-color --sort=-committerdate
を実行してブランチのリストを取得し、それを補完に処理します。同様のアプローチを使用してタグも取得します。
設定可能なクイック提案
設定:
terminal.integrated.suggest.quickSuggestions
エディターと同様に、クイック提案は、特定の文字(例:\
や-
)が使用されたときに表示されるトリガー文字とは対照的に、何かを入力するときに自動的にインテリセンスを表示するものです。新しい
terminal.integrated.suggest.quickSuggestions
設定を使用すると、クイック提案を表示するタイミングを正確に制御できます。
デフォルト値はコマンドと引数に対してクイック提案を有効にし、パスに戻るようにデフォルトで無効になっています。これは、適用されないことが多いため、ノイズが多くてイライラする可能性があると聞いています。これがデフォルトです。
|
|
インライン提案検出
設定:
terminal.integrated.suggest.inlineSuggestion
これまでのインライン提案検出の問題の1つは、異なるソースからの提案と競合することによって引き起こされる混乱でした。特に、シェルで入力するときに表示されるインライン提案:
これらの提案は実際にはシェルレベルの機能です(fish/zsh
の自動提案、pwsh
の予測など)。ユーザーにとっては明らかではないかもしれませんが、インテリセンスと一緒に表示されると特にそうです。
インテリセンス機能は、このインライン提案を検出する必要がありますが、以前はテキストが淡色またはイタリックのSGR属性でスタイル設定されているかどうかを確認するだけの単純な実装を使用していました。これでは不十分であることが判明しました。ユーザーがスタイルをカスタマイズした場合だけでなく、fish
シェルはデフォルトでこれらのスタイルのいずれも使用していませんでした。現在、コマンドラインコンテキストとカーソル位置を分析することで、ほとんどのケースを検出しています。
この新しく改善された検出に基づいて、インライン提案は現在、星アイコンを持つトップオプションとして提示され、エディターの動作により近づけ、kstyle(Tab)
がこの場合に何をするかをより明確にします。
デフォルトでは、この提案を常にトップ提案として表示しますが、
terminal.integrated.suggest.inlineSuggestion
を使用して構成できます。
詳細なコマンド補完
bash
およびzsh
の組み込みコマンドとPowerShell
コマンドの補完がより詳細になり、利用可能な引数に関する詳細を提供します。この情報は、シェルのドキュメントまたはヘルプコマンドから取得されます。
bash
の場合、help
を使用して基本的な説明を取得します:
zsh
の場合、man zshbuiltins
を使用して詳細な説明を取得します:
PowerShell
の場合、Get-Command
のより多くのプロパティが補完に表示されます:
改善されたソート
コマンド補完には、特に以下の点で改善されたソートが特徴です:
詳細が多い補完は、詳細が少ない補完よりも上に表示されることが一般的です。
組み込みコマンドは、$PATH
からのパスよりも優先されます。
パスに関しては、以下の改善が行われました:
_
で始まるパスにはペナルティが課されます。これは、特別であり、一般的にあまり変更されるべきではないことを示すことが多いためです(例:__init__.py
)。
ソート時に句読点は無視されるため、.
で始まるファイルは他のファイルと混在します。
CDPATHサポート
設定:
terminal.integrated.suggest.cdPath
$CDPATH
環境変数は、$PATH
に似たコロン区切りのパスリストを含む一般的なシェル機能であり、現在の作業ディレクトリに関係なく相対的にナビゲートできるようにします。fish
は実際にcd
タブ補完でCDPATH
エントリを表示します:
cd
を使用する際に$CDPATH
エントリを補完として表示することをサポートしました:
この機能はWindowsでも動作し(;
セパレータ)、シェルがネイティブに機能をサポートする必要はありません。デフォルトでは絶対パスを使用します。
これを構成するには、
terminal.integrated.suggest.cdPath
を使用します。
絶対パス
絶対パスがサポートされるようになりました。
エイリアスサポート
コマンドエイリアスもbash
、zsh
、およびfish
で検出され、新しい独自のアイコンが特徴です:
オプションとフラグの区別
CLIオプション(値を持つもの)とフラグ(持たないもの)は、UIで異なるアイコンを使用して区別されます:
タスク
タスク再実行アクション
ターミナル用の新しい再実行タスクアクション、Ctrl+Shift+R
を追加しました。このアクションは、ターミナルタブのインラインツールバーとターミナルのコンテキストメニューに表示されます。
デバッグ
デバッグインライン値ホバー
設定
debug.inlineValues
が有効になっている場合、インライン値の装飾にはインラインホバーが追加され、長い値を一目で読みやすくなります。
言語
TypeScript 5.8
VS CodeにはTypeScript 5.8.2が含まれています。このメジャーアップデートには、新しい言語の改善が含まれており、条件式からの型のチェックの改善
や、Nodeの新しい--experimental-strip-types
オプションに準拠するコードの書き込みサポート
が含まれています。また、多くのツールの改善とバグ修正も含まれています。
このアップデートの詳細については、TypeScript 5.8リリースブログ
をご覧ください。
リモート開発
リモート開発拡張機能
を使用すると、Dev Container
、SSH経由のリモートマシンまたはリモートトンネル
、またはWindows Subsystem for Linux
(WSL)をフル機能の開発環境として使用できます。
ハイライトには以下が含まれます:
LinuxレガシーサーバーのEOL
プロキシ設定の拡張
これらの機能について詳しくは、リモート開発リリースノート をご覧ください。
エンタープライズサポート
許可された拡張機能のマルチラインサポート
Windowsのグループポリシーで許可された拡張機能をマルチライン文字列で構成できるようになりました。これにより、許可された拡張機能の構成がより柔軟で広範になります。許可された拡張機能の構成 について詳しく学んでください。
拡張機能への貢献
Python
長い文字列を分割する際の自動引用符挿入
Pylance は、長い文字列を分割する際にシームレスな体験を提供するために引用符の自動挿入をサポートするようになりました。
Pylanceのメモリ消費の改善
特に大規模なワークスペースで作業する際に、Pylance
のメモリ消費を改善するためにいくつかの最適化が行われました。この改善
は、Pylance
の言語サーバー機能を支える静的型チェッカーであるPyright
に対して行われました。
Pythonシェル統合の改善
python.terminal.shellIntegration.enabled
を変更した後、変更が反映されるためにリロードする必要がなくなりました。新しいターミナルを作成するだけで、ターミナル内のPython REPLで希望する変更を確認できます。
Windows Git Bashの正しいワークスペースプロンプト
WindowsでGit Bashを使用しているPythonユーザーは、ターミナルプロンプトに正しい作業ディレクトリが表示されるようになります。
これらの変更は、pythonTerminalEnvVarActivation
実験にオプトインしているユーザーに適用されます。
自動テスト検出ファイルパターンの新しい設定
python.testing.autoTestDiscoverOnSavePattern
設定でグロブパターンを指定することで、自動テスト検出が行われるファイルを絞り込むことができるようになりました。デフォルト値は**/*.py
に設定されています。
settings.jsonからのテストデバッグ構成のフォールバックとしての読み取り
テストデバッグ構成をsettings.jsonとlaunch.jsonファイルの両方で探すようになり、これらの構成を定義できる場所が拡大されました。
GitHub認証
Electron fetch採用によるプロキシサポートの改善
GitHub認証拡張機能は、ウェブリクエストを行うためにElectronのバージョンのfetchを活用するようになりました。これにより、特定のプロキシおよびファイアウォール設定を持つユーザーが支援されました。プロキシ設定がある環境で実行しており、VS Code内でGitHubに認証できない場合は、ためらわずに問題を作成してください!
拡張機能の作成
認証
重要:
AuthenticationForceNewSessionOptions
をAuthenticationGetSessionPresentationOptions
に名前を変更し、現在は非推奨のAuthenticationForceNewSessionOptions
を残しています。機能的な違いはないため、ランタイムでの破壊的変更ではありませんが、将来的に削除されるため、AuthenticationGetSessionPresentationOptions
を使用するようにコードを更新する必要があります。
これらの2つの認証呼び出しを見てみましょう:
|
|
createIfNone
とforceNewSession
は、ブール値またはAuthenticationGetSessionPresentationOptions
のいずれかを受け取るようになります:
|
|
完全な型定義はこちらで見つけることができます
…
これはcreateIfNone
に対する新しい追加ですが、以前は同じシグネチャを持っていたAuthenticationForceNewSessionOptions
を受け取っていたforceNewSession
の修正です。
AuthenticationForceNewSessionOptions
を明示的に使用している場合、それが非推奨としてマークされていることがわかり、将来のバージョンで削除されるため、AuthenticationGetSessionPresentationOptions
に置き換える必要があります。
ここで変更されているのは型だけであることに注意してください。ランタイムの変更はないため、破壊的変更ではありません。
さらに、authLearnMore
提案API
は、AuthenticationForceNewSessionOptions
からAuthenticationGetSessionPresentationOptions
に更新されました。
detail
とlearnMore
提案を活用する例を以下に示します:
洗練されたスニペットAPI
スニペットを挿入する際の空白の正規化を制御できるようになりました。これは、insertSnippet -APIとSnippetTextEdit -APIに適用され、スニペットの追加行のインデントが調整されるかどうかを制御します。
|
|
提案API
テキストエンコーディング
VS Codeでテキストエンコーディング
を操作するための新しい提案APIを追加しました。
具体的には、この新しいAPIを使用して:
TextDocument
の現在のエンコーディングを取得
特定のエンコーディングでTextDocument
を開く
特定のエンコーディングで文字列をUint8Array
にエンコード
Uint8Array
を特定のエンコーディングを使用して文字列にデコード
試してみて、このGitHubの問題 でフィードバックをお寄せください。
シェル環境
拡張機能は、VS Code統合ターミナルから開かれたpwsh
、zsh
、bash
、およびfish
シェルのユーザーの現在アクティブなシェル環境情報にアクセスできます。これは、
terminal.integrated.shellIntegration.enabled
が有効になっている場合にのみ利用可能です。
ユーザーは、
terminal.integrated.shellIntegration.environmentReporting
を使用して、シェル環境情報を報告するかどうかを決定できます。
試してみて、このGitHubの問題
でフィードバックをお寄せください。
エンジニアリング
Electron 34の更新
このマイルストーンでは、安定版リリースのユーザーにElectron 34
の更新を提供しています。この更新には、Chromium 132.0.6834.196
とNode.js 20.18.2
が含まれています。Insidersビルドを自己ホストし、早期フィードバックを提供してくれた皆様に感謝します。
macOS 10.15のサポートが終了しました
VS Code 1.97は、macOS 10.15(macOS Catalina)をサポートする最後のリリースです。追加情報については、FAQ をご覧ください。
リークされたディスポーザブルの開発時追跡
VS Codeは、ファイルを閉じたり、DOM要素をクリーンアップしたり、イベントリスナーを削除したりするための明示的なリソース管理のためにディスポーザブルパターンを使用しています。リソースを破棄しないと、メモリが無駄になり、メモリ使用量が時間とともに蓄積されます。
このようなリークを常に追跡しており、これを検出するための別のツールを追加しました。FinalizationRegistry
APIを利用して、オブジェクトがガベージコレクションされたときに通知を受け取ります。このようなオブジェクトがディスポーザブルを表しており、破棄されていない場合、リークがあることを意味します。これらはVS Codeの開発者に収集され、進行中にクリーンアップできるようにしています。
主な修正点
※今回は特に記載がありませんでした
貢献者の方への謝辞
最後になりましたが、VS Codeに貢献してくださったすべての方々に心より感謝申し上げます。
問題追跡
問題追跡への貢献:
@gjsjohnmurray (John Murray)
@albertosantini (Alberto Santini)
@IllusionMH (Andrii Dieiev)
@RedCMD (RedCMD)
プルリクエスト
vscodeへの貢献:
@a-stewart (Anthony Stewart)
: Diff選択インジケーターラインがmenu.border
ではなくmenu.separatorBackground
を使用するようにする PR #228825
@bchu1 (Bryan Chu)
: ミニマップでのヘッダーの誤配置を修正 PR #217581
@cassidoo (Cassidy Williams)
: #241903を修正: settingsLayout.ts
にGitHubのオーバーライドを追加 PR #241911
@cdce8p (Marc Mueller)
: panelTitleBadge
のカラーバリアブルを追加 PR #240645
@cenviity (Vincent Ging Ho Yim)
: editorOptions.ts
のタイプミスを修正 PR #239929
@cmbrose (Caleb Brose)
: チャットのnewEditSession
コマンドを入力プロンプトを受け取るように更新 PR #241796
@devm33 (Devraj Mehta)
: 修正: electron
をwebpack
の外部として追加 PR #239134
@dmotte (Motte)
: terminal.integrated.confirmOnExit
の動作を修正 PR #240074
@dvangonen (Daniil Vangonen)
: 不要なクラスをbody
から削除 PR #240633
@gabritto (Gabriela Araujo Britto)
: リバート “[typescript-language-features] 展開可能なホバー (#_228255)” PR #240011
@gjsjohnmurray (John Murray)
scm/resourceGroup/context
メニューコマンドにマルチセレクトを提供 (fix #92337) PR #192172
scmResourceGroupState
コンテキストキーを追加 (#_192009) PR #194804
SCM - SCMビューのタイトルを短くする PR #230693
Show User Keybindings
オプションをキーボードショートカットエディターで修正 (fix #240068) PR #240085
Add Triggered Breakpoint...
での’OK’の大文字化が不適切 (fix #240490) PR #240492
@hickford (M Hickford)
: “tunnel user show"でプロバイダーをログに記録 PR #240692
@ihavecoke (ihavecoke)
: tab_size
設定を1から16の間に制限 PR #228957
@jakebailey (Jake Bailey)
: 拡張機能ホスト開発で--disable-extensions
を保持 PR #240415
@jamestut (James Nugraha)
: トークナイザーを初期化する前にTextModel
の制限を計算 PR #240919
@jeanp413 (Jean Pierre)
ターミナル分割ビューの破棄漏れを修正 PR #241597
壊れたターミナルリンクホバーを修正、内容をホバーする前に非表示になる PR #241599
タイムラインビューのイベントリスナーリークを修正 PR #241607
@KexyBiscuit (Kexy Biscuit a.k.a. るる)
: powershell-preview snap
の検出を許可 PR #240054
@klaussner (Christian Klaussner)
: macOSでのトラフィックライトのセンタリングを修正 PR #212471
@naman108 (Natha Paquette)
: ストレージURIドキュメントのタイプミス PR #241600
@nknguyenhc (Nguyen)
: 拡張機能の詳細コンテンツがコンテナからはみ出す問題を修正 PR #240134
@notoriousmango (Seong Min Park)
コマンドセンターのデバッグランチャーが最も最近使用された構成を最初に提供するようにする PR #240744
Markdownをvscode
ログ出力チャネルを使用するように採用 PR #241342
@pouyakary (Pouya Kary ✨)
: 機能: カスタムミニマップセクションヘッダーマーカ検出RegExp
✨ PR #210271
@rgrunber (Roland Grunberg)
: adjustWhitespace
をTextEditor API
に公開 PR #234858
@silamon (Simon Lamon)
: Diffエディター: 1 files
を1 file
に修正 PR #240092
@simon-id (simon-id)
: 修正: ワークベンチ検索が正しいfindMatch
カラーを使用するように (fix #237909) PR #237910
@SimonSiefke (Simon Siefke)
: 修正: 設定インジケーターのメモリリーク PR #236417
@ssigwart (Stephen Sigwart)
: インデントしようとしたときの予期しないタブ補完を修正 PR #136572
@SunsetTechuila (Grigory)
: 機能(コマンド): insertFinalNewLine
を追加 PR #241126
@tcvdh (Thijs van den Heuvel)
: 修正: ターミナルを再利用する前にclear
コマンドの実行を待つ PR #240970
@terrymun (Terry Mun-Andersen)
: 修正: CONTRIBUTING.md
の余分なバッククォートを削除 PR #240305
@tmm1 (Aman Karmani)
: tsb
: 削除され再追加されたソースファイルが再生成されない問題を修正 PR #238409
@xymopen (xymopen_Official)
node
をnpm
スクリプトランナーとして追加 PR #236967
node
をnpm
スクリプトランナーとして追加 (2回目) PR #240527
@zardoy (Vitaly)
: [Git] パフォーマンス向上のためにプル時にgit autostash
に移行 PR #187850
vscode-css-languageserviceへの貢献:
@GauravB159 (Gaurav Bhagchandani)
: lab()
およびlch()
カラーのプレビューを追加 PR #306
vscode-eslintへの貢献:
@edemaine (Erik Demaine)
: Civet
のプロービングサポート PR #1965
@mustevenplay (mustevenplay)
: Typescript
設定ファイルの検出を追加 PR #1968
vscode-hexeditorへの貢献:
@tomilho (Tomás Silva)
: Hex Compare Selected
をCompare Selected
の下に移動 PR #561
vscode-jupyterへの貢献:
@thesuperzapper (Mathew Wicks)
: JUPYTER_RUNTIME_DIR
およびXDG_RUNTIME_DIR
の読み取りを修正 PR #16451
vscode-languageserver-nodeへの貢献:
@MariaSolOs (Maria José Solano)
メタモデルに能力情報を追加 PR #1591
テキストドキュメントのdidOpen/didClose
サーバー能力を修正 PR #1615
範囲フォーマットリクエストの能力を修正 PR #1617
@mciccale (Marco Ciccalè Baztán)
: semaphore.ts
の小さなタイプミス PR #1618
@yf-yang
: 修正: 一致しないハンドラーの破棄を回避 PR #1614
vscode-mypyへの貢献:
mypy
の問題を回避するためにファイルパスの大文字小文字を正しく使用 PR #342
cwd
の大文字小文字をファイルパスに合わせて更新 PR #344
@hamirmahal (Hamir Mahal)
: 修正: CIで非推奨のnode12
の使用 PR #336
@ivirabyan (Ivan Virabyan)
: dmypy
ステータスファイル設定を追加 PR #347
vscode-pull-request-githubへの貢献:
@christianvuerings (Christian Vuerings)
: カスタムSSHでのCopy GitHub Permalink
を修正 PR #6669
vscode-python-debuggerへの貢献:
@TCPsoftware (tcpsoft)
: デフォルトのデバッグ設定として"args": "${command:pickArgs}"
を設定 PR #548
vscode-vsceへの貢献:
@mohankumarelec (mohanram)
: semver
比較を更新 PR #1078
@stevedlawrence (Steve Lawrence)
: 再現可能な.vsix
パッケージを許可 PR #1100
debug-adapter-protocolへの貢献:
@angelozerr (Angelo)
: IntelliJ / LSP4IJ DAP
サポートを追加 PR #529
@samisalreadytaken
: Squirrel Debugger
をadapters.md
に追加 PR #530
@SpartanJ (Martín Lucas Golini)
: tools.md
を更新し、新しいDAP
クライアントecode
を追加 PR #526
@sssooonnnggg (Song)
: chore: luau debugger
を追加 PR #516
@theIDinside (Simon Farre)
: Midas
をデバッグアダプターリストに追加、VSCode
と共に PR #528
language-server-protocolへの貢献:
@ind1go (Ben Cox)
: ワークスペース診断のタイプミス PR #2086
@MariaSolOs (Maria José Solano)
メタモデルに能力情報を追加 PR #2096
メタモデルを更新 PR #2104
@MuntasirSZN (Muntasir Mahmud)
: 機能: サーバーリストにcopilot
言語サーバーを追加 PR #2107
@Szasza (Szasza Palmer)
: サーバーリストにWing
言語サーバーを追加 PR #2101
@the-mikedavis (Michael Davis)
: $0
が他のスニペット構文を使用しないことを明確化 PR #2087
@yassun7010 (yassun7010)
: Tombi
をLSP
リストに追加 PR #2089
python-environment-toolsへの貢献:
@pantheraleo-7
: $VIRTUAL_ENV
の検出サポートを追加 PR #181