次の方法で共有


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

Visual Studio 2022 v17.12 が利用可能になりました。 この更新では、 .NET 9 プロジェクトと新しい AI 生産性機能を操作するための優れた開発者エクスペリエンスを提供することに重点が置かれており、全体的な改善が継続的に行われています。

機能

最新のプレビュー リリースのすべての新機能。

生産性

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

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

エラー リストに、修正方法がわからないエラーが表示されます。 したがって、それを選択して 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 つあります。

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

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

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

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

テキストの折りたたみインジケーターのカスタマイズ

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

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

Visual Studio エディターでカスタマイズされた展開されたテキスト インジケーターと折りたたまれたテキスト インジケーター

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

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

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

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

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

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

検索結果の更新

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GitHub Copilot

AI スマート変数検査

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

Visual Studio の Ask GitHub Copilot を使用すると、Locals、Autos、DataTips からの値の検査と分析がこれまでになく簡単になります。 任意の値を右クリックするだけで、エラー、予期しない結果、異常に関する詳細な 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 は、 [Copilot でデバッグ] ボタンをクリックすることで、デバッグ計画を提供し、失敗したテストをデバッグして合格に近づけるようガイドします。

GitHub Copilot を使ったデバッグ

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

デバッグ計画と次の手順を使用した GitHub Copilot チャット

重要

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


GitHub Copilotでコードを修正する

GitHub Copilot は、コードの問題解決を支援します。

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

使用を開始するには、電球を呼び出し、 [Copilot で修正] を選択するだけで済みます。 これにより、GitHub Copilot とのインライン チャットが開始され、利用可能な修正が提供されます。

電球から GitHub Copilot を使用してコードを修正する

エラー一覧から GitHub Copilot アイコンを選択して、対象のエラーに関する詳細な説明と解決策を確認できるチャット パネルを開くこともできます。

エラー一覧から GitHub Copilot を使用してコードを修正する

GitHub Copilot は、LLM を活用することで、電球とエラー一覧内で直接有用な説明と修正を提供し、コーディング エクスペリエンスを強化します。

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

重要

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


C# の AI 補完性の向上

GitHub Copilot は、関連するソース ファイルから追加のコンテキストを取り込み、C# の補完性を向上させます。

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

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

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

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

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

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

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

重要

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


GitHub Copilot でのコード参照

GitHub Copilot にコード参照を導入すると、パブリック コード一致を含むコード提案を許可すると同時に、一致に関する詳細な情報を受信できるようになります。

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 でのスターター プロンプト

GitHub Copilot Chat でスタート プロンプトを使用して、より迅速に作業を開始しましょう。

新しいスタート プロンプトを使用して GitHub Copilot チャットエクスペリエンスをすぐに開始できます。

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

GitHub Copilot Chatの使用を開始するのにサポートが必要ですか? 最初のやり取りを通じてユーザーを鼓舞し、導くためのスターター プロンプトをいくつか導入しました。 これらの事前に選択された質問は、アイデアを生み出し、GitHub Copilot の機能の可能性を最大限に引き出せるように設計されています。

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

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

重要

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


デバッグ & 診断

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

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

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

表示メソッドの戻り値

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

Developer Community から最も要望の多かった機能の 1 つであったことに応えて、Visual Studio デバッガーに return ステートメントのインラインの値が表示されるようになりました。

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

インラインの戻り値

GitHub Copilot を使用すると、さらに進んで、マウスオーバーで表示される Ask Copilot オプションを使用して Visual Studio で直接戻り値を分析できるため、問題にすぐに対処できます。

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

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

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

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

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

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

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

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

IEnumerable ビジュアライザーの IntelliSense

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

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

IEnumerable ビジュアライザーの IntelliSense

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

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

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

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

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

この機能を使用するには、[診断ツール] ウィンドウの [メモリ] タブで複数のメモリ スナップショットが取り込まれていることを確認します。

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

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

差分スナップショットを表示する (M M A)

Git ツール

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

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

ソリューション エクスプローラーからファイルの名前を変更すると、Git で名前の変更を確認するために変更をステージングするように通知されます。 これにより、Git がファイルの変更を認識し、正しく追跡していることに対する信頼が高まります。 これは多くのお客様にとって混乱の原因となることがわかったため、開発者コミュニティの皆さんと協力して新しい通知を作成しました。

Git mv 通知

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

pull request の下書きとテンプレート

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

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


GitHub 内部リポジトリの作成

Visual Studio では、内部リポジトリの作成がサポートされるようになり、新しいプロジェクトを開始するときに自信が持てるよう、リポジトリの種類ごとにガイダンスが追加されました。

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

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

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

Git リンクのコピー

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

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

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

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

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

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

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

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

GitHub と Azure DevOps の両方で、マルチリポジトリ シナリオで pull request を作成し、作業項目をリンクできるようになりました。

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

リポジトリ ピッカー

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

AI Git コミット メッセージをカスタマイズする

GitHub Copilot を使用して Git コミット メッセージを生成するためのプロンプトに追加の指示を追加できます。

GitHub Copilot を使用して Git コミット メッセージを生成するためのプロンプトに追加の指示を追加できるようになりました。 これにより、コミット メッセージをカスタマイズして、ワークフローとチームの標準に適合させることができます。 生成する行数、行の長さを指定したり、サンプルのコミット スタイルを提供したりすることもできます。 [ツール] > [オプション] > [Copilot] > [ソース管理] > [コミットメッセージの追加指示:] プロンプト フィールドでメッセージを編集します。

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

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

IDE

マルチプロジェクト起動構成

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

マルチプロジェクト起動構成機能を使用すると、マルチプロジェクト ソリューション内の特定のプロジェクトを、デバッグ用に事前定義された状態で起動するためのプロファイルを設定して保存できます。

マルチプロジェクト起動構成

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

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

Note

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


MotW セキュリティ警告

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

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

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

Visual Studio 内で Web ダウンロードを開く際のセキュリティ リスクを警告する信頼ダイアログ

デフォルトの信頼エクスペリエンスを変更するには、 [ツール] > [オプション] > [環境][信頼設定] を選択します。

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

テーマの変更をまたいだフォントの保持

テーマを変更しても、フォントとフォント サイズの設定が記憶されるようになりました。

開発者が選択するフォントは、コーディングが個人的な選択であり、読みやすさ、アクセシビリティ、美学などの好みによる影響を受けます。 Visual Studio のテーマは主にプレゼンテーションの色に焦点を当て、好みのフォントに依存しません。

この更新プログラムでは、テーマを切り替えるときにフォント フェイスとサイズの選択を保持する機能が導入されました。 フォント設定を一度設定したら、Visual Studio でテーマを切り替える際に、毎回フォントを再設定しなくてもよくなりました。 フォントの色はテーマの目的であるため、テーマにリンクされたままですが、フォントの選択は保持されます。

同じフォントを使用して同じコードを表示している Visual Studio エディターですが、コードの半分は濃色テーマで、半分は淡色です。

この機能は、すべてのユーザーに対してデフォルトで有効になります。 以前の動作に戻す場合は、 [ツール] > [プレビュー機能の管理] の順に選択し、 [色テーマ選択肢とは異なるフォント設定] オプションを探します。 このオプションをオンにすると、テーマの変更に関係なく、フォントの優先設定が維持されます。 このチェック ボックスをオフにすると、フォントの選択をテーマに結び付ける以前の動作に戻ります。

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

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

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

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

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

Teams AI アプリ テンプレート

  1. 基本的な AI チャット ボット - Teams AI ライブラリで構築された Microsoft Teams の独自のコパイロット

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

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

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

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

    b. カスタム データ ソース: ファイル システムやベクトル 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 インスタンス間でファイルをコピーする

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

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

証明書失効の確認

Visual Studio では、ネットワーク呼び出し中にデジタル証明書の問題が検出された場合に警告が表示されるようになりました。

Visual Studio はデジタル証明書の有効性を確認し、ネットワーク呼び出しのデジタル証明書に問題がある場合は通知されるようになりました。

エラーが検出されると、ダイアログが表示されて接続が一時的に停止され、特定の証明書の問題に関する詳細が表示され、接続を取り消すか続行するかを尋ねられます。

デジタル証明書のエラー ダイアログ

この機能は常に有効にしておくことをお勧めしますが、[ツール ] > [オプション] > [環境] > [証明書]に移動して無効にすることもできます

デジタル証明書の失効チェックを無効にするオプション

クラウド

Azure App Service 発行のセキュリティの更新

統合されたセキュリティ更新プログラムを使用して Azure App Service に安全に発行する。

Azure App Service の 発行ガイダンス では、基本認証を無効にし、統合認証による発行を有効にすることが推奨されています。

Azure ツール セキュアな発行

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

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

Azure ツール セキュアな発行の無効化

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

Azure ツール セキュアな発行の有効化

Azure WebJobs Linux サポート

Linux 上の Azure WebJobs への発行が、Visual Studio の右クリック発行でサポートされるようになりました。

Azure WebJobs Linux では、クロスプラットフォーム .NET 5.0 以降のコンソール アプリがサポートされており、Visual Studio から Azure WebJobs on Linux にコードを右クリック発行することもできるようになりました。

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

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

Azure Functions Flex 従量課金

Azure Flex 従量課金ホスティング プラン (現在プレビュー段階) に発行します。

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

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

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

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

Azure Functions Flex Consumption への発行

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

アプリと開発エクスペリエンスをより安全にします。

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

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

[Azure Storage への接続] ダイアログ

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

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

デスクトップ

強化された WinUI コンポーネント検索

改善された Visual Studio インストーラー検索により WinUI プロジェクトのセットアップが強化され、開発者にとってコンポーネントの場所が簡素化されます。

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

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

Visual Studio インストーラーを開き、 [個別のコンポーネント] タブに移動して、WinUI 関連のキーワード (WinUI、WinRT) を検索してください。

UWP 向け .NET 9 SDK サポート

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

初期プレビューの .NET 9 で UWP を試すために必要な手順の 1 つは、.NET 9 SDK の夜間ビルドをインストールすることでした。 Visual Studio のこの新しいリリースでは、これは不要です。

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

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

UWP 用の簡略化された .csproj

UseUwpTools は、.NET 9 上の最新の UWP プロジェクト用に Visual Studio によって自動的に設定されるようになりました。

.NET 9 を使用する UWP アプリとライブラリでは、.csproj ファイルに 2 つのプロパティが必要でした。1 つは UWP XAML アプリ用の .NET SDK を構成する UseUwp、もう 1 つは UWP XAML アプリをビルドして実行するために Visual Studio の最新ツールをすべて有効にする UseUwpTools です。

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

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

.NET 9 の UWP の RID が修正されました

.NET 9 クラス ライブラリ上の UWP は、ネイティブ AOT の適切な値に RID を正しく設定します。

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

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

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

UWP プロジェクトの作成が修正されました

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

.NET 9 の UWP 用の新しいプロジェクト テンプレートでプレビュー VSIX を使用している場合、新しいプロジェクトの作成時にエラー ダイアログが表示されていることに気付いたかもしれません。 これは、新しいソリューションの作成時に特に問題になりました。プロジェクトの作成後に 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 クライアント の既存の 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 つの既知の問題は、テスト エクスプローラーでテスト ケースをダブルクリックすると、テスト ケースが定義されているファイルの最初の行に移動するということです。 このエクスペリエンスも改善していきます。

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

より多くの言語でのインレイ ヒント

JavaScript、TypeScript、Python、Razor にインレイヒントのサポートが追加され、その動作を制御する設定も追加されました。

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

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

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

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

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

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

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

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

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

インレイのヒント

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

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

HTTP ファイルの共有環境

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

HTTP ファイル を使用する際、Visual Studio で、 環境 を定義できるため、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 で共有値を定義しました。これは、 localhost:7293 に設定されている HostAddress 変数で構成されています。

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

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

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

データ​​

SSDT の SDK スタイルの SQL プロジェクト

これで、SQL Server Data Tools プロジェクトで SDK スタイルのプロジェクト ファイル形式を使用できるようになりました。

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

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

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

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

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

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

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

.NET

.NET 9 による成果の向上

.NET 9 は、生産性の向上、効率的な展開、AI 統合の加速に重点を置いて、クラウド ネイティブでインテリジェントなアプリ開発を向上させます。

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

.NET 9

さらに、.NET および ASP.NET での作業の生産性をこれまで以上に向上させる IDE 関連の機能も更新されています。

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

NuGet 監査推移パッケージ

NuGet は、推移的なパッケージを含めるようにデフォルトの監査設定を変更しています。

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

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

NuGet 監査

このリリースでは、 NuGetAuditMode の NuGet Audit のデフォルトが変更されました。 以前は、直接パッケージ参照のみがデフォルトで報告されていました (<NuGetAuditMode>direct</NuGetAuditMode>)。 現在、デフォルトでは、既知の脆弱性を持つ直接パッケージと推移パッケージ (<NuGetAuditMode>all</NuGetAuditMode>) の両方に対して警告が表示されます。 以前のデフォルトを保持するには、プロジェクトまたは Directory.Build.props ファイルで NuGetAuditMode の優先値を明示的に設定できます。

あるいは、 SdkAnalysisLevel を 9.0.100 より低いバージョン番号に設定することもできますが、これにより SdkAnalysisLevelを使用するすべての機能に影響することに注意してください。

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>

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

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 を直接開くことができるようになりました。これにより、Visual Studio で Unreal Engine プロジェクトが開きます。

この機能の使用方法の詳細については、 「Visual Studio で直接 .uproject を編集する」を参照してください。

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

シグネチャの変更機能の強化

C++ の強化された機能を使用することで、署名を効果的に変更できるようになりました。

C++ 用の [署名変更] 機能が強化されました。 ユーザー インターフェイスが更新され、上部のボックスにパラメーターを追加、削除、並べ替えることでパラメーターを管理できます。 ドラッグアンドドロップ インターフェイスを使用して順序を変更することもできます。

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

署名変更の改善

ユーザーから報告された上位のバグ修正

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

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

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


Note

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