Visual Studio logo Visual Studio 2022 バージョン 17.12 リリース ノート

Visual Studio 2022 の最新バージョンは 17.14 です。 詳細については、 リリース ノート を参照してください。

Visual Studio 2022 v17.12 の可用性についてお知らせします。 この更新プログラムでは、.NET 9 プロジェクトと新しい AI 生産性機能を操作するための素晴らしい開発者エクスペリエンスと、継続的な改善に焦点を当てています。

特徴

2024 年 12 月 12 日にリリースされた 17.12 の機能一覧

生産性

エラーリストからのコピー 📣

エラー リストからエラーをコピーすると、行全体ではなく説明だけがクリップボードにコピーされるようになりました。

エラー リストに、修正方法がわからないエラーが表示されます。 したがって、それを選択して Ctrl+C を押すと、Web 検索の説明がコピーされます。 検索エンジンに貼り付けた後、説明だけでなくすべての列ヘッダーと行の値がコピーされたことに気付きます。 Web 検索を実行する前に、エラーの説明以外のすべてを削除する必要があります。 これは面倒ですが、修正方法が見つかりました。

エラーリストのコピーの修正

Ctrl+C を使用してエラー リストからエラーをコピーすると、説明のみがクリップボードにコピーされます。 これにより、オンラインでエラーを検索したり、他のユーザーと共有したりすることが容易になります。

エラーを右クリックしてコンテキスト メニューから [行のコピー] を選択するか、Ctrl+Shift+C を押しても、行全体をコピーできます。

エラーの説明を使用して Web 検索を実行したい場合は、Ctrl+F1 を押してエラーに関する情報をオンラインで検索します。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Code Search での任意の行への移動 📣

コード検索では、現在のドキュメントまたは他の指定されたドキュメント内の特定の行に移動できるようになりました。

場合によっては、コード内の特定の行に問題があることがわかっていて、すぐに解決したい場合があります。 あるファイルの 43 行目にエラーが発生したと通知されたり、特定のファイルの末尾まで調べたい場合があります。

コード検索 では、コード内の特定の行への迅速なナビゲーションがサポートされるようになりました。

コード検索 を開き、コロン+行番号を使用して 現在の ドキュメント内の行に移動します。 たとえば、 :39 はアクティブ ファイルの 39 行目に移動します。

現在のドキュメントの行へ​​移動

ファイル名 + コロン + 行番号を使用して、 別の ドキュメント内の行に移動することもできます。 たとえば、 Order:43Order.cs の 43 行目に移動します。 正確なファイル名を指定しない場合、検索は最適な一致を見つけようとします。

別のドキュメントの行へ移動

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Code Search ウィンドウのドッキング 📣

ドッキングや自動非表示などの機能を使用して、コード検索ウィンドウを自由に配置できるようになりました。

コード検索や機能検索を邪魔にならないようにする必要がある場合は、検索ウィンドウの動作をより細かく制御できるようになりました。

検索ウィンドウをドッキングし、ソリューション エクスプローラーなどのツール ウィンドウアクションを実行できるようになりました。

検索は下部にドッキングされています

コード検索 または 機能検索を開いた後、右上のボックスアイコンをクリックしてツールウィンドウに変換します。 別の場所にドッキングしたり、ポップアウトしたり、自動的に非表示にしたりすることもできます。右上のアイコンをクリックすれば、閉じられるポップアップ ウィンドウに戻すことができます。

ウィンドウの右上、2番目のアイコンはツールウィンドウのアイコンです

また、検索のプレビューエクスペリエンスも簡素化され、整理されました。 プレビューのオン/オフを切り替えるための、目のアイコンで示されるボタンが 1 つあります。

ウィンドウの右上の最初のアイコンはプレビューパネルアイコンです

プレビュー パネルの位置も、検索ウィンドウのサイズに基づいて調整されます。

検索は右側にドッキングされています

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

c2 />

Visual Studio エディターで折りたたまれたテキスト インジケーターのカスタム 色を設定します

折りたたまれたテキスト インジケーターをカスタマイズするための新しいオプションを使用して、エディターエクスペリエンスをさらにカスタマイズできるようになりました。

Visual Studio エディターで拡張および折りたたまれたテキスト インジケーターをカスタマイズしました

それを試して、それぞれにカスタムの前景色と背景色を設定するには、 [ツール] > [オプション] > [環境] > [フォントと色] の順に選択します。

[フォントと色] ページの折りたたまれたテキスト インジケーター エントリ

ここには、カスタマイズ用の新しい項目が 2 つあります。

  • 折りたたまれたテキスト インジケーター (折りたたまれている)
  • 折りたたまれたテキスト インジケーター (展開)

定義済みの色またはユーザーが選択したカスタム色を使用して、折りたたまれたインジケーターと展開されたインジケーターの色を個別に設定できます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

検索結果の更新 📣

検索結果を以前の検索に更新して、最新の検索一致を取得できるようになりました。

多くのユーザーから、[検索] ウィンドウを再度開き、検索をやり直して更新された結果を取得する動作に不満があるとのご意見をいただきました。 コードをリファクタしたばかりで、すべてが期待どおりに変更されたことを確認したい場合や、最近の変更をプルして、これらの更新を反映するために最近の検索操作が必要になる場合があります。

[ファイルで検索] を完了したら、ウィンドウで検索結果を更新するオプションが表示されます。 検索をやり直すことなく、更新された結果が得られます。

[停止] の右にある [検索の更新] ボタン

以前の [検索の繰り返し] オプションも再設計され、更新と区別されました。 鉛筆アイコンが付いた [検索の変更] として表されるようになりました。 このボタンは、その結果ウィンドウに使用したのと同じ検索条件で [ファイルで検索] を再度開きます。

ツール バーの右端にある [検索] ボタンを変更する

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

水平スクロール バーの領域の拡大 📣

CodeLens でファイル レベル インジケーターの表示を制御できるようになりました。

水平スクロールバーのある領域は、Visual Studioでかなり乱雑になる可能性があります。 CodeLens のファイル レベル インジケーターを既定でオフにすることで、クリーンアップを容易にできるようになります。

エディターの下余白のファイル レベル CodeLens インジケーター

オプションをオンにしたい場合は、 の下にある > オプションを見つけます。 このオプションは、XAML、HTML、CSS などの下部のエディター余白にファイル レベルの CodeLens コントロールがあり、インライン CodeLens を含むファイルには影響しないファイルの種類の表示に影響します。

ファイル レベル CodeLens インジケーターを表示するオプション

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

保存時の非ブロッキング コード クリーンアップ

コード クリーンアップを保存時に実行すると、コーディング エクスペリエンスをスムーズにするために、非ブロッキング方式で動作するようになりました。

以前は、保存時にコード クリーンアップを実行する際は、IDE でアクションを実行することはできませんでした。 現在はこの機能が強化され、非ブロッキング方式で操作できます。

クリーンアップ プロセスはバックグラウンドで実行され、入力を再開すると自動的に取り消され、よりスムーズで応答性の高いコーディング エクスペリエンスが保証されます。

保存時のコード クリーンアップ

ソリューション レベルのパッケージ マネージャー UI での依存関係

ソリューション レベルでVisual Studioのパッケージ マネージャー UI の [インストール済み] タブを見ると、直接パッケージと推移的パッケージの両方が表示されるようになります <>

以前は、Visual Studioのパッケージ マネージャー UI の [インストール済み] タブで、プロジェクトの直接的な依存関係と推移的な依存関係の両方を確認できました。 このリリースでは、ソリューション レベルの推移的な依存関係を表示する機能も追加されました。

ソリューション レベルの推移的依存関係の

ソリューション エクスプローラー

に設定すると、ソリューション エクスプローラーは脆弱性 <を持つ推移的な依存関係のインジケーターを表示します>

NuGet Audit は、Visual Studio 17.8 (および .NET 8) で最初に追加され、プロジェクトで使用されているパッケージに既知の脆弱性がある場合、復元中に警告を表示します。

すべての構成オプションを含む NuGet 監査の詳細については、NuGet 監査に関する ドキュメントを参照してください。

これらの脆弱性は、直接的な依存関係と推移的な依存関係 (依存関係が依存するパッケージ) に存在する可能性があります。 NuGetAuditModeall に設定すると、ソリューション エクスプローラーは直接だけでなく、脆弱性を持つ推移的な依存関係のインジケーターも表示されます。

ソリューション エクスプローラー

GitHub Copilot

その他の質問GitHub確認

GitHub全体を検索して、Visual Studio.

GitHub Copilot Chatを使用してGitHub全体を検索し、コミット、問題、プル要求、リポジトリ、トピックを検索できるようになりました。

次のような質問をすることができます。

  • @github すべてのオープン PR が自分に割り当てられているのは何ですか?
  • @github 私に割り当てられた最新の問題は何ですか?
  • @github 最新リリースはいつですか?
  • @github 最近マージされた PR を表示する @davidfowl

新しいGitHub Skills

この機能は、すべてのGitHub Copilotユーザーが使用できます。 available GitHub Skills の詳細については、GitHub Copilotドキュメントを参照してください。

重要

この機能を使用するには、必ず GitHub Copilot


GitHub Copilot

GitHub Copilot Chat.

GitHub Copilotを使用すると、コンテキストを提供するだけで、チームのワークフロー、推奨されるツール、プロジェクトの詳細に合わせて調整されたチャット応答を受け取ることができます。 このコンテキストの詳細を各チャット クエリに追加する代わりに、この情報を自動的に提供するファイルを作成できます。 この追加のコンテキストはチャットには表示されませんが、GitHub Copilotして、より正確で関連性の高い応答を生成できます。

GitHub Copilotカスタム命令

カスタム命令を有効にする方法
  1. Tools > Options > GitHub > Copilot> を使用して機能を有効にし、(プレビュー) .github からカスタム命令を読み込むかどうかを確認します/copilot-instructions.md ファイルと要求に追加
  2. .github ファイル内の respository のルートに copilot-instruction.md を追加し、ファイルがまだ存在しない場合は作成します。

GitHub Copilot カスタム命令を有効にする

カスタム命令の作成の詳細については、こちらを 参照してください。

重要

この機能を使用するには、必ず GitHub Copilot


GitHub Copilot Chat

GitHub Copilotでは、model.

Visual Studioの GitHub Copilot Chatのすべてのユーザーが OpenAI o1-preview と o1-mini を使用できるようになりました。

o1-preview、o1-mini、または既定の GPT-4o モデルを使用して、GitHub Copilot Chatに電力を供給することで、これらのモデルを直接試すことができます。 モデル切り替えを利用できるため、API の説明や基本的なコードの生成から複雑なアルゴリズムの作成やロジック エラーのデバッグにシームレスに移行できます。

この機能の詳細については、GitHub Changelog を参照してください。

重要

この機能を使用するには、必ず GitHub Copilot


Enhanced contextual understanding

GitHub Copilotでのコンテキスト理解により、より正確な応答が提供されます。

GitHub Copilotでのコンテキスト理解の強化

GitHub Copilotでは、より正確な応答を提供するためのコンテキスト理解が強化されました。 この更新プログラムにより、GitHub Copilotはコード内の主要な特性を直感的に解釈し、プロジェクト固有のニーズに合わせて提案を調整できます。 コード 支援に対するこのよりスマートなアプローチは、頻繁なコンテキスト調整を必要とせずに、より効率的に作業できるように設計されています。

今すぐGitHub Copilotで試してみましょう。

重要

この機能を使用するには、必ず GitHub Copilot


コンテンツの除外の更新

コンテンツの除外で、サブモジュールと入れ子になったリポジトリがサポートされるようになりました。

システムがサブモジュールと入れ子になったリポジトリを処理する方法が強化され、複雑なプロジェクト構造を簡単に操作できるようになりました。

さらに、Git 以外のリポジトリのサポートが追加され、ワークフローの柔軟性が向上し、より広範なプロジェクトをシームレスに統合できます。

重要

この機能を使用するには、必ず GitHub Copilot


AI スマート変数検査

統合された AI 変数検査によりデバッグ ワークフローを最適化します。

ローカル、自動変数、およびデータヒントからの値の検査と分析は、Visual Studioの Ask GitHub Copilotでこれまでより簡単になりました。 任意の値を右クリックするだけで、エラー、予期しない結果、異常に関する詳細な AI 主導の分析情報を取得できます。IDE を離れることなくすべて行えます。

ai変数検索

この機能により、予期しない値が発生したときに IDE 内で変数をリアルタイムで分析することで、トラブルシューティングの速度が大幅に向上します。

重要

この機能を使用するには、必ず GitHub Copilot


AI を利用した IEnumerable ビジュアライザー

IEnumerable ビジュアライザーの AI を利用した LINQ 編集可能な式。

AI 支援により、IEnumerable ビジュアライザーの編集可能な式の機能が強化されました。 新しいCopilot に質問機能を使用すると、ユーザーは編集可能な式テキストボックス内で直接 AI を活用して、複雑な LINQ 式を作成できます。

AI 編集可能な式 IEnumerable ビジュアライザー

GitHub Copilotチャットにアクセスするには、編集可能な式セクションの右下隅にあるGitHub Copilotアイコンをクリックするだけです。 チャットでは、サンプルの LINQ 構文の例を見つけることができます。 さらに、自然言語でクエリを記述でき、GitHub Copilotは対応する LINQ クエリを生成します。 LINQ クエリ フィルター処理をビジュアライザーに適用するには、チャットの [ビジュアライザーを表示] ボタンを使用します。

即座にフィードバックとガイダンスを提供し、複雑なフィルターと変換を作成するプロセスをより直感的かつ効率的にします。

重要

この機能を使用するには、必ず GitHub Copilot


GitHub Copilot

GitHub Copilot.

失敗した単体テストのデバッグに関するヘルプが必要です。 GitHub Copilotは、デバッグ 計画を提供し、失敗したテストのデバッグをガイドして、テスト エクスプローラーの Debug with Copilot ボタンをクリックして合格に近づけることができます。

debug with GitHub Copilot

この機能を起動すると、GitHub Copilotはデバッグ 計画を提供し、適切なブレークポイントを設定して変数を監視し、デバッグ セッションを起動します。 ブレークポイントにヒットすると、監視対象の変数の値をGitHub Copilotに提供し、次のステップを決定し、デバッグを続行するか、問題のコードを修正します。 合格テストが完了するまで、この会話を続行できます。

GitHub Copilot Chatとデバッグ プランと次の手順

重要

この機能を使用するには、必ず GitHub Copilot


GitHub Copilot

GitHub Copilot は、コードの問題の解決に役立ちます。

GitHub Copilotは電球とエラーの一覧に統合され、コードの問題に関する簡単な修正と洞察に満ちた説明が提供されるようになりました。 C# と C++ のどちらで開発を行っているかによらず、この機能はコードベースの問題をより効率的に理解して解決するのに役立ちます。

開始するには、電球を呼び出して Fix with Copilot を選択します。 これにより、GitHub Copilotとのインライン チャットが開始され、使用可能な修正プログラムが提供されます。

lightbulb

エラー一覧から GitHub Copilot アイコンを選択してチャット パネルを開くこともできます。このパネルには、エラーの詳細な説明と解決策が表示されます。

エラー 一覧からGitHub Copilotを含むコードを修正します

GitHub Copilotは、LLM を活用することで、電球とエラー一覧内で直接役立つ説明と修正を提供し、コーディングエクスペリエンスを向上させます。

フィードバックを共有し、会話を続けるには、feature チケットを参照してください <>

重要

この機能を使用するには、必ず GitHub Copilot


C#

GitHub Copilot は、関連するソース ファイルから追加のコンテキストを取り込み、C#.

GitHub Copilotコード補完では、コードを記述するときにオートコンプリート候補がインラインで提供されます。 これらの候補は、現在アクティブなファイルの内容と、エディターで開いている他のファイルに基づいて生成されます。 しかし、より関連性の高いコンテキストを組み込むことで、これらの提案が大幅に改善されることを発見しました。

C# 開発者のエクスペリエンスを強化するために、GitHub Copilotを更新して、使用可能な型やメソッドなどの追加の C# コンテキストを入力候補に含めます。

Visual Studioの最新バージョンでは、GitHub Copilotは、これらのファイルがエディターで開かなくても、セマンティックに関連するファイルを追加のコンテキストに対して自動的に考慮するようになりました。 この改善は、より関連性の高い正確な提案を提供する一方で、ハルシネーションを減らすのに役立ちます。

Before: 意味的に関連するファイルは、GitHub Copilot完了のコンテキストとは見なされません

関連ファイルは、GitHub Copilot Completions

After: 意味的に関連するファイルは、GitHub Copilot完了のコンテキストと見なされます

関連ファイルは、GitHub Copilot完了のコンテキストと見なされます

重要

この機能を使用するには、必ず GitHub Copilot


reference コード (GitHub Copilot)

GitHub Copilotで参照するコードを紹介し、match.

Visual Studio内のGitHub Copilotでコード参照が利用できるようになったことをお知らせします。

参照されているパブリック コードの例

この新機能は、GitHub がパブリック コードと一致Copilot の提案通知することで、開発者に透明性を提供します。 一致するコード、そのソース ファイル、および関連するライセンス情報を確認できるようになり、コーディング中により情報に基づいた意思決定を行うことができます。

コード参照を使用すると、パブリック コード一致を含む提案をブロックまたは許可することができ、制御とカスタマイズが強化されます。

GitHub Copilotでコード参照を統合することで、知識共有を促進し、透明性を高め、自信を持って作成できるようにします。 個人の開発者であっても、大規模なチームの一員であっても、この機能によりワークフローが強化され、公開コードの複雑さを簡単に処理できるようになります。

今すぐVisual StudioでGitHub Copilotを試し、透明性と自信を持って開発プロセスを制御してください。

重要

この機能を使用するには、必ず GitHub Copilot


GitHub Copilot

GitHub Copilot.

GitHub Copilot Chatと対話するための新しい、より会話的な方法が導入されています。

ガイド付きチャット エクスペリエンスの例

GitHub Copilot Chatを使用するためのより対話型で会話的な方法が導入されました。 今、GitHub Copilotは、立ち往生や自信を持たずに、コンテキストが不明な場合に質問を明確にし、より正確で役に立つ回答を保証します。

このガイド付きチャット エクスペリエンスは、クエリを絞り込み、提案を提供し、よりスムーズで生産性の高い対話を実現するのに役立ちます。 この新しいチャット モダリティを使用すると、コードを記述するときにニーズに適応する、よりスマートで直感的なGitHub Copilotを楽しむことができます。

新しいガイド付きチャット エクスペリエンスを今すぐ試して、違いをご自身でご確認ください。

重要

この機能を使用するには、必ず GitHub Copilot


GitHub Copilot オンボード

Get started faster in GitHub Copilot Chat!

GitHub Copilot Chatの概要に関するヘルプが必要ですか? すばやく作業を開始できるように、2 つの新しいオンボード機能が導入されました。

スターター プロンプト

スタート プロンプトのいずれかをクリックして、最初のメッセージを GitHub Copilot に送信します。 これらのプロンプトを使用して、ワークフローで提供する必要GitHub Copilot機能を確認します。

GitHub Copilot スターター プロンプト

プロンプト ライブラリ

事前に作成されたプロンプトをもう一度参照する必要がある場合は、 Prompt Library ボタン (書籍アイコン) をクリックして、使用可能なすべてのプロンプトの一覧を表示します。 このライブラリには、一般的に使用されるプロンプトが含まれており、クリックするだけでそれを利用できます。

GitHub Copilot promptlibrary

新しいコーディング タスクを探している場合でも、インスピレーションを探している場合でも、GitHub Copilot Chatを最大限に活用するためのプロンプトが表示されます。

ぜひ試して、どうなるか確認してみましょう。

重要

この機能を使用するには、必ず GitHub Copilot


.NET

.NET 9

.NET 9 は、生産性の向上、合理化されたデプロイ、および高速 AI 統合に重点を置いて、クラウドネイティブでインテリジェントなアプリ開発を強化します <>

.NET 9 は、生産性の向上、合理化されたデプロイ、および高速 AI 統合に重点を置いて、クラウドネイティブでインテリジェントなアプリ開発を向上させ、幅広いアプリケーションで優れたパフォーマンスを提供します。 Visual Studio 17.12 の .NET 9 を完全にサポートすることで、最新のすべての機能強化を簡単に活用できます。 新機能の詳細については、 .NET 9を参照してください。

.NET 9

さらに、.NETを操作し、これまで以上に生産性を高める IDE 周辺の機能 ASP.NET 更新プログラムを見つけることができます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。


Visual Studio<>

NuGet を使用すると、特定のGitHubアドバイザリに対する警告を抑制でき、Visual Studio.

NuGet 監査では、プロジェクトで使用されるパッケージに既知の脆弱性がある場合に警告が表示されます。 常に新しいバージョンのパッケージにアップグレードすることをお勧めしますが、アップグレードが不可能で、ソフトウェアが危険にさらされていないことを確信している場合は、プロジェクト ファイルに NuGetAuditSuppress 項目を追加することで、特定のGitHubアドバイザリの警告を抑制できます。

<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <NuGetAuditSuppress Include="https://github.com/advisories/GHA1234" />
  </ItemGroup>
</Project>

監査ソース として nuget.org を構成する機能

他の NuGet フィードを使用している場合でも、nuget.org を監査ソースとして設定して脆弱性情報を取得できるようになりました。

NuGet Audit には、脆弱性データベースを提供するパッケージ ソースが必要です。 nuget.org は、GitHub アドバイザリ データベースから脆弱性情報を提供します。

Visual Studio 17.12 以降では、NuGet.Config ファイルで監査ソースを指定できるようになりました。そのため、nuget.org をパッケージ ソースとして使用する必要がなくなりました。

nuget.org をパッケージ ソースとして使用しておらず、復元中に脆弱なパッケージのレポートに NuGet Audit を使用する場合は、ソリューション ディレクトリの NuGet.Config ファイルに次のコードを追加します。

<confiuration>
  <!-- any existing config, including <packageSources> -->
  <auditSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </auditSources>
</configuration>

デバッグ & 診断

Blazor WebAssembly debugging 📣

9 以降を対象とする Blazor WebAssembly アプリのデバッグ エクスペリエンス.NET向上しました

Visual Studioでは、.NET 9 以降を対象とする Blazor WebAssembly アプリのデバッグ エクスペリエンスが向上しました。

  • デバッガーに表示されるデータ型が、予想される.NETデータ型と一致するようになりました。
  • 型メンバーとメンバーの可視性で、想定されるアイコンが使用されます。
  • 表示される呼び出し履歴は、.NET呼び出し履歴のみを表示するようにクリーンアップされ、Just My Code 設定が正しく適用されます。
  • モジュール ウィンドウがサポートされるようになりました。
  • イミディエイト ウィンドウ内、ウォッチ、条件付きブレークポイントでの式の評価のサポートが拡張され、改善されました。

Blazor のデバッグ改善

新しいプレビュー デバッグ エクスペリエンスを有効にするには:

  • 9+ Mono デバッガーの新しい.NETを有効にします。
  • 最新の .NET 9 SDK をインストールします。
  • Blazor アプリを .NET 9 をターゲットに更新します。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

プロファイラーの測定ヒストグラム

プロファイラー カウンター ツールの測定ヒストグラムを使用してパフォーマンスの分析を強化しました。

Visual Studioのパフォーマンス プロファイリング スイートの最近の機能強化では、メーター ヒストグラム機能が導入されています。 このツールを使用すると、ヒストグラム インストルメントによって生成されたヒストグラム データを識別して分析できます。 これらのインストルメントからデータを記録すると、ヒストグラムの結果が視覚化され、データ分布が明確に表現されます。

測定ヒストグラム カウンター ツール

さらに、スイムレーン グラフでは、パフォーマンス メトリックの詳細なセグメント化されたビューが提供され、パフォーマンスの問題を効果的に特定して対処する機能が強化されます。

表示メソッドの戻り値 📣

デバッガーでは、効率を向上させるために AI 支援を受けたインライン戻り値が表示されるようになりました。

Visual Studio デバッガーは、開発者コミュニティから最も要求された機能の 1 つに応答して、return ステートメントのインライン値を表示するようになりました。

この機能強化により、関数によって返される正確な値をコード内で直接確認できるため、戻り値を検査するために追加のコードや一時変数が不要になります。

インラインの戻り値

GitHub Copilotでは、ホバー時に Copilot に質問 オプションを使用して戻り値をVisual Studioで直接分析することで、問題にすぐに対処できます。

これはネイティブ コードとマネージド コードの両方でサポートされています。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

ブレークポイント グループを簡単にエクスポート 📣

ブレークポイント グループを簡単にインポートおよびエクスポートできます。

ブレークポイント グループVisual Studioインポートおよびエクスポート機能がサポートされるようになりました。これにより、複数のプロジェクトまたは環境にわたってブレークポイント構造を簡単に管理および維持できます。

ブレークポイント グループのエクスポート インポート

この新しい機能を使用すると、ブレークポイント グループをその構成とともにエクスポートし、後で別のソリューションにインポートできるため、ブレークポイント グループを手動で再作成する必要なく、一貫したデバッグ設定を確保できます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

IEnumerable ビジュアライザーの IntelliSense 📣

IntelliSense を使用して IEnumerable ビジュアライザーを強化し、LINQ クエリを高速化しました。

IEnumerable ビジュアライザーは IntelliSense を使用して強化され、リアルタイムのコード候補とオートコンプリートが提供され、LINQ 式の記述がより迅速かつ正確になります。

IEnumerable ビジュアライザーの IntelliSense

この改善により、スマート コードの推奨事項を提供し、エラーの可能性を減らし、開発時間を短縮することで、クエリの作成と編集のプロセスが簡略化されます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

メモリ使用量の経時的な分析

診断ツール ウィンドウを使用して、2 つのメモリ スナップショットを選択して比較します。

[診断ツール] ウィンドウでメモリ スナップショットの比較がサポートされるようになりました。これにより、時間の経過に伴うメモリの変化を簡単に分析できるようになりました。

この機能を使用するには、[診断ツール] ウィンドウの Memory タブで少なくとも 2 つのメモリ スナップショットがキャプチャされていることを確認します。

比較するスナップショットの選択
  • Ctrl キーを押したまま、スナップショット行をクリックして 2 つのスナップショットを選択します。
  • または、 Shift キーを押したまま、 up/down 方向キーを使用して 2 つの連続するスナップショットを選択します。
スナップショットの選択解除
  • Ctrl キーを押しながら、選択を解除するスナップショットをクリックします。
相違点の表示

比較するメモリ スナップショットを選択したら、スナップショット一覧の上にある [相違点の表示] ボタンをクリックして、それらの相違点を表示します。

差分スナップショット MMA の表示

Git ツール

Git によるファイル名の変更管理 📣

新しい通知でファイル名を変更するときに安心。

ソリューション エクスプローラーからファイルの名前を変更すると、Git で名前の変更を確認するために変更をステージングするように通知されます。 これにより、Git がファイルの変更を認識し、正しく追跡していることに対する信頼が高まります。 これは多くのお客様にとって混乱の点であることがわかったので、Developer Communityの人々と協力して新しい通知を生成しました。

Git mv 通知

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

pull request drafts and templates 📣

pull request の下書きを作成し、Visual Studio.

pull request の下書きを作成し、Visual StudioのGitHub テンプレートで説明を開始できるようになりました。 これらは、pull request の作成エクスペリエンスで上位 2 つの要求でした。

下書き PR

[作成] ボタン上のドロップダウン メニューを使用して、 [ドラフトとして作成] を実行します。

pull request の下書き作成オプション

PR テンプレート

既定の PR テンプレートは、GitHubとAzure DevOpsの両方に対して新しい PR を作成するときに使用されます。 リポジトリに PR テンプレートを追加する方法の詳細については、GitHubドキュメントおよびAzure DevOpsドキュメントを参照してください。

📣 フィードバックを共有し、会話を続けるには、 機能チケット を参照してください。機能のさらなる向上に役立てるため、 アンケートにご協力 ください。

c2 />

Visual Studioでは、内部リポジトリの作成がサポートされるようになりました。また、新しい project.

Visual Studioでは、GitHub組織の内部リポジトリがサポートされるようになりました。 また、使用しているアカウントに応じて新しいプロジェクトの可視性をより明確にするために、各リポジトリ タイプのガイダンスも含まれています。

新しいリポジトリダイアログ

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Copy Git リンク 📣

特定のコード行へのGitHubまたはAzure DevOpsリンクを取得して、同僚と簡単に共有できます

同僚と数行のコードを共有するたびに、リポジトリから追加のコンテキストを取得すると多くの場合に便利です。 ただし、他の作業に取り組んでいる場合は、時間がかかりすぎて、ブランチをチェックアウトする作業が中断される可能性があります。

これで、エディターで共有するコードを強調表示し、右クリックでコンテキスト メニューを開き、Git サブメニューの下で、GitHubまたはAzure DevOpsでコードへの共有可能なリンクを取得できます。 これにより、シンプルかつ簡単に共同作業でき、IDE と Web 上のリモート リポジトリ間のフローがスムーズになります。

Git URL のコンテキスト メニューをコピーする

コミット履歴から直接共有可能なリンクを取得することもできます。 これにより、現在チェックアウトされていないコードを簡単に参照できます。

Git リポジトリ ウィンドウで Git URLをコピーする

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Git マルチリポジトリサポート 📣

GitHubとAzure DevOps.

複数リポジトリのシナリオでプル要求を作成し、作業項目をリンクできるようになりました。 GitHubとAzure DevOpsの両方で、リポジトリピッカーを使用してマルチリポジトリシナリオの特定のリポジトリに焦点を当てると、統合がサポートされます。

リポジトリ ピッカー

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

C2 />

GitHub Copilot.

これで、GitHub Copilotを使用して Git コミット メッセージを生成するためのプロンプトに追加の手順を追加できます。 これにより、コミット メッセージをカスタマイズして、ワークフローとチームの標準に適合させることができます。 生成する行数、行の長さを指定したり、サンプルのコミット スタイルを提供したりすることもできます。 プロンプト フィールドの Tools > Options > GitHub > Copilot > Source Control Integration でメッセージを編集します。

Git メッセージのカスタマイズ

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

IDE

Multi-Project Launch Configuration 📣

マルチプロジェクト ソリューション内の特定のプロジェクトの起動プロファイルを設定して保存することで、デバッグを効率化します。 構成をチームと簡単に共有できます。

マルチProject起動構成機能を使用すると、デバッグ用の定義済みの状態で、マルチproject ソリューション内で特定のプロジェクトを起動するためのプロファイルを設定および保存できます。

Multi-Project Launch Configuration

これにより、複雑なソリューションを操作するプロセスが簡略化され、デバッグの効率が向上し、チーム メンバー間で構成を簡単に共有できるようになります。

フィードバックを共有し、会話を続けるには、feature チケットを参照してください <>

この機能は、 [ツール] -> [プレビュー機能の管理]で有効にする必要があります


MotW セキュリティ警告

Mark of the Web (MotW) セキュリティ警告が、全体的な信頼機能に統合されました。

Visual Studioは、Web のマーク (MotW) 識別子でタグ付けされたコンテンツを開こうとしていることを検出すると、セキュリティ警告を表示します。

この新しい信頼関連の警告は、インターネットからのダウンロードなど、潜在的に安全でないソースからのコンテンツを開くことのリスクを伝えます。

Visual Studio

デフォルトの信頼エクスペリエンスを変更するには、 の > を選択します。

信頼設定では、デフォルトの信頼エクスペリエンスをカスタマイズできます

Teams ツールキットの新しい AI テンプレート

Teams Toolkit は、新しい AI Teams アプリ テンプレートをオンボードします。

Teams Toolkit には、次の 3 つの新しい Teams AI アプリ テンプレートが追加されています。

これらは次のとおりです。

Teams AI アプリ テンプレート

  1. Basic AI Chat Bot - Teams AI ライブラリを使用して構築されたMicrosoft Teams内の独自の副操縦士

  2. Chat With Your Data - カスタム データ ソースからのドメイン知識を持つインテリジェントなチャットボット テンプレート。

    Teams Toolkit を使用すると、カスタム Copilotを作成できるようになりました。これは、自然言語を理解し、ドメイン固有の質問に答えるためにドメイン データを取得できる RAG 機能を備えた AI を利用したチャットボットです。 このテンプレートは、カスタム Copilot アプリのカスタム データへのアクセスをサポートしています。

    このテンプレートを選択すると、データに接続する 2 つの方法を選択できます。

    ある。 Azure AI 検索: チャットボットは、Azure AI search サービス上のデータにアクセスし、ユーザーとの会話で使用できます。

    b。 Custom データ ソース: ファイル システムやベクター DB など、カスタム Copilot アプリに必要なデータ ソースを追加できます。

  3. AI エージェント - LLM 推論に基づいて意思決定を行い、アクションを実行できる Teams の AI エージェント。

新しい AI アプリ テンプレートを試して、Teams で AI 体験を開始してください。

インスタンス間のコピー ファイル 📣

Visual Studioのあるインスタンスのソリューション エクスプローラーから別のインスタンスにファイルとフォルダーをコピーできるようになりました

Visual Studioでは、ご要望の多い機能をご紹介します。 ソリューション エクスプローラーを使用して、異なるVisual Studio インスタンス間でコード ファイルとフォルダーをシームレスにコピーして貼り付けることができるようになりました。 目的のファイルまたはフォルダーを選択し、Ctrl+C または Ctrl+X を使用します。 別のVisual Studio インスタンスに切り替え、Ctrl+V を使用して、新しいファイルまたはフォルダーを含めますソリューション。 すべての変更は、ファイル システムに正確に反映されます。

コピーと貼り付けに加えて、Visual Studioのインスタンス間でファイルとフォルダーをドラッグすることもできます。

 Visual Studio インスタンス間のCopy ファイル

以前は、この機能は少数のプロジェクトの種類でのみ使用できるようになりましたが、Visual Studioのすべての主要なプロジェクトの種類を含むように拡張しました。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Azure App Service セキュリティ更新プログラムの発行

統合セキュリティ更新プログラムを使用して安全にAzure App Serviceに公開する

Azure App Serviceの発行ガイダンスでは、基本認証を無効にし、統合認証による発行を有効にすることをお勧めします。

Azure Tools Secure Publish

Visual Studio 2022 の新機能により、基本認証が無効になり、Azure App Serviceに発行するための統合セキュリティが有効になります。 これにより、資格情報の発行が安全に処理され、基本認証に関連するリスクが軽減されます。

基本認証が有効になっているAzure App Service ( 推奨) に発行すると、ユーザーには [基本認証時に戻る] オプションが表示され、既定ではオフになります。 基本認証を保持する必要があるお客様は、このチェック ボックスをオンにすることができますが、基本認証を無効にすることをお勧めします。既定ではオフになっています。 そのため最初に発行する場合は<>Visual Studio>の更新後に発行プロセスを実行すると、セキュリティで保護が得られます。

Azure Tools Secure Publish Disabled

ポータルまたは今後のバージョンのVisual Studioを使用して Web アプリを最近作成した場合、基本認証は既定で無効になります。 基本認証が既に無効になっている Web アプリについては、誤って Web アプリの安全性が低下しないようにチェック ボックスを完全に無効にするため、セキュリティは維持されます。

Azure Tools Secure Publish Enabled

Azure WebJobs Linux サポート 📣

Visual Studio.

クロスプラットフォーム .NET 5.0 以降のコンソール アプリは、Azure WebJobs Linux でサポートされています。これで、コードを右クリックして、Visual Studioから Linux 上の WebJobs をAzureできます。

Linux ターゲットを示す [発行] ダイアログ

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Azure Functions Flex Consumption

現在 Preview.

現在プレビュー段階にある新しいAzure Functions Flex Consumption ホスティング プランを試している場合は、Visual Studioから Flex に発行を右クリックできます。

Flex Consumption を使うと、アプリの機能がさらに拡張され、次の利点が得られます。

  • 追加コストなしで統合Virtual Network
  • インスタンス サイズの選択とインスタンスごとのコンカレンシー制御が可能な、高速かつ予測可能なスケーリング
  • ゼロへのスケーリングによるサーバーレスで、インスタンスがアクティブな間だけ支払い
  • オプションの常時使用可能なインスタンス機能によりコールド スタートを軽減

Flex Consumption の詳細については、のブログ記事またはドキュメントを参照し、サンプルのいずれかを試してください。

Azure Functions Flex Consumption publishing

Connected Services のセキュリティ更新プログラム

アプリと開発エクスペリエンスの安全性を高めます。

接続済みサービスに対するこの更新では、コードや構成でシークレットや接続文字列を必要とせずに、プロジェクト コードを Azure Storage などのAzure リソースに接続できるようになりました。

次に、接続に名前を付けます。エンドポイントは完全な接続文字列ではなく構成に保持されます。 これによって、ディスク上のシークレットが少なくなるため、開発時間は既定でセキュリティが強化され、ソース管理にシークレットをコミットする際のエラーが少なくなります。

 Azure Storage ダイアログに接続

最新のAzure SDKも使用しているため、接続文字列経由で接続するのではなく、Visual Studio (またはAzure CLI) ログインを使用してAzure リソースに接続するサポートを受けられます。 ローカルで実行する場合、コードはログイン済みの資格情報を使用してリソースにアクセスします。 Azureで実行すると、Azure SDKはアプリ サービスのマネージド ID を使用してリソースにアクセスします。

接続済みサービスは、これをすべて自動で設定し、シークレットの代わりに統合 ID を使用するための適切なコードを挿入します。 発行時に、アプリは適切な ID とリソースへのアクセスに必要なロールを使用して構成されます。

デスクトップ

.NET 9

Visual Studioは、新しいスタンドアロン の単一プロジェクト MSIX ツールを参照して、.NET 9.

.NET 9 の UWP サポートの初期プレビューでは、(Windows アプリケーション パッケージ プロジェクト (.wapproj ファイル) を使用するのではなく、単一のプロジェクト構成を使用してアプリをパッケージ化するための MSIX ツールを WindowsAppSDK に提供しました。 これにより、いくつかの問題が発生しました。主な問題は、WindowsAppSDK からの WebView2 推移的な依存関係が、必要ない場合でも、すべての UWP アプリにも自動的に追加されることです。

これで、単一プロジェクトの MSIX ツールが完全に分離され、新しいスタンドアロン NuGet パッケージとして発行されました:Microsoft.Windows。Sdk。BuildTools.MSIX。 これには、.NET 9 で UWP アプリをビルド、展開、実行するために必要なもの、およびMicrosoft Storeまたはサイドロードで発行する MSIX パッケージの生成に必要なものがすべて含まれます。 Visual Studio の .NET 9 ツールの UWP は、必要に応じて、次の 2 つのパッケージ参照を自動的に追加します。

MSIX ツール

これにより、WebView2 推移的な依存関係と、.csproj ファイルで WindowsSdkPackageVersion プロパティを手動で設定しない場合に、以前のプレビュー バージョンの新しいプロジェクトに存在していたビルド エラーが完全に削除されます。 この変更により、新しいプロジェクトは追加の変更を必要とせずにビルドして実行するだけです。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Enhanced WinUI コンポーネント検索

Enhance WinUI プロジェクトのセットアップと、Visual Studio インストーラーの検索が強化され、開発者向けのコンポーネントの場所が簡略化されます <>

最新のVisual Studioインストーラー更新プログラムを使用して、WinUI プロジェクトのセットアップをさらに効率化します。 開発者は WinUI 関連のコンポーネントをすばやく見つけられるようになり、空の検索結果をナビゲートするという従来の煩わしさが解消されました。 この機能強化により、開発環境の構成が簡素化され、より直感的で効率的なユーザー エクスペリエンスが実現します。

Visual Studio インストーラーでの WinUI 個々のコンポーネントの新しい検索を示す画像

Visual Studio インストーラーを開き、Individual components タブに移動し、WinUI 関連キーワード (WinUI、WinRT) を検索します。

.NET UWP

Visual Studioには、.NET 9 SDK と UWP サポートがすぐに含まれるようになりました

最初のプレビューで.NET 9 .NET 9 SDK の夜間ビルドをインストールすることです。 Visual Studioのこの新しいリリースでは、これは不要です。

Visual Studioには、.NET 9 SDK が含まれるようになりました。この SDK には、.NET 9 での UWP の新しいサポートがすべて含まれています (具体的には、UWP XAML プロジェクションを参照し、UWP XAML アプリのプロジェクトの種類に CsWinRT を構成するロジック)。 Visual Studioと共に自動的にインストールされる .NET SDK を使用して、.NET 9 プロジェクトで UWP をビルドして実行できるようになりました。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

UWP

UseUwpTools は、.NET 9.

.NET 9 を使用する UWP アプリとライブラリは、.csproj ファイルに 2 つのプロパティを必要とするために使用されます。UWP XAML アプリ用に .NET SDK を構成する UseUwp と、UseUwpTools。これにより、Visual Studioのすべての新しいツールで UWP XAML アプリをビルドして実行できます。

UseUwpTools プロパティは、UseUwp が設定されているときにVisual Studioによって自動的に設定されるようになりました。これにより、一般的なシナリオで .csproj の詳細が少なくなります。 高度なシナリオでも、UseUwpTools を手動で無効にするとオプトアウトできます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

UWP の ID .NET 9 固定📣

.NET 9 クラス ライブラリの UWP は、ネイティブ AOT.

.NET 9 の UWP クラス ライブラリ (および WinRT コンポーネント) の APPX ツールのバグを修正しました。これは、既定で .NET Native で UWP のランタイム識別子を適用していました (つまり、win10- プレフィックスを使用し、arm など、サポートされなくなったプラットフォームを含む)。

APPX ツールは、既定で .NET 9 プロジェクトの適切な RID win-x86;win-x64;win-arm64 を設定します。 必要に応じて、これらを手動で指定することもできます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

UWP プロジェクトの作成

9 つのプロジェクトで新しい UWP を作成するときにエラー ダイアログが表示されなくなったユニバーサル テンプレート ウィザード.NET修正しました

view VSIX .NET 9 の UWP 用の新しいプロジェクト テンプレートを使用している場合は、新しいプロジェクトの作成時にエラー ダイアログが正しく表示されていることがわかります。 これは、新しいソリューションを作成するときに特に問題が発生しました。Visual Studioプロジェクトの作成後に正しく開かないためです。 この問題は解決され、.NET 9 で UWP を対象とする新しいプロジェクトを作成できるようになりました。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Web

HTTP ファイルのリクエスト変数 📣

HTTP ファイルはリクエスト変数をサポートするようになりました。 ここでリクエストを送信し、その後のリクエストで応答またはリクエストのデータを使用できます。

HTTP ファイルを操作する場合、エンドポイントを呼び出し、応答から値を主tク氏、後続のリクエストで送信するのが一般的なシナリオです。 たとえば、エンドポイントを呼び出してユーザーを認証し、その後の呼び出しでログイン エンドポイントから返されたトークンを渡すことができます。 このリリースより前は、これはVisual Studioでは不可能でした。 以下のスニペットでは、HTTP ファイルでこれがどのように機能するかの例を確認できます。

# @name login
POST {{TodoApi_HostAddress}}/users/token
Content-Type: application/json

{
  "username": "{{myusername}}",
  "password": "{{mypassword}}"
}

###

GET {{TodoApi_HostAddress}}/todos
Authorization: Bearer {{login.response.body.$.token}}

###

上記のスニペットには 2 つのリクエストがあり、最初のリクエストは /users/token エンドポイントを呼び出してユーザーを認証します。 要求行のすぐ上に、 # @name login というコメントがあります。 この構文は、リクエストに名前 (この場合はlogin) を付け、リクエスト変数として構成します。 リクエストが送信されると、その HTTP ファイルから送信される将来のリクエストで、応答またはリクエストの値にアクセスできるようになります。 これはログイン要求なので、秘密を守るように注意する必要があります。 Visual Studioでは、セキュリティで保護された方法でシークレットにアクセスするためのサポートがあります。 シークレットの処理に関する詳細については、ドキュメントの このセクション を参照してください。

2 番目のリクエストは認証されたエンドポイント /todosを呼び出し、そのユーザーの todo 項目を返します。 リクエストでは、トークンは行のヘッダーとして渡されます。

Authorization: Bearer {{login.response.body.$.token}}

/users/token エンドポイントは JSON 形式で応答を返します。 トークンは、レスポンスの本文にある JSON パス式 $.token を使用して抽出されます。 XML を返すエンドポイントを使用している場合は、JSON パス式の代わりに XPath 式を渡すことができます。 Visual Studioでのサポートは、Visual Studio Codeで使用できる REST Client の既存の OSS 拡張機能に着想を得ています。 リクエスト変数の詳細については、こちらをご覧ください。 このサポートについてさらに詳しく説明するドキュメントを近日中に追加する予定です。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

JavaScript と TypeScript での Vitest サポート 📣

JavaScript および TypeScript プロジェクトを使用する場合、Vitest を使用してテスト ケースを作成できるようになりました。

JavaScript および TypeScript プロジェクト (JSTS)、拡張子が .esproj のプロジェクトでは、 Vitest で作成されたテストを検出して実行するためのサポートが追加されました。 Vitest テストを開始するには、JSTS プロジェクトで、ソリューション エクスプローラーの npm を使用して vitest パッケージを追加し、次のプロパティが宣言されるようにプロジェクト ファイルを変更します。

    <JavaScriptTestRoot>test\</JavaScriptTestRoot>
    <JavaScriptTestFramework>Vitest</JavaScriptTestFramework>

JavaScriptTestRoot の値が、テスト ファイルが配置されている場所への正しい相対パスであることを確認します。

テストを適切なフォルダーに追加し、プロジェクト/ソリューションをビルドします。 その後、テスト エクスプローラーにテスト ケースが表示されます。

vitest テストを使用したテスト エクスプローラー

テスト エクスプローラーでは、検出されたさまざまなテスト ケースを表示し、テスト ケースを実行できます。

デバッグのサポートはまだ追加されていませんが、近々追加される予定です。 もう 1 つの既知の問題は、テスト エクスプローラーでテスト ケースをダブルクリックすると、テスト ケースが定義されているファイルの最初の行に移動するということです。 このエクスペリエンスも改善していきます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

Inlay Hint のサポートが JavaScript、TypeScript、Python、Razor に追加されました。また、その動作を制御するための設定も追加されました <>

インレイヒントは、インラインでレンダリングされるソースコードに関する追加情報を表示します。 これは通常、コードから推論された型、パラメータ名、その他の暗黙的な情報をエディターに直接表示するために使用されます。

JavaScript、TypeScript、Razor、および Python で Inlay ヒントを表示するためのサポートが追加されました。 また、これらの言語間でヒントの動作をカスタマイズできるように、新しい設定も追加しました。 この設定はまだ C# および C++ には適用されません。 これらの言語でインレイ ヒントを有効にするには、 [ツール] > [オプション] > [テキスト エディター] > [すべての言語] > [インレイ ヒント]の新しい設定を使用します。 新しいオプションは次の画像で確認できます。

インレイヒントのグローバル設定

インレイヒントには 3 つの異なる値があります。

  • 常に: インレイ ヒントを表示します。
  • Alt+F1 を押しているとき:Alt キー と F1 キー を押している間のみインレイヒントが表示されます。 これが既定値です。
  • 表示しない: インレイ ヒントは表示されません。

JavaScript および TypeScript の場合、インレイヒントの動作を構成するための追加のオプション ページがあります。 これは、 ツール > オプション > テキストエディタ > JavaScript/TypeScript > 詳細 > 全般にあります。

これらのオプションは次の画像に示されています。

インレイヒントのグローバル TypeScript 設定

デフォルトでは、これらのオプションはすべて無効になっているため、JavaScript および TypeScript ファイルで表示したいヒントを有効にする必要があります。 将来のアップデートで、これらのオプションのデフォルト値が変更される可能性があります。 下の画像では、インレイヒントを表示する JavaScript ファイルを確認できます。

インレイのヒント

前の画像では、インレイ ヒントは、変数の型を示す : number が付いた灰色のボックスとして表示されています。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

HTTP ファイルの共有環境 📣

HTTP 環境ファイルでは、環境間で変数を共有するためのサポートが追加されました。

Visual Studioで HTTP ファイルを使用する場合はenvironments を定義して、API テスト用に異なる設定を作成できます。 以前は、これらの環境間で変数を共有することはできませんでした。 環境ファイルに新しいエントリ $shared のサポートが追加されました。これにより、すべての環境で使用できる変数の既定値を定義できます。

たとえば、以下の環境ファイル (http-client.env.json) について考えてみます。

{
    "$shared": {
        "HostAddress": "https://localhost:7293"
    },
    "dev": {
        "username": "sayedha"
    },
    "dev2": {
        "username": "madsk"
    },
    "staging": {
        "username": "staginuser",
        "HostAddress": "https://sayedrest.example.com"
    }
}

上記の $shared で共有値を定義しました。これは、 HostAddress に設定されている localhost:7293 変数で構成されています。

定義されている 3 つの環境のうち、どちらの開発環境も HostAddress の値を指定していませんが、ステージングには値があります。

環境 dev または dev2 環境のいずれかを使用する場合、これらの環境には、 HostAddressの値がないため、 $shared の値は、 HostAddress から取得されます。 ステージング環境を使用する場合、 HostAddress の値は、 https://sayedrest.example.com に設定されます。

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

データ

SSDT

SQL SERVER DATA TOOLS projects.

この更新プログラムは、Microsoftに基づいて SQL プロジェクトを追加します。Build.Sql SDK。クロスプラットフォームのサポートと、SQL Server Data Tools (SSDT) プロジェクトへのパッケージ参照の改善をもたらします。 プロジェクト ファイルの詳細度が低く、NuGet パッケージへのデータベース参照が少ないほど、チームは 1 つのプロジェクト内の大規模なデータベースでより効率的に共同作業を行ったり、複数のプロジェクトから複数のオブジェクト セットをコンパイルしたりできます。

ソリューション エクスプローラーの SDK スタイル SQL プロジェクト

Microsoftからのデータベースデプロイ。Build.Sql プロジェクトは、Microsoft Windows Linux 環境で自動化できます。SqlPackage dotnet ツールは、SQL プロジェクトからビルド成果物 (.dacpac) を発行します。 SDK スタイルの SQL プロジェクトと DevOps for SQLのプレビューについて確認する。

Microsoft。Build.Sql プロジェクト SDK は、GitHub でオープンソースされ、開発されています。

ソリューションで SDK スタイルの SQL プロジェクトを使用するには、Visual Studio インストーラーに最新の SSDT プレビュー コンポーネントをインストールしてください。

インストーラーでプレビュー SSDT 機能を有効にする

📣 フィードバックを共有し、会話を続けるには、機能チケットを参照してください。

C++ の

C++ コマンド ライン引数を設定する

ツールバーから直接コマンド ライン引数を設定する新しい方法。

新しい [引数の設定] ツール バーを使用して、C++ プロジェクトのコマンド ライン引数をすばやく設定します。 このコンボ ボックスを使用すると、ツールバーから直接コマンド ライン引数を設定できるため、引数をすばやく変更できます。 プロジェクトを実行すると、ボックスに入力されたすべての引数が渡されます。

C++ によるゲーム開発 ワークロードがインストールされている場合、このツール バー コンポーネントは既定で表示されます。 表示されない場合は、ツール バーを右クリックし、[引数の設定] を選択して追加できます。

注: この機能は現在、Unreal Engine プロジェクトでのみ使用できます。 一般的な C++ プロジェクトは、今後のリリースでサポートされる予定です。

C++ コマンド ライン引数を設定する

Build Insights ビューの説明

ドキュメントへの新しく追加されたリンクを使用して、Build Insights の各タブを使用する方法について説明します。

Build Insights の各タブの使用方法に関する簡単な説明と、詳細な説明に関するドキュメントへのリンクが表示されるようになりました。

Build Insights ビューの説明

Build Insights のパスの調整

Build Insights でファイルをより明確に表示し、ホバー時の完全なパスを確認します。

煩雑さを減らすために、完全な相対パスが非表示になっています。 完全なパスを表示するには、ファイルの上にマウス ポインターを置きます。 また、ファイルと翻訳単位の両方で、新しい "ファイル名" 列が既定で表示され、長いパスを解析せずに素早くファイルを識別できるようになります。

Build Insights パス調整

Unreal Engine uproject のフォルダーを開く

uproject を開く新しい方法。

Visual Studioの uproject サポートを使用して Unreal Engine uproject を開くエントリ ポイントが追加されました。 uproject を File メニューから直接開くには、Open > Unreal Engine プロジェクトを選択します。。これにより、Unreal Engine プロジェクトがVisual Studioで開きます。

この機能の使用方法の詳細については、「 Visual Studioを参照してください。

Unreal Engine の [フォルダーを開く]

シグネチャの変更の改善

改善された C++ インターフェイスを使用してシグネチャを変更できるようになりました。

C++ のシグネチャの変更インターフェイスを更新しました。 パラメーター構成セクションで、パラメーターを追加、削除、再配置できるようになりました。 また、それらを選択して新しい位置にドラッグすることにより、順序を変更できます。

アクセス方法は同じです。Ctrl+. を押して [クイック アクションとリファクタリング] メニューをトリガーし、[署名の変更] を選択します。

署名変更の改善

ユーザーからの報告が多かったバグの修正

📣 このリリースに含まれるすべてのユーザーから報告された [バグ修正][バグ修正] の完全な一覧を参照してください。

既知の問題

バージョン 17.12.19

リリース日: 2026 年 4 月 14

主なバグの修正 コミュニティから
VS2022 の Node.js バージョンを更新する フィードバック チケットの
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子) 説明
.NETサービス拒否の脆弱性 CVE-2026-26171 EncryptedXml クラスに脆弱性が存在します。リソースの使用量が制御されていないと、攻撃者がサービス拒否攻撃を実行する可能性があります。
.NETスプーフィングの脆弱性 CVE-2026-32178 .NETの特殊な要素を不適切に中和すると、承認されていない攻撃者がネットワーク上でスプーフィングを実行できます。
SQLite のメモリ破損の脆弱性 CVE-2025-6965 3.50.2 より前のバージョンの SQLite には、集計用語の数が使用可能な列数を超える可能性がある脆弱性が存在します。 これにより、メモリ破損の問題が発生する可能性があります。
Node.js TLS DoS の脆弱性 CVE-2026-21637 Node.js TLS エラー処理の欠陥により、リモート攻撃者は、 pskCallback または ALPNCallback が使用されているときに、TLS サーバーのリソースをクラッシュまたは枯渇させる可能性があります。
Visual Studio情報漏えいの脆弱性 CVE-2026-32631 信頼されていないサーバーへの NTLM ハッシュ リークにより、MinGit に情報漏えいの脆弱性が存在します。

バージョン 17.12.18

リリース日: 2026 年 3 月 10

対処済みのセキュリティ勧告 CVE(共通脆弱性識別子) Descritpion
.NETサービス拒否の脆弱性 CVE-2026-26130 リソースの消費が制御されていないために、ASP.NET Coreにサービス拒否の脆弱性が存在します。
.NET特権の昇格の脆弱性 CVE-2026-26131 不正な承認により、.NETに特権の昇格の脆弱性が存在します。
Visual Studio情報漏えいの脆弱性 CVE-2025-66413 信頼されていないサーバーへの NTLM ハッシュ リークにより、MinGit に情報漏えいの脆弱性が存在します。

バージョン 17.12.17

リリース日: 2026 年 2 月 10

対処済みのセキュリティ勧告 CVE(共通脆弱性識別子) Descritpion
.NET セキュリティ機能バイパスの脆弱性 CVE-2026-21218 このセキュリティ更新プログラムは、.NETおよびVisual Studioで不足している特殊な要素を不適切に処理すると、承認された攻撃者がネットワーク経由でスプーフィングを実行できる脆弱性に対処します。

バージョン 17.12.16

リリース日: 2026 年 1 月 13

主なバグの修正 コミュニティから
GitHub Copilot: 自動モデルの使用中の認証エラー Feedback チケット

バージョン 17.12.15

リリース日: 2025 年 12 月 9

主なバグの修正 コミュニティから
Visual Studio 2022 LTSC 17.12 を起動できません フィードバック チケットの
Visual Studio インストーラーで、Windows 10 SDK (バージョン 10.0.19041.0) コンポーネントをサポート対象外としてマークしました。

バージョン 17.12.14

リリース日: 2025 年 11 月 11

主なバグの修正 コミュニティから
新しい Visual Studio 2022 更新プログラムには、Git を中断する LibCurl ライブラリが含まれています フィードバック チケットの

バージョン 17.12.13

リリース日: 2025 年 10 月 14

主なバグの修正 コミュニティから
Project -> Connect to Feed Spam の Nuget パッケージ マネージャー Feedback チケット
ReFS ボリュームにリポジトリを持つユーザーが VS IDE で Git 操作を実行できない問題に対処するために、MinGit を v2.50.1 に更新Windows Server 2022。 フィードバック チケットの
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子) Descritpion
Visual Studio リモートでコードが実行される脆弱性 CVE-2025-55240 このセキュリティ更新プログラムは、Gulpfile の信頼されていない検索パスのリモート コード実行の脆弱性に対処します
.NET セキュリティ機能バイパスの脆弱性 CVE-2025-55315 このセキュリティ更新プログラムは、チャンク拡張機能の不適切な解析による HTTP 要求の密輸の脆弱性に対処します
.NET情報漏えいの脆弱性 CVE-2025-55248 このセキュリティ更新プログラムは、UseSsl が true の場合でも SmtpClient が TLS なしで接続する可能性がある脆弱性を解決します

バージョン 17.12.12

リリース日: 2025 年 9 月 9

主なバグの修正 コミュニティから
.NET ランタイムは 8.0.20 および 9.0.9 に更新され、.NET SDK は 9.0.110 に更新されます

バージョン 17.12.11

リリース日: 2025 年 8 月 12

主なバグの修正 コミュニティから
Visual Studio 2022 インストーラーから、10.0.18362.0、10.0.20348.0、10.0.22000.0 のWindows SDK バージョンが削除されました。 Visual Studioを使用してこれらのバージョンの SDK のいずれかをインストールした場合は、更新時にアンインストールされます。 プロジェクトがこれらの SDK のいずれかを対象とする場合は、 Windows SDK バージョン 10.0.22000.0 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクトのプロパティ ページで SDK のバージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] これを解決するには、必要に応じてプロジェクトを 10.0.26100.0 または以前のサポートされているバージョンに再ターゲットすることをお勧めします。 サポートされている SDK バージョンの完全な一覧については、「 https://developer.microsoft.com/windows/downloads/sdk-archive/」を参照してください。 サポートされていないバージョンのSDKをインストールする必要がある場合は、ここで見つけることができます: https://developer.microsoft.com/windows/downloads/sdk-archive/index-legacy/

バージョン 17.12.10

リリース日: 2025 年 7 月 8

対処済みのセキュリティ勧告 CVE(共通脆弱性識別子) Descritpion
Visual Studio - 特権の昇格 CVE-2025-49739 Standard Collector Service での使用時間の確認時にローカル特権のエスカレーションを許可する
Gitk 引数の脆弱性 CVE-2025-27613 Gitk 引数の脆弱性
Gitk Abitryary のコード実行の脆弱性 CVE-2025-27614 Gitk Abitryary のコード実行の脆弱性
Git 悪意のあるシェルの脆弱性 CVE-2025-46334 Git 悪意のあるシェルの脆弱性
Git ファイルの上書きの脆弱性 CVE-2025-46835 Git ファイルの上書きの脆弱性
Git Symlink の脆弱性 CVE-2025-48384 Git Symlink の脆弱性
Git プロトコルインジェクションの脆弱性 CVE-2025-48385 Git プロトコルインジェクションの脆弱性
Git 資格情報ヘルパーの脆弱性 CVE-2025-48386 Git 資格情報ヘルパーの脆弱性

バージョン 17.12.9

リリース日: 2025 年 6 月 10

主なバグの修正 コミュニティから
サニタイザー カバレッジが悪い Codegen を生成する フィードバック チケットの
std::array にデータを保存するときに codegen が正しくない フィードバック チケットの
ASAN atol_staticインターセプト エラー フィードバック チケットの
vs インストーラーを更新し、Windows SDK バージョン 10.0.19041.0 および 10.0.22621.0 の最新のサービス リリースを含めます。
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子) Descritpion
Visual Studio リモートでコードが実行される脆弱性 CVE-2025-47959 Visual Studioのコマンド ('command injection') で使用される特殊な要素を不適切に中和すると、承認された攻撃者がネットワーク経由でコードを実行できます。
リモート でコードが実行される脆弱性の.NETとVisual Studio CVE-2025-30399 .NETおよびVisual Studioの信頼されていない検索パスを使用すると、承認されていない攻撃者がネットワーク経由でコードを実行できます。

バージョン 17.12.8

リリース日: 2025 年 5 月 13

主なバグの修正 コミュニティから
Visual Studioに対する最近の更新により、以前の VS バージョンでビルドされたときに適切に動作したアプリがクラッシュします。 フィードバック チケットの
最新のクエリ作業項目 TFVC チェックイン ポリシーで、プロジェクト名が取得されない問題を修正しました。 さらに、禁止パターン TFVC チェックイン ポリシーで、作成後にポリシーによってパターンが "忘れられる" 原因となった問題を修正しました。 フィードバック チケットの
リリースでサニタイザーに対処すると、バグが発生する可能性がある フィードバック チケットの
/arch:SSE4.2 を使用した不適切なコード生成 (間違った insertps が即時に生成されます) フィードバック チケットの
System.Reflection.MetadataLoadContext アセンブリのバインド リダイレクトを修正しました。これにより、VS コードと拡張機能はそのアセンブリの古いバージョンを参照でき、devenv.exe プロセスで正常に実行されます。
D8000: UNKNOWN COMMAND LINE エラーとして現れる C++ 言語ツールセットの断続的なエラーを修正しました フィードバック チケットの
SSE2 のみの実行パスへの AVX 命令の再順序付けを防ぐ問題を修正しました。 フィードバック チケットの
[コンテナー] ウィンドウでコンテキストがサポートされないエラーを修正しました。
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子)
コンピューターに VS をインストールする管理者が知らない ETW トレースへのアクセス CVE-2025-32703
nuget パッケージのスクワットによるリモート コード実行 CVE-2025-32702
.NET - スプーフィング - msbuild の DownloadFile タスクの既定の動作での特権の昇格 CVE-2025-26646

バージョン 17.12.7

リリース日: 2025 年 4 月 8

主なバグの修正 コミュニティから
最新の TFVC チェックイン ポリシーのサポートと、古い TFVC チェックイン ポリシーが適用されている場合のガイダンスと警告が追加されました。
when_anyでの VisualCppTools / ppltasks.h 競合状態のバグ フィードバック チケットの
arm64EC リンクエラーが未解決の外部 #_guard_dispatch_icall_$fo$ を修正しました フィードバック チケットの
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子)
Visual Studio node.js信頼されていない検索パスのリモート コード実行の脆弱性 CVE-2025-29802
Visual Studio Android JDK 信頼されていない検索パスのリモート コード実行の脆弱性 CVE-2025-29804
ASP.NET Core 8 HTTP/3 によるサービス拒否 CVE-2025-26682

バージョン 17.12.6

リリース日: 2025 年 3 月 11

主なバグの修正 コミュニティから
サイズが 0 のメンバーを持つ特定の構造体に対する正しくない初期化の問題を修正しました。
Address Sanitizer (ASan) は、Win32 ライブラリに直接ではなく、アンブレラ ライブラリである OneCoreUAP_apiset.lib にリンクするようになりました。 これは、複数の OS バージョンとデバイスで ASan の移植性を高めるために使用します。 コードが ASan によって提供される Win32 モジュールに推移的に依存している場合 (推奨されません)、これは重大な変更である可能性があります。 このような場合は、プログラムを必要な Win32 依存関係ライブラリに直接リンクすることをお勧めします。 フィードバック チケットの
名前の変更候補が使用可能な場合に識別子全体が選択された C# インラインの名前変更の問題を修正しました。 これにより、開発者の選択がオーバーライドされ、特に開発者がインライン名変更インターフェイス内でキャレットを移動した場合に、誤りが発生する可能性があります。 これで、Copilotの名前変更候補は、インライン名変更インターフェイス内の選択範囲を変更しません。 Feedback チケット
ファジーザーの入力テストの実行中にインストルメント化された DLL がアンロードされると、誤検知の ASan エラー レポートが発生してクラッシュする問題を修正しました。 フィードバック チケットの
PGO 最適化データの更新後に x86 ICE が再び フィードバック チケットの
Intel グラフィックス ハードウェアを使用しているお客様が、ホバー時にイメージ プレビューをトリガーした後、エディターで遅延スクロールが発生する可能性がある問題を修正しました。 フィードバック チケットの
VS2022 Professional - m アカウントにサインインできません フィードバック チケットの
Unreal Engine エクスペリエンスでの UI のハングを軽減するために、コマンド ライン引数のドロップダウンを削除しました。
Blazor プロジェクトが Intellisense 17.12.2 を中断する フィードバック チケットの
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子)
Visual Studio特権の昇格の脆弱性 CVE-2025-25003
.NET特権の昇格の脆弱性 CVE-2025-24070
Visual Studio インストーラーの特権の昇格の脆弱性 CVE-2025-24998

バージョン 17.12.5

リリース日: 2025 年 2 月 11

主なバグの修正 コミュニティから
以前にデータをキャプチャしたにもかかわらず、CPU 使用率ツールで結果が表示されない場合がある問題に対処しました。
MSVC Code Analysisは、配列の初期化子リストで使用されるときに破棄される一時オブジェクト内のリソースを指す未解決ポインターの使用を検出できるようになりました。 フィードバック チケットの
C++ CLR クラス ライブラリ (.NET) プロジェクトの String::Format でエラーが発生しました フィードバック チケットの
17.12.0 の回帰: /CLR でコンパイルするときの置換エラーはエラー C3699 です フィードバック チケットの
Visual Studioによってインストールされた Windows 11 SDK (10.0.26100.0) を、2025 年 1 月のサービス ビルドに更新しました。
コルーチンから呼び出されたときに、正しくない codegen が発生し、std::sort 関数に影響する可能性があるオプティマイザーのバグを修正しました。
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子)
Visual Studioインストーラーの特権の昇格 - 制御されていない検索パス要素により、承認されていない攻撃者は特権をローカルに昇格できます。 CVE-2025-21206

バージョン 17.12.4

2025 年 1 月 14 日リリース

主なバグの修正 コミュニティから
Live++ (サード パーティの C++ ホット リロード ツール) と Visual Studio 2022 の非互換性に対処しました。 フィードバック チケットの
All-In-One Search (Ctrl + T、Ctrl + Q) のハングに対処しました。 フィードバック チケットの
Visual Studioデバッガーでは、[ローカル] ウィンドウに値を表示できません。 フィードバック チケットの
右側の詳細ウィンドウのサイズが非常に小さい場合、NuGet パッケージ マネージャーを開くと VS が直ちにクラッシュして閉じるバグを修正しました。 フィードバック チケットの
Docker ファイルの上にマウス ポインターを置くと VS がハングする問題を修正しました。
サイズが 0 のメンバーを持つ特定の構造体の初期化が正しくない問題を修正しました。
コルーチン中に使用されるフレーム レジスタが正しく再読み込みされない可能性がある x86 ターゲットの問題を修正しました。 フィードバック チケットの
VS には、MAUI 8.0.100 (SR10) が含まれるようになりました。MAUI 9.0.14 (SR1.4)
https://github.com/dotnet/roslyn/pull/75796|| でスクロール中の構文の色のちらつきを修正しました
対処済みのセキュリティ勧告 CVE(共通脆弱性識別子)
リモート でコードが実行される脆弱性の.NETとVisual Studio CVE-2025-21172
.NET、.NET Framework、およびリモート コード実行の脆弱性のVisual Studio CVE-2025-21176
Visual Studio リモートでコードが実行される脆弱性 CVE-2025-21178
リモート URL の復帰文字により、悪意のあるリポジトリが資格情報を漏洩させる CVE-2024-50338
リモート でコードが実行される脆弱性を.NETする CVE-2025-21171
(Linux のみ).NET特権の昇格の脆弱性 CVE-2025-21173
Visual Studio特権の昇格の脆弱性 CVE-2025-21405

バージョン 17.12.3

2024 年 12 月 3 日rdリリース

主なバグの修正 コミュニティから
vs v17.11.6 から v17.12 にアップグレードした後の NuGet エラー (.NET 9)。 フィードバック チケットの
プライベート Unity メッセージが、未使用のIDE0051として正しくマークされていません。 フィードバック チケットの
Intellisense が C++ プロジェクトWord動作を停止しました。 Feedback チケット
埋め込み言語を含むファイルに入力するときに文字が重複する可能性がある問題を修正しました。 Feedback チケット
.razor ファイルと .cshtml ファイルのマージ競合を解決すると、ウィンドウが空になる問題を修正しました。 フィードバック チケットの
Visual Studio 2022 の Devops Permalink Azureは機能しません。 Feedback チケット
環境変数DOTNET_SYSTEM_GLOBALIZATION_INVARIANTが 1 に設定されている場合にVisual Studioがクラッシュする問題を修正しました。 フィードバック チケットの
C++ プロジェクトのパフォーマンス プロファイラーの起動エラーを修正しました。 フィードバック チケットの

バージョン 17.12.2

Novemeber 26th, 2024

主なバグの修正 コミュニティから
C++ IntelliSense では、Visual Studio 17.11 で IntelliSense が動作していたプロジェクトのエラーが表示されなくなります。 フィードバック チケットの
Copilot インデクサー プロセスは、ファイルをロックしなくなりました。 フィードバック チケットの
.NET Core を対象とし、パラメーター配列を使用する C++/CLI コードでのコンパイラのクラッシュを修正しました。 フィードバック チケットの
.NET iOS/tvOS/macOS/macCatalyst のリリース ノート
KB5041580 Windows更新すると、マージ エディター ウィンドウを開くと、Visual Studioが自動的にクラッシュします。 Feedback チケット
[LKG18]圧縮ラップされた関数の中には、セカンダリ フラグメントに不完全なアンワインド情報が含まれているものもあります。 フィードバック チケットの
arm64 ビルドの内部コンパイラ エラー C1001。 フィードバック チケットの
VS17.12 で重大エラーが発生して SSDT がクラッシュしました。 フィードバック チケットの

バージョン 17.12.1

2024 年 19 月 19 日 リリース

主なバグの修正 コミュニティから
スクロール中の構文の色のちらつきの問題を修正しました https://github.com/dotnet/roslyn/pull/75796
このリリースには、国際言語法への準拠を維持するための更新プログラムが含まれています。

チームの皆さん、Visual Studioを選んでくれたことに感謝します。 ご不明な点がある場合は、またはDeveloper Communityにお問い合わせください。

コーディングを楽しんでください。
Visual Studio チーム


この更新プログラムには、サード パーティの通知またはその付随するライセンスに規定されているように、個別にライセンスされている新しいMicrosoftまたはサード パーティ製ソフトウェアが含まれる場合があります。