Visual Studio のロゴ Visual Studio 2022 Preview リリース ノート

バージョン 17.11 Preview 4

リリース日: 2024 年 7 月 16 日

このリリースは、すべての開発者の生活の質の向上とワークロードに焦点を当てています。 Visual Studio を使用するときは、権限が与えられ、生産的であると感じたいと思うでしょう。 だからこそ、生活の質を向上させる機能が非常に重要です。これらの機能により、不必要な煩わしさや頭痛の種をなくし、コーディングをスムーズで楽しいものにすることができます。 この更新内容を気に入っていただければ幸いです。

生産性 コミュニティから
探しているコードの場所の特定 Preview 1 フィードバック チケット
より意味のあるコード レビュー Preview 1 フィードバック チケット
下書きとテンプレートを使用する pull request Preview 1 フィードバック チケット
使い慣れたキーボード ショートカット Preview 1 フィードバック チケット
CodeLens タイムラインの修正 Preview 3 フィードバック チケット
pull request の作成に対する更新 Preview 3
GitHub Copilot コミュニティから
GitHub Copilot がよりスマートに Preview 2
名前付けが容易に Preview 2
AI によって生成されるブレークポイント式 Preview 2
GitHub Copilot を使用したシンボルの理解 Preview 3 フィードバック チケット
GitHub Copilot がさらに安全に Preview 3
GitHub Copilot による提案の洗練 Preview 3
デバッグと診断 コミュニティから
非同期例外の修正がより容易に Preview 1 フィードバック チケット
プロファイルの高速化と一貫性の向上 Preview 1
外部コードの容易なプロファイリング Preview 1 フィードバック チケット
Arm64 上でのデバッグの改善 Preview 2
Blazor WebAssembly のデバッグ Preview 2
既定のグループへのブレークポイントの自動追加 Preview 2 フィードバック チケット
表現力豊かな IEnumerable ビジュアライザー Preview 2
C++ ブレークポイントの高速化 Preview 2
IDE コミュニティから
コンポーネントのインストール漏れの防止 Preview 1 フィードバック チケット
ユーザー認証の改善 Preview 1
更新とセキュリティ保護の維持 Preview 2 フィードバック チケット
新しい Teams ツールキット テンプレート Preview 3
Web コミュニティから
ソリューション エクスプローラー内の NPM パッケージ Preview 1
動的 Web API ルートの検出 Preview 2 フィードバック チケット
ゲーム コミュニティから
Unreal Engine クラス テンプレートの追加 Preview 1 フィードバック チケット
Unreal Engine ツール バー Preview 1
Unreal Engine モジュールの追加 Preview 2 フィードバック チケット
Unreal Engine プラグインの追加 Preview 3
.NET コミュニティから
リソース エクスプローラーの改良 Preview 2 フィードバック チケット
C++ コミュニティから
Linux 上での CMake のデバッグ Preview 1 フィードバック チケット
Build Insights QoL の更新 Preview 2
カスタムの Clang-Tidy 実行可能ファイル Preview 3
主なバグの修正 コミュニティから
Razor ファイルでの TS1109 (TS) Expression expected エラー Preview 1 フィードバック チケット
C# ソース コードの Office へのリッチ コピー/貼り付けが失敗する Preview 1 フィードバック チケット
メンバー変数へのクラス内ポインターの不正なエラー Preview 1 フィードバック チケット
MSVC v19.37 以降での算術式の不適切なコード生成 Preview 2 フィードバック チケット
テンプレート スペック... に対する不適切な C4506 (インライン関数の定義なし) の報告Preview 2 フィードバック チケット
cmath 関数での整数型オーバーロードの欠落 Preview 2 フィードバック チケット
GitHub Copilot の 'References' ボタンが誤って翻訳されている Preview 3 フィードバック チケット
VS 17.10 への更新後、.ilk ファイルのサイズが大幅に増加 Preview 3 フィードバック チケット
Visual Studio のジャンプ リストに最近開いたソリューションが追加されなくなっている Preview 3 フィードバック チケット
VS2022 17.10.1 が Azure DevOps パイプラインでエラーをスローする Preview 4 フィードバック チケット
[ファイル] > [最近使ったプロジェクト] で既存以外のアイテムを削除する機能が提供されなくなった Preview 4 フィードバック チケット
JIT デバッガーの正しくないボタンの順序 Preview 4 フィードバック チケット
一部の Razor ファイルで JavaScript エラーが表示されないバグを修正 Preview 4

Note

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

生産性

探しているコードの場所の特定 Preview 1

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

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

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

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

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

Note

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

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

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

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

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

新しい機能強化

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

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

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

Note

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

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

下書きとテンプレートを使用した pull request Preview 1

Visual Studio 内で pull request のドラフトを作成し、テンプレートを使用して説明を開始します。

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

下書き PR

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

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

PR テンプレート

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

Note

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

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

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

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

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

行コメントの切り替え

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

行コメントの切り替え

コマンド パレットを開く

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

機能検索

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

CodeLens タイムラインの修正 Preview 3

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

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

CodeLens ホバー プレビュー

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

pull request の作成に対する更新 Preview 3

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

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

pull request の作成の画面

GitHub Copilot

GitHub Copilot がよりスマートに Preview 2

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 をアクティブにすることを忘れないでください

容易な名前付け Preview 2

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

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

名前変更の提示

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

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

重要

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

AI によって生成されたブレークポイント式 Preview 2

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

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

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

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

重要

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

GitHub Copilot を使用したシンボルの理解 Preview 3

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

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

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

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

重要

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

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

GitHub Copilot がさらに安全に Preview 3

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 による提案の洗練 Preview 3

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 をアクティブにすることを忘れないでください

デバッグと診断

非同期例外の修正が容易になる Preview 1

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

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

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

非同期例外の中断

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

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

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

プロファイルの高速化と一貫性の向上 Preview 1

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

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

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

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

外部コードの容易なプロファイリング Preview 1

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

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

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

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

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

Arm64 上でのデバッグの改善 Preview 2

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 のデバッグ Preview 2

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

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

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

Blazor のデバッグ改善

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

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

既知の制限事項:

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

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

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

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

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

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

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

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

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

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

概要

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

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

考えられる適用方法

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

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

C++ ブレークポイントの高速化 Preview 2

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

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

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

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

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

IDE

コンポーネントのインストール漏れを防ぐ Preview 1

*.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 ファイルが変更された場合など) で通知が再表示されるようになりました。 以前は、通知は一度表示されるとユーザーが対処するまで表示され続け、その後は "永久に" 表示されなくなりました。

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

ユーザー認証の改善 Preview 1

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

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

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

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

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

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

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

更新とセキュリティ保護を維持する Preview 2

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

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

Visual Studio のセキュリティ更新プログラムは、Windows Update システムの一部である Microsoft Update チャネルを通じて、すべての個人ユーザーが利用できるようになります。 これに登録したユーザーは、マシンがアイドル状態のときに Visual Studio の毎月のセキュリティ更新を自動的に受信して、"メッセージを表示せずに" かつ "マシンがアイドル状態のときにバックグラウンドで" インストールします。これにより、更新とセキュリティの維持が非常に簡単になります。

2024 年 6 月から Visual Studio 2022 でこのエクスペリエンスをプレビューできます。これには、Windows Update UI の [他の Microsoft 製品の更新プログラムを受け取る] オプションをオンにし、PreviewAutomaticUpdates レジストリ キーを有効にします。 このエクスペリエンスにオプトインすると、Visual Studio 2022 バージョン 17.9 以前がインストールされている場合は、Windows Update システムが最新の Visual Studio 月次セキュリティ リリースを配布して自動的にインストールします。 詳細についてはこちらをご覧ください。

Windows Update の詳細オプション

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

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

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

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

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

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

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

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

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

Web

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

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

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

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

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

動的 Web API ルートを検出する Preview 2

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

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

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

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

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

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

Gaming

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

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

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

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

Unreal Engine クラスの追加

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

Unreal Engine ツール バー Preview 1

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

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

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

Unreal Engine ツール バー

Unreal Engine モジュールの追加 Preview 2

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

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

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

Unreal Engine モジュールの追加

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

Unreal Engine プラグインの追加 Preview 3

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

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

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

Unreal Engine Add Plugin

.NET

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

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

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

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

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

データ グリッドの改善

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

C++

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

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

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

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

CMake デバッガー Linux

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

Build Insights の使いやすさ向上 Preview 2

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

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

Build Insights の使いやすさ向上

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

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

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

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

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

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



ヒント

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

Note

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

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

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