次の方法で共有


Visual Studio のロゴ Visual Studio 2022 バージョン 17.11 リリース ノート

機能

バージョン 17.11 (リリース日: 2024 年 8 月 13 日)


このリリースは、すべての開発者の**生活の質**向上とワークロードに焦点を置いています。 Visual Studio を使用するときは、権限が与えられ、生産的であると感じたいと思うでしょう。 だからこそ、生活の質を向上させる機能が非常に重要です。これらの機能により、不必要な煩わしさや頭痛の種をなくし、コーディングをスムーズで楽しいものにすることができます。 この更新内容を気に入っていただければ幸いです。
生産性 コミュニティから
探しているコードを見つける フィードバック チケット
CodeLens タイムラインの修正 フィードバック チケット
プルリクエスト作成の更新
よりわかりやすいコード レビュー フィードバック チケット
使い慣れたキーボードショートカット フィードバック チケット
GitHub Copilot コミュニティから
GitHub Copilotでメソッドを参照する
GitHub Copilot でシンボルを理解する フィードバック チケット
GitHub Copilot がよりスマートに
GitHub Copilotはさらに安全になりました
GitHub Copilot の提案を絞り込む
容易な名前付け
AIスマート変数検査
AI生成ブレークポイント式
デバッグ & 診断 コミュニティから
非同期例外の修正が簡単 フィードバック チケット
より速く、より一貫したプロファイル
外部コードを簡単にプロファイリング フィードバック チケット
Arm64でのデバッグの改善
Blazor WebAssembly デバッグ
既定のグループにブレークポイントを自動追加する フィードバック チケット
表現力豊かな IEnumerable ビジュアライザー
より高速な C++ ブレークポイント
IDE コミュニティから
コンポーネントのインストールを見逃さない フィードバック チケット
最新情報とセキュリティを常に維持 フィードバック チケット
新しい Teams ツールキット テンプレート
ユーザー認証の改善
Web コミュニティから
動的Web APIルートの検出 フィードバック チケット
ソリューション エクスプローラーの NPM パッケージ
ゲーム コミュニティから
Unreal Engine クラステンプレートの追加 フィードバック チケット
Unreal Engine モジュールの追加 フィードバック チケット
Unreal Engine プラグインの追加
Unreal Engine ツールバー
.NET コミュニティから
改良されたリソースエクスプローラー フィードバック チケット
C++ コミュニティから
Build Insights の使いやすさ向上
Linux で CMake プロジェクトをデバッグする フィードバック チケット
カスタム Clang-Tidy 実行可能ファイル
主なバグの修正 コミュニティから
TS1109 (TS) Razor ファイルで式が予期されるエラー フィードバック チケット
C# ソース コードのリッチ コピー/貼り付けが Office に失敗する フィードバック チケット
クラス内ポインタからメンバー変数への不正なエラー フィードバック チケット
MSVC v19.37+ 算術式のコード生成が正しくない フィードバック チケット
C4506 (インライン関数の定義がありません) がテンプレート スペックに対して誤って報告されました... フィードバック チケット
cmath 関数の整数型オーバーロードが欠落しています フィードバック チケット
GitHub Copilot には誤訳された「参照」ボタンがある フィードバック チケット
VS 17.10にアップデートした後、.ilkファイルのサイズが大幅に増加しました フィードバック チケット
Visual Studio のジャンプ リストに最近開いたソリューションが追加されなくなりました フィードバック チケット

Note

このリリースに組み込まれた、ユーザーから報告されたすべての 機能要求バグ修正 の完全なリストをご覧ください。

生産性

探しているコードを見つける

コード検索の対象をソリューション全体から現在のドキュメントまたは現在のプロジェクトに絞り込みます。

Code Search で表示される結果が多すぎると感じたことはありませんか? Code Search に新しく追加されたスコープ オプションを使用すると、焦点を絞り込むことができます。

既定の Code Search エクスペリエンスと各フィルターでは、スコープを "ソリューション全体""現在のプロジェクト""現在のドキュメント" のいずれかに設定し、外部ファイルを含めるかどうかを切り替えられるようになりました。

フィルターごとに異なるスコープを設定できます。 たとえば、既定のエクスペリエンスを "ソリューション全体" を参照するように設定し、 メンバー が現在のドキュメントのみを参照するように設定できます。 選択内容は、現在のセッションを過ぎても保持されます。

オールインワン検索スコープ

Note

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

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

CodeLens タイムラインの修正

CodeLens タイムラインの構成を反映して正しい情報を表示するように修正。

CodeLens タイムラインは、タイムラインの構成を反映し、正しい情報を表示するようになりました。 この修正によって、タイムラインがファイル変更ホバー プレビュー内で設定された月を反映していなかった問題が解決されます。

CodeLens ホバー プレビュー

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

プルリクエスト作成の更新

pull request 作成エクスペリエンスに対する継続的な改善。

ターゲット ブランチの選択、コミット数、およびその他の安定化のための修正に関して pull request の作成エクスペリエンスの改善が行われました。 さらに、pull request の一部であるコミット内で言及されている作業項目へのリンクが自動的に作成されるようになりました。

pull request の作成の画面

よりわかりやすいコード レビュー

Azure DevOps と GitHub pull request のコメントを作業ファイル内で直接表示します。

GitHub と Azure DevOps の pull request のコメントを Visual Studio の作業ファイルで直接表示することが容易になりました。 コンテキストをブラウザーに切り替えることなく、コンテキスト内に留まったまま、必要なコード変更を行い、同僚の提案と対話できるようになりました。

新しい機能強化

機能フラグ [Pull request コメント] を有効にして、アクティブな pull request ブランチを含むブランチをチェックアウトし、情報バー内で [ファイルでコメントを表示する] をクリックします。

pull request コメント通知を表示する

最新の機能強化には、@ メンションと作業項目参照のサポートの強化、アテンション ドットとコメント マージンの視覚的な改善、アバターの追加、サーバーとの同期の改善、Git 変更ウィンドウのエントリ ポイントの追加が含まれます。

Note

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

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

使い慣れたキーボード ショートカット

一般的なキーボード ショートカットの一部が、他の一般的な IDE のショートカットと一致するようになりました。

異なる IDE やエディター間を移動するときに、キーボード ショートカットを再学習しなければならないのは、非常にストレスを感じることがあります。 いくつかの既定のキーボード ショートカットをより使い易くし、筋肉の記憶を維持するためにいくつかの変更を加えました。

行コメントの切り替え

Visual Studio では長い間、行コメントを切り替えることができましたが、既定のキーボード ショートカットは Ctrl+K, Ctrl+/ でした。 他の多くの IDE やエディターでは既定となっている Ctrl+/ を代替ショートカットとして追加しました。

行コメントの切り替え

Note

英語以外のキーボードの場合、ショートカットが異なる場合がありますのでご注意ください。

コマンド パレットを開く

Visual Studio では 機能検索 とも呼ばれます。 この機能の既定のキーボード ショートカットが Ctrl+Shift+P になりました。これは、VS Code ユーザーにとってコマンド パレットを開くための馴染みのあるショートカットです。

機能検索

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

GitHub Copilot

GitHub Copilot でメソッドを参照する

GitHub Copilot Chat を使用して、メソッド、クラス、関数をインラインで参照できるようになりました。 この機能は、GitHub Copilot により多くのコンテキストを提供するのに役立ちます。これにより、ソリューションに関する GitHub Copilot の理解がさらに深まるため、より正確な応答を提供できるようになります。

チャット内でメソッド、クラス、関数を直接参照することによって、GitHub Copilot がコードや目の前の問題をよりよく理解するのに役立つ具体的なコンテキストを提供できます。 この機能を使用すると、より豊富なコンテキストを GitHub Copilot に提供できるため、コードベースをより深く理解することで、より正確な応答を提供できるようになります。

GitHub Copilot シンボル

GitHub Copilot Chat でシンボルを参照する方法

シンボルの参照は、 # 記号を使用し、参照するメソッド、クラス、または関数の名前をその後に入力するだけで行うことができます。

GitHub Copilot Chat に質問してみる

GitHub Copilot Chat に次のように質問してみましょう。

  1. #methodName という名前のテスト メソッドがあります。 正しく実行されているかどうかを確認するにはどうすればよいですか?
  2. "#methodName1 と #methodName2 の関数の違いを理解するのを手伝ってもらえますか?"
  3. "コードで使われている #methodName 関数の出力はどこにありますか? また、それはどのような目的に役立ちますか?"
  4. /explain #methodName

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

GitHub Copilot でシンボルを理解する

GitHub Copilot は、コード ベースなしで、さまざまな呼び出しにおけるシンボルの理解に関してユーザーを支援します。

GitHub Copilot は、シンボルの上にマウス ポインターを合わせたときのツールヒントに統合され、選択したシンボルに関して AI によって生成された概要が提供されるようになりました。 これは、C# と C++ の両方の開発者が利用できます。 この機能は、開発者がコードベース内のさまざまな呼び出しにおける各種シンボルの説明を理解する際に役立ちます。 シンボルの上にマウス ポインターを置き、ホバー ツールヒントの [詳細] オプションを選択すると、GitHub Copilot は選択したシンボルのドキュメントを生成できます。

オンザフライ ドキュメント

GitHub Copilot は、LLM を活用して、ホバー ヒント内で洞察に富んだ説明やコンテキストを提供することで、既存のコード ドキュメントや不足しているコード ドキュメントを強化します。

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

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

GitHub Copilot がよりスマートに

GitHub Copilot がリポジトリ全体のコンテキストを把握し、 & かつ Web を検索できるようになりました。

Visual Studio の GitHub Copilot Enterprise サブスクライバーは、GitHub Copilot Chat を使用して、リポジトリ全体のコンテキストと Bing での検索結果によってエンリッチされた回答を取得できるようになりました。

GitHub Copilot がよりスマートに

コードベース全体から回答を得る

GitHub Copilot Chat では、開いているタブだけではなく、ユーザーのすべてのリポジトリを把握して質問に回答できるようになりました。 GitHub.com 上のリポジトリにインデックスを作成し、「@github」をメンションして質問をします。 「@github レート制限が実装されているのはどこ?」などの質問をすることができます。

Web のコンテキストを使用して検索する

GitHub Copilot Chat は、Bing を検索して自身の一般的な知識やコードベースの外の情報を見つけることもできます。 @github のメンションを行うと、GitHub Copilot はいつ Bing を使用するべきかをインテリジェントに判断します。 「@github Node.js の最新 LTS バージョンは何?」などの質問することができます。

Bing 検索は、管理者が有効にした場合にのみ使用できます。詳細については、「GitHub Copilot Enterprise 機能の有効化」を参照するか、 こちらのドキュメントをお読みください。

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

GitHub Copilotはさらに安全になりました

GitHub Copilot Business のお客様は、指定されたファイルまたはリポジトリが GitHub Copilot によるコード補完の提案に使用されることを防ぐことができます。

GitHub Copilot Business および GitHub Copilot Enterprise のお客様は、GitHub Copilot Content Exclusion を利用して、指定されたファイルまたはリポジトリが GitHub Copilot によるコード補完の提案に使用されないようにすることができます。

GitHub Copilot Content Exclusion

コードを安全に保つ

GitHub Copilot により、影響を受けるファイルの内容が除外されるようになりました。 これは、Visual Studio の入力候補、インライン、チャット、その他すべての GitHub Copilot エクスペリエンスで利用できるようになります。

Content Exclusion を構成する

リポジトリ管理者と組織の所有者の場合、ファイル、フォルダー、ファイルの種類などに対して Content Exclusion を構成できるようになります。 GitHub Copilot の Content Exclusion の構成 の詳細については、GitHub Copilot のドキュメントを参照してください。

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

GitHub Copilot の提案を絞り込む

GitHub Copilot の Visual Studio への統合により、Completions と Chat の全体的なエクスペリエンスを強化します。 この機能強化は、ワークフローの効率化と、入力候補の提案の調整や異なるインターフェイス間での会話の移行を容易にすることを目的にしています。

GitHub Copilot の Visual Studio への統合により、Completions と Chat の全体的なエクスペリエンスを強化します。 この機能強化は、ワークフローの効率化と、Completions の提案の調整や異なるインターフェイス間での会話の移行を容易にすることを目的にしています。

Inline Chat を使用して GitHub Copilot Completions を調整する

GitHub Copilot から提示される提案をよりきめ細かく制御できるようになりました。 単に提案を受け入れたり無視したりするのではなく、再試行できるようになりました。 この機能を使用すると、コンテキストを追加したり、入力候補を微調整したりすることで、GitHub Copilot から提供されるプロアクティブな提案を変更およびキュレーションすることができます。

まず、Completions を変更します。

GitHub Copilot Completions から Inline へ

Inline Chat を使用してプロンプトを調整します。

GitHub Copilot Inline Chat が更新されます

より多くのコンテキストを得るために Inline Chat をチャット ウィンドウに昇格させる

Inline Chat をチャット ウィンドウに昇格させて、Inline Chat の履歴を保持します。 この機能を使用すると、会話の記録を保持し、都合の良いときに大きな画面でチャット ウィンドウの使用を続けることができます。

[チャット ウィンドウで続行...] を選択します。

Inline Chat をチャット ウィンドウに昇格させます

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

容易な名前付け

GitHub Copilot を使用すると、C++ 内の識別子の名前の候補を生成できます。

GitHub Copilot では、ユーザーが識別子をどのように使用しているか、およびユーザーのコード スタイルに基づいて、識別子 (変数、メソッド、またはクラス) の名前付け候補を生成できるようになりました。

名前変更の提示

これを試すには、アクティブな GitHub Copilot サブスクリプションが必要になります。 名前を変更する変数に移動して、右クリック ->[名前の変更] (キーボード: Ctrl+RCtrl+R)。 GitHub Copilot のキラキラ アイコンが表示され、それをクリックするか切り替えて、名前付け候補を生成できることがわかります。

この機能は、C#、C++ などの言語で利用できます。

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

AIスマート変数検査

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

Visual Studio の Ask GitHub Copilot を使用すると、Locals、Autos、DataTips からの値の検査と分析がこれまでになく簡単になります。 任意の値を右クリックするだけで、エラー、予期しない結果、異常に関する詳細な AI 主導の分析情報を取得できます。IDE を離れることなくすべて行えます。

ai変数検索

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

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

AI生成ブレークポイント式

AI によって生成された式を使用して、C++ 内に条件付きブレークポイントまたはトレースポイントを挿入します。

条件付きブレークポイントおよびトレースポイントのための AI によって生成された式が、C++ でサポートされるようになりました。 GitHub Copilot はユーザーのコードを分析して、よく分析されたブレークポイント式を提供し、デバッグ プロセスを効率化します。

AI ブレークポイント提案 CPP

ブレークポイント設定ウィンドウで条件付きブレークポイント/トレースポイントの条件テキスト内にカーソルを置くと、GitHub Copilot はコードベースに基づいて AI 生成された式の候補をすぐに提供します。 条件付きブレークポイントまたはトレースポイントを配置するための要件に最も適した条件を柔軟に選択できます。

重要

この機能を使用するには、 GitHub Copilot をアクティブにすることを忘れないでください

デバッグ & 診断

非同期例外の修正が簡単

フレームワーク コードによってキャッチされた非同期メソッドの例外が、デバッガーによって中断されるようになりました。

非同期コードのデバッグは、特に ASP.NET などのフレームワークでは、非同期境界を越えて例外がスローされる可能性があるため、難しい場合があります。

現在、Visual Studio デバッガーは、 async Task メソッドがフレームワーク コードに例外をスローすると自動的に中断します。

非同期例外の中断

これにより、ASP.NET アプリケーションの問題を簡単に特定して診断できるようになり、デバッグ サイクルが短縮され、生産性が向上します。

これの対象は .NET 9 以降のプロジェクトのみであることに注意してください。

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

より速く、より一貫したプロファイル

プロファイラーのインストルメンテーション ツールで、実行間のターゲット選択が記憶されるようになりました。

このインストルメンテーション ツールにより、実行間のターゲット選択が保持されるようになり、プロファイリング セッションの継続性が強化されることで大きなメリットが得られます。

この機能強化により、複数のインストルメンテーションの実行にわたって指定したターゲットを維持できるため、繰り返しの選択タスクが不要になります。

インストルメンテーション ターゲットの永続化

外部コードを簡単にプロファイリング

プロファイラーは、.NET ライブラリの自動逆コンパイルをサポートしており、外部コードの簡単なプロファイリングを可能にします。

Visual Studio プロファイラーで、ソース コードが使用できないシナリオに .NET ライブラリの自動逆コンパイルが提供されるようになりました。 読み込まれたシンボルや正確なファイルの場所がなくても、ソース検索中にコードを自動的に逆コンパイルすると、コードの構造とパフォーマンスの問題に関する分析情報を得ることができます。

プロファイラー ソースの逆コンパイル

この機能は、ユーザー以外の外部コードを処理する場合に特に便利です。これにより、アプリケーションのパフォーマンスを効果的に分析して最適化できるため、開発ワークフローが強化されます。

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

Arm64でのデバッグの改善

Visual Studio デバッガーでは、arm64 として実行するようにマニフェストされた AnyCPU アプリケーションがサポートされます。

Visual Studio では、Arm ベースのプロセッサ上での Arm64 アプリのビルドとデバッグがネイティブにサポートされます。 残念ながら、Arm64 マシン上で実行される AnyCPU 設定でビルドされたアプリケーションは、既定で x64 エミュレーションを使用します。 x64 エミュレーターの機能は拡張されていますが、最も効率的な Arm CPU シナリオがサポートされるのは、アプリケーションがネイティブに実行されている場合です。

意図したネイティブな動作をより適切にサポートするために、Windows 24H2 更新プログラムでは、新しい <supportedArchitectures> 設定がアプリ マニフェスト ファイルに対して導入されています。 .NET 開発者は、サポート対象のアーキテクチャ (amd64 または arm64) の一覧を含めることができます。AnyCPU 設定でビルドされたアプリケーションは、Arm64 デバイス上で Arm64 CLR を使用してネイティブに実行する必要があることを明示的に示します。

このリリースにより、Visual Studio はアプリケーションの起動時にこれらの新しいマニフェスト エントリを読み取ることができ、正しいアーキテクチャに基づいてデバッグを開始できます。

Blazor WebAssembly デバッグ

.NET 9 以降をターゲットにする Blazor WebAssembly アプリの、デバッグ エクスペリエンス向上のプレビュー。

Visual Studio では、.NET 9 以降をターゲットにする Blazor WebAssembly アプリのデバッグ エクスペリエンスが向上したプレビューが提供されるようになりました。

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

Blazor のデバッグ改善

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

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

既知の制限事項:

  • デバッグ中のホット リロードはまだ完全には機能しません。 これは、今後の更新で対処される予定です。

既定のグループにブレークポイントを自動追加する

Visual Studio での既定のブレークポイント グループを使用して、迅速なトラブルシューティングのためにブレークポイントを整理します。

選択したブレークポイント グループを既定としてマークし、新しく追加されたすべてのブレークポイントをそのグループの中に自動的に含めることができるようになりました。

既定のブレークポイント グループ

この機能強化により、ブレークポイントの管理と編成が簡素化され、複数の問題を調査する際にシームレスなデバッグが提供されます。

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

表現力豊かな IEnumerable ビジュアライザー

IEnumerable ビジュアライザー内の編集可能な式機能を使用すると、Visual Studio デバッガー内で LINQ 式を直接編集して視覚化できます。

Visual Studio デバッガーでは、 IEnumerable ビジュアライザー内で編集可能な式機能が提供されるようになりました。これは、コレクションを操作する開発者向けの強力な機能強化です。

概要

この新機能を使用して、コレクションまたはデータセットを視覚化している際に、ダイアログの上部にある式テキスト ボックスを、目的の LINQ 式で直接変更できます。 ビジュアライザーはリアルタイムで更新され、クエリによるデータの変更結果が反映されます。

編集可能な式テキスト ボックス

考えられる適用方法

編集可能な式機能を使用すると、高密度のデータセットや複雑なコレクションの操作のデバッグが容易になります。 ユーザーのニーズに基づいて、コレクションにさまざまなフィルターまたは並べ替え順序を簡単に適用できます。 Visual Studio デバッガー内でデータの変換とフィルター処理を直接試すことで、開発ワークフローを効率化し、より効率的なデバッグを実現できます。 次の例を自分で試してみてください。

編集可能な式テキスト ボックスの例

より高速な C++ ブレークポイント

C++ での強化された条件付きブレークポイントのパフォーマンスによってデバッグを最適化します。

実装の手直しにより、C++ での条件付きブレークポイントのパフォーマンスが大幅に強化されました。

Microsoft による最初の評価では、バージョン 17.10 では少なくとも 35%、バージョン 17.11 P2 では 70% のパフォーマンスの改善があり、80,000 回の反復に対する実行時間が 80 秒から 21 秒に短縮されることが示されています。

C++ 条件付きブレークポイントのパフォーマンス

ビデオの中で示したように、左側にはバージョン 17.9 での条件付きブレークポイントのパフォーマンスが表示され、右側にはバージョン 17.10 以降でのパフォーマンスが表示されています。

IDE

コンポーネントのインストールを見逃さない

*.vsconfig ファイルを使用すると、ソリューションに必要なすべてのコンポーネントと拡張機能がチームにインストールされることが保証されます。

多くのチームは、 *.vsconfig ファイルを使って、チームの Visual Studio のインストールを標準化しています。 *.vsconfig ファイルはリポジトリまたはプロジェクトのソリューション ディレクトリに配置でき、Visual Studio によって、*.vsconfig ファイルで指定されたコンポーネントが欠落しているかどうかが自動的に検出されます。

.vsconfig のプライベート拡張機能

欠落しているものがあった場合は、下の図のような通知が表示されます。

欠落しているコンポーネントと拡張機能のインストールを求めるソリューション エクスプローラーの情報バー

Visual Studio 2022 バージョン 17.11 Preview 1 で、このエクスペリエンスに 2 つの機能強化を行いました。

  1. 1 つ目は、 Visual Studio で、ローカルまたはネットワークでホストされている拡張機能がインストールから欠落しているかどうかを検出できるようになりました。また、欠落している場合は、それらをインストールするように求められます。 以前は、拡張機能に関しては、Visual Studio はマーケットプレースの拡張機能が欠落しているかどうかを認識することしかできませんでした。
  2. 2 つ目は、Visual Studio で、特定の状況 (新しいコンポーネントまたは拡張機能が追加されたために *.vsconfig ファイルが変更された場合など) で通知が再表示されるようになりました。 以前は、通知は一度表示されるとユーザーが対処するまで表示され続け、その後は "永久に"表示されなくなりました。

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

最新情報とセキュリティを常に維持

Microsoft Update に登録することで、Visual Studio を最新かつセキュリティで保護された状態に保ちます。

セキュリティのベスト プラクティスとして、ソフトウェアを定期的に更新しておくことを強くお勧めします。

2024 年 8 月より、Visual Studio のセキュリティ更新プログラムは、Windows Update システムの一部である Microsoft Update チャネルを通じて Community SKU ユーザーに提供されるようになります。 この更新チャネルに登録するコミュニティ SKU ユーザーは、Visual Studio の月次セキュリティ更新プログラムを サイレント かつ マシンがアイドル状態のときにバックグラウンドで自動的に受信してインストールするため、最新の状態を維持し、セキュリティを確保することが非常に簡単になります。 詳細については、こちらのブログ投稿をご覧ください。

Windows Update の詳細オプション

この機能は、組織のセキュリティを維持するために設計された 管理者の更新ソリューションの拡張機能です。 Microsoft を含む多くの企業では、このソリューションを使用して、毎月数十万ものセキュリティ更新プログラムを自動的に展開しています。

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

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

Teams ツールキットには、Teams の開発エクスペリエンスを向上させるための新しい Teams アプリ テンプレートが追加されました。

Teams Toolkit で空の Teams テンプレートが提供され、既存のプロジェクトに接続する、または新しい Teams アプリの開始点として使用することができるようになりました。

  • どのような Teams アプリの作成もこの空のテンプレートから始まります。
  • 既存のプロジェクトに Teams 機能を追加したい場合は、 "空の Teams アプリ" をプロジェクトに追加した後、 https://aka.ms/Config-Teams-appに従って簡単な編集を行って 2 つのプロジェクトを接続します。

Teams の空のアプリを作成する

Teams ツールキットでは、 "API からの検索結果" メッセージ拡張機能アプリの認証がサポートされています。

Teams認証を作成する

ユーザー認証の改善

Visual Studio では、既定の認証メカニズムとして WAM と呼ばれる Windows 認証ブローカーが使用されるようになりました。

Visual Studio では、主要な認証メカニズムとして Web アカウント マネージャー (WAM) が使用されるようになりました。 この統合により、Visual Studio の認証エクスペリエンスが効率化されるだけでなく、資格情報のセキュリティも強化されます。

新しい WAM エクスペリエンスは次のようになります。

使用可能な Windows アカウントを示す WAM のアカウント選択ダイアログ

これはエクスペリエンスにどのように影響しますか?

WAM を既定の認証エクスペリエンスとして使用すると、次のような多くの利点があります。

  • Windows 統合: 認証プロンプトの全体的な数を減らすだけでなく、資格情報を繰り返し入力する代わりに、既存の Windows アカウントを選択できるようになりました。
  • トークン保護の強化: 更新トークンがデバイスにバインドされるようになったため、セキュリティが強化されます。
  • 最新のセキュリティ機能のサポート:
    • Windows Hello & FIDO キーなどの豊富な OS 機能を活用します。
    • 最新かつ最高の Microsoft Entra ID 機能と条件付きアクセス ポリシーにアクセスします。

Web

動的Web APIルートの検出

実行時にエンドポイントを検出するように、エンドポイント エクスプローラーが更新されました。

ASP.NET Core Web API を操作する場合は、エンドポイント エクスプローラーを使用し、エンドポイントを表示してやり取りできます。

エンドポイント エクスプローラーはエンドポイントを静的に検出して、エンドポイントの初期セットを表示します。 静的に検出できないエンドポイントがいくつかあります。 たとえば、クラス ライブラリ プロジェクトで定義されているエンドポイントは 1 つの例です。 静的に検出できないエンドポイントを登録する方法は他にもあります。

Web API を実行またはデバッグすると、Visual Studio は実行時にルートも検出し、それらをエンドポイント エクスプローラーに追加しす。

エンドポイント エクスプローラー

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

ソリューション エクスプローラーの NPM パッケージ

NPM パッケージは、ソリューション エクスプローラーの Dependencies ノードの下に表示されます。

ASP.NET、JavaScript、TypeScript の各プロジェクトで得られる NPM エクスペリエンスを統合しました。 したがって、JavaScript と TypeScript のプロジェクトのソリューション エクスプローラーにも NPM パッケージが一覧表示されるようになります。

ソリューション エクスプローラーの NPM パッケージ

これは NuGet で得られているのと同じエクスペリエンスで、今後は NPM でも同様になります。

Gaming

Unreal Engine クラス テンプレートの追加

新しい [クラスの追加] を使用して、共通の Unreal Engine クラス テンプレートをプロジェクトに追加します。

新しい [クラスの追加] ダイアログを使用して、よく使用される Unreal Engine クラス テンプレートをプロジェクトに追加できるようになりました。 このダイアログには、プロジェクトに追加できる共通の Unreal Engine クラス テンプレートのリストが表示されます。 選択したモジュールにクラスを追加することもできるようになりました。

作業を開始するには、ソリューション エクスプローラーでプロジェクトを右クリックし、 [追加]>[Unreal Engine アイテム]を選択します。 [新しい項目の追加] ダイアログで、 [よく使用される Unreal Engine クラス] を選択して、 [クラスの追加] ダイアログを開きます。

Unreal Engine クラスの追加

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

Unreal Engine モジュールの追加

新しい [モジュールの追加] を使用して、Unreal Engine モジュールをプロジェクトに追加します。

新しい [モジュールの追加] ダイアログを使用して、Unreal Engine モジュールをプロジェクトに追加できるようになりました。

作業を開始するには、ソリューション エクスプローラー内でプロジェクトを右クリックし、 [追加]>[Unreal Engine アイテム]を選択します。 [新しい項目の追加] ダイアログ内で、 [空の Unreal Engine モジュール] を選択して [モジュールの追加] ダイアログを開きます。

Unreal Engine モジュールの追加

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

Unreal Engine プラグインの追加

新しい [プラグインの追加] を使用して、Unreal Engine プラグインをプロジェクトに追加します。

新しい [プラグインの追加] ダイアログを使用して、Unreal Engine プラグインをプロジェクトに追加できるようになりました。

作業を開始するには、ソリューション エクスプローラーでプロジェクトを右クリックし、 [追加]>[Unreal Engine アイテム]を選択します。 [新しいアイテムの追加] ダイアログで、 [Unreal Engine プラグイン] を選択して [Unreal Engine プラグインの追加] ダイアログを開きます。

Unreal Engine プラグインの追加

Unreal Engine ツールバー

専用ツール バーを使用して Unreal Engine 関連のアクションにすばやくアクセスできます。

新しい Unreal Engine ツール バーを使用すると、Unreal Engine 関連のアクションにすばやくアクセスできます。 このツールバーは、Visual Studio に Unreal Engine プロジェクトを読み込んでいる場合に使用できます。 ツール バーには、次のアクションが含まれています。

  1. Unreal Engine プロセスにすばやくアタッチする
  2. ブループリント キャッシュを再スキャンする
  3. Unreal Engine ログへのクイック アクセス
  4. Visual Studio の Unreal Engine 構成ページへのクイック アクセス

Unreal Engine ツール バー

.NET

改良されたリソースエクスプローラー

まったく新しいリソース エクスプローラーを使用すると、.NET での .resx ファイルの管理がこれまで以上に簡単になります。

このバージョンの Visual Studio では、最新の .NET 開発者のニーズにさらに適切に対応するために、改良されたリソース エクスプローラー UI が導入されています。

この更新では、次の改善が行われました。

  1. マルチリソース ビュー: 複数のファイルを読み込み、同じビュー内ですべてのローカライズを一度に表示できるようになりました。
  2. 検索とフィルター: 大規模なソリューション内のリソースを簡単に見つけられるように、検索が追加されました。
  3. コメント: リソースの各翻訳に独自のコメントが追加され、すべてデータ グリッドに一度に表示されるようになりました。 各セルの隅にあるコメント付きの小さな三角形のアイコンを見つけてください。
  4. 警告: プレースホルダーの検証と不足している翻訳の警告。
  5. アクセシビリティと UI: スクリーン リーダーと支援技術との互換性が向上し、データ グリッドにズーム機能が追加され、エディターで VS テーマを使用できるようになりました (ダーク モードを含む)。

データ グリッドの改善

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

C++

Build Insights の使いやすさ向上

C++ Build Insights にさまざまな使いやすさの改善が追加されます。

この更新プログラムでは、C++ Build Insights 統合に使いやすさ向上のための変更を追加しました。 プロジェクトごとに Build Insight トレースの結果をフィルター処理できるようになりました。 各行の結果については、完全パスではなく、相対パスとファイル名が表示されるようになりました。 また、[インクルード ファイル] ビュー内での結果のグループ化も改善されました。

Build Insights の使いやすさ向上

Linux で CMake プロジェクトをデバッグする

WSL と SSH を使用して、Linux をターゲットとするプロジェクトの CMake スクリプトをデバッグします。

WSL または SSH 経由で Linux をターゲットとする CMake プロジェクトに CMake デバッガーのサポートを追加しました。 CMake デバッガーを使用すると、Visual Studio デバッガーを通じて CMake スクリプトと CMakeLists.txt ファイルをデバッグできます。

CMake デバッグ セッションを開始するには、 CMakeLists.txt ファイルにブレークポイントを設定し、 [プロジェクト] > [CMake デバッグでキャッシュを構成]に移動します。

CMake デバッガー Linux

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

カスタム Clang-Tidy 実行可能ファイル

カスタム Clang-Tidy ツールをすべてのプロジェクトに統合します。

すべてのプロジェクトでカスタム Clang-Tidy 実行可能ファイルを使用できるようになりました。 これにより、既定の Clang-Tidy 実行可能ファイルに依存することなく、独自のカスタム ルールを使用して個々のプロジェクトで Clang Tidy を実行できます。

このグローバル設定を使用すると、既存の Clang-Tidy 実行可能ファイルを上書きすることなく、カスタム Clang-Tidy ルールをシームレスに統合することができます。

この機能をアクティブにするには、 [構成プロパティ]>[コード分析]>[Clang-Tidy] に移動してパスを直接入力するか、 Clang-Tidy Tool Directory プロパティの Browse オプションを使用します。 変更を保存し、新しい実行可能ファイルを有効にするためにアプリを再コンパイルします。

カスタム Clang-Tidy 実行可能ファイル


バージョン 17.11.6

リリース日: 2024 年 11 月 12 日

対処済みのセキュリティ アドバイザリ CVE
.NET のリモート コード実行の脆弱性 CVE-2024-43498
.NET サービス拒否の脆弱性 CVE-2024-43499
Visual Studio の特権の昇格 CVE-2024-49044

バージョン 17.11.5

2024 年 10 月 8 日リリース

主なバグの修正 コミュニティから
.NET for iOS/tvOS/macOS/macCatalyst リリース ノート。
Visual Studio によってインストールされる Windows 11 SDK (10.0.26100.0) を 2024 年 10 月のサービス ビルドで更新しました。
Visual Studio 2022 17.11.0 でエラー MSB4057 が発生する フィードバック チケット
プロジェクトにクラスを追加するときにエラーが発生する。 フィードバック チケット
AMAZON Q 拡張機能を使用した AWS Toolkit に関する MEF コンポーネントの問題。 フィードバック チケット
対処済みのセキュリティ アドバイザリ CVE
System.Security.Cryptography.Cose、System.IO.Packaging、System.Runtime.Caching での .NET サービス拒否の脆弱性 CVE-2024-43483
System.IO.Packaging での .NET サービス拒否の脆弱性 CVE-2024-43484
System.Text.Json 6.0.x および 8.0 での .NET サービス拒否の脆弱性。 CVE-2024-43485
Visual Studio Collector Service でのサービス拒否の脆弱性 CVE-2024-43603
Visual Studio C++ 再頒布可能パッケージ インストーラーでの特権の昇格の脆弱性 CVE-2024-43590

バージョン 17.11.4

2024 年 9 月 17 日リリース

主なバグの修正 コミュニティから
ソリューション エクスプローラー内でファイルをコピーする際に System.NullReferenceException が発生する。 フィードバック チケット
ソリューション イベントに応答すると不完全な状態が発生して、それがプロジェクトから読み取られる可能性がある問題を修正しました。
異なる SDK バージョン (Xamarin を含む) を切り替えるときの ArgumentNullException iOS リモート ビルド エラーを修正しました。 フィードバック チケット
現在は、VS に MAUI 8.0.82 (SR8.2) が含まれています。
Debug.Restart (Ctrl + Shift + F5) を使用すると常にエラーが表示され、デバッグが停止する。 フィードバック チケット
.NET SDK 9.0.100-rc.1 以降をインストールした後に .NET ビルドが失敗する問題を修正しました。
この修正は、copilot ライセンスのない GitHub アカウントを追加すると、copilot がエラー状態になり、copilot が使用できなくなるというシナリオに対処しています。 フィードバック チケット
条件付きブレークポイントを追加すると、無条件のクラッシュが発生する。 フィードバック チケット
リソース エクスプローラーで resx ファイルを開くことができない。 フィードバック チケット
定義への移動が機能しない。 フィードバック チケット

バージョン 17.11.3

2024 年 9 月 10 日リリース

主なバグの修正 コミュニティから
17.11.0 更新後は .Net Framework アプリケーションを発行できません。 フィードバック チケット
Visual Studio 17.11.0 の更新後は、Mac とペアリングできません。 フィードバック チケット
17.11.0 エラー出力によって、テストが中断されます。
対処済みのセキュリティ アドバイザリ CVE
SQL Server Native Client OLE DB Provider リモート コード実行の脆弱性 CVE-2024-35272

バージョン 17.11.2

2024 年 8 月 27 日リリース

主なバグの修正 コミュニティから
PackageId:AndroidPlatformMAUI2 のインストール時に発生する Visual Studio インストーラーのエラーを修正しました。

バージョン 17.11.1

2024 年 8 月 20 日リリース

主なバグの修正 コミュニティから
Visual Studio 2022 (64 ビット) バージョン 17.11.0 Preview 6.0 で、ネイティブ アプリケーションのデバッグを停止するとスタックが破損する。 フィードバック チケット
Xamarin Profiler は非推奨となり、Visual Studio から削除されました。
Xamarin.Android Designer は非推奨となる予定であり、今後の更新で削除されます。

ヒント

Visual Studio の今後の更新プログラムに含めてほしい機能がある場合は、 機能チケットを送信してお知らせください。

Note

Microsoft の ロードマップ には、Visual Studio の将来の優先順位と方向性が示されていますので、必ず確認してください。

Note

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

Visual Studio をお選びいただき、チーム一同感謝いたします。 ご質問がある場合は、 Twitter または Developer Communityでお問い合わせください。

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