Microsoftは、いくつかの新しい改善を加えたVisual Studio2022をリリースします

読書時間アイコン 12分。 読んだ


読者は MSpoweruser のサポートを支援します。私たちのリンクを通じて購入すると、手数料が発生する場合があります。 ツールチップアイコン

MSPoweruser の編集チームの維持にどのように貢献できるかについては、開示ページをお読みください。 続きを読む

Microsoft Visual Studio2022プレビュー

Microsoft Visual Studio2022プレビュー

マイクロソフトは本日、Visual Studio2022の一般提供を発表しました。このGAバージョンのVisualStudio 2022には、実稼働用のライセンスが付属しています。

Visual Studio 2022の主な機能:

64ビット

  • devenv.exeは64ビットのみになりました

Azureクラウドサービス

  • Azure Cloud Service(クラシック)およびAzure Cloud Service(拡張サポート)プロジェクトがサポートされるようになりました。

C + +

  • v143ビルドツールは、VisualStudioインストーラーおよび スタンドアロンビルドツール.
  • 新しいホットリロードエクスペリエンスは、デバッガーで実行しているときにネイティブC ++アプリケーションで使用できるようになりました。 MSBuildプロジェクトとCMakeプロジェクトの両方をサポートします。 詳細については、 ホットリロードセクション を参照してください。
  • SSH接続を確立せずに、WSL2でネイティブにビルドおよびデバッグできるようになりました。 クロスプラットフォームのCMakeプロジェクトとMSBuildベースのLinuxプロジェクトの両方がサポートされています。
  • VisualStudioは現在 buildPresets.targets CMakePresets.jsonのオプション。 これにより、CMakeプロジェクトでターゲットのサブセットを構築できます。
  • CMakeプロジェクトのプロジェクトメニューが合理化され、「キャッシュの削除と再構成」および「キャッシュの表示」のオプションが公開されました。
  • CMakeの概要ページが更新され、CMakePresets.jsonがサポートされるようになりました。
  • 実装済み /scanDependencies で説明されているように、CMakeプロジェクトのC ++ 20モジュール依存関係を出力するためのフラグ P1689r3。 これは、CMakeを使用してモジュールベースのプロジェクトを構築するためのサポートに向けたステップであり、今後のリリースでこのサポートを完了するよう取り組んでいます。
  • VisualStudioからLLDBを使用してリモートシステムで実行されているプロセスをデバッグできるようになりました。
  • VisualStudioに同梱されているCMakeのバージョンをバージョン3.21にアップグレードしました。 を参照してください CMake3.21リリースノート 利用可能なものの詳細については。
  • VisualStudioに同梱されているLLVMツールがLLVM12にアップグレードされました。 LLVMリリースノート 詳細については。
  • MSVCツールセットのデフォルトはSHA-256になりました デバッグレコードのソースハッシュ。 以前は、ツールセットはデフォルトでソースハッシュにMD5を使用していました。
  • C ++ワークロードを使用したゲーム開発では、Visual Studio2022をサポートする最新のUnrealEngineがインストールされるようになりました。
  • インポートされたモジュールとヘッダーユニットからのタイプにナビゲーションと構文の強調表示を提供するときに、C ++ IntelliSenseが改善されました。
  • キャッシュされたヘッダーの使用とシンボルデータベースアクセスを最適化することでC ++ IntelliSenseのパフォーマンスを向上させ、コードにアクセスするための読み込み時間を改善します。
  • IntelliSense Code Linter for C ++がデフォルトでオンになり、入力したとおりに即座に提案を提供し、一般的なコードの欠陥に対する提案を修正します。
  • スイッチの下でのlibfuzzerのサポート -fsanitize=fuzzer。 見る ドキュメンテーション のガイドをご参照ください。
  • コード分​​析ツールのnullポインター逆参照検出を改善しました。
  • コード分​​析により、注釈が付けられた関数の戻り値が適用されるようになりました _Check_return_ or _Must_inspect_result_ チェックする必要があります。
  • サポートの追加 gsl::not_null コード分​​析に。
  • C ++モバイル開発ワークロードでNDKr21LTSに更新されました。
  • C ++ AMPヘッダーは非推奨になりました。 含むC ++プロジェクトでは、ビルドエラーが発生します。 エラーを沈黙させるには、次のように定義します _SILENCE_AMP_DEPRECATION_WARNINGS。 見てください AMP非推奨のリンク のガイドをご参照ください。

デバッグと診断

  • プロセスダイアログの改善に添付
  • 例外ヘルパーの改善
  • 実行を強制的にクリック
  • メモリダンプ診断分析
  • Dependent Breakpointと呼ばれる新しいタイプのブレークポイントをリリースしました。これにより、別のブレークポイントが最初にヒットした場合にのみ有効になるようにブレークポイントを構成できます。
  • Extrenal Sourcesノードにさらに更新を追加しました。これで、サブノード「Modules without Sources」の下にモジュールが表示され、ソリューションエクスプローラー自体からシンボルをロードできます。
  • ブレークポイントガターの改善
  • 一時的なブレークポイント
  • ブレークポイントのドラッグアンドドロップ
  • ソリューションエクスプローラーの外部ソースノード
  • プロセスダイアログの改善に添付

パーソナライゼーション

  • 垂直タブと水平タブのカラータブを追加
  • テーマパックを追加し、VSCodeテーマの作成者と協力して起動しました カスタムテーマのコレクション
  • 構築された テーマコンバータ Visual Studio2022で機能するようにVSCodeテーマを変換する
  • VisualStudioテーマをWindowsテーマと同期する機能が追加されました
  • タブ幅のカスタマイズ、アクティブなドキュメントの太字、docwellの追加の閉じるボタンなどの新しいドキュメント管理機能が追加されました。

エディター

  • サブワードナビゲーションを追加
  • 自動保存がプレビュー機能として利用可能になりました
  • マルチキャレットのコピー/貼り付けの経験

拡張性

  • Microsoft.VisualStudio.Language.ClientアセンブリからAPIを削除しました
  • VS SDKにはいくつかの重大な変更が含まれており、Visual Studio2019拡張機能は2022年には機能しません。を参照してください。 VSSDKドキュメント 。
  • VSSDKリファレンスアセンブリはインストールされなくなりました VSSDK\VisualStudioIntegration\Common\Assemblies フォルダ。 ビルドがこれらのアセンブリに依存していた場合は、代わりにNuGetパッケージを使用するようにプロジェクトを移行してください。 オフラインシナリオの場合:
    1. nugetパッケージを復元するための組織内のnugetフィードを保持します。
    2. バイナリをチェックインします。
  • ILanguageClientの重大な変更の修正を追加しました

クラウドサービス

  • 藍銅鉱 古くてアクティブに開発されていないAzureStorage Emulatorの代わりに、AzureStorageのローカルエミュレーションに使用されます。

Gitツーリング

  • マルチリポジトリのサポート プレビューフラグの下 さまざまなリポジトリにまたがるソリューション(つまり、さまざまなGitリポジトリでホストされているプロジェクトを含むソリューション)
  • AzureDevOpsに公開する gitリポジトリの作成エクスペリエンスで完全にサポートされるようになりました
  • を含むステータスバーの機能強化 空のVSからリポジトリを表示して開く新しい機能 & プルされていないコミットの数を表示する
  • Gitの変更ウィンドウのオーバーフローメニューは、追加のgit操作を使用してローカルのみのリポジトリで使用できるようになりました
  • 追加/削除された行の数と検出可能な設定オプションを含むUnifiedDiffツールバー
  • より応答性が高くユーザーフレンドリーなUIを含むコミットの詳細の機能強化

ヘルプメニュー

  • 17.0の間に、ヘルプメニューを「はじめに」の資料と役立つヒント/コツで改造しました。
  • 開発者コミュニティ、リリースノート、Visual Studio製品ロードマップ、ソーシャルメディアページへのアクセスなどを追加することにより、開発チームとのコラボレーションを強化します。

ホットリロードエクスペリエンス

  • ホットリロードは、多くの.NET 6アプリケーションタイプのデバッガーなしで、VisualStudioデバッガーを介して.NET開発者が利用できるようになりました。
  • Visual Studioデバッガーを使用するときに、C ++開発者がホットリロードを利用できるようになりました

詳細については、上記のリンクを参照してください

IntelliCode

  • ライン全体の補完 現在のコンテキストに基づいてC#コードの次のチャンクを予測し、カーソルの右側にインライン候補として表示します。
  • ライン全体の補完 今あります JetBrainsReSharperの最新ビルドと互換性があります。 ReSharpersカスタム補完リストアイテムの選択に基づく行補完コンテキストの更新はサポートされていないことに注意してください。必要に応じて、ReSharperユーザーは、ドキュメントに記載されているように、代わりにVisualStudioネイティブIntelliSenseを使用することを選択できます。 こちら

JavaScript / TypeScript

  • 追加のツールを使用してスタンドアロンのJavaScript / TypeScriptプロジェクトを構築する新しいJavaScript / TypeScriptプロジェクトタイプをリリースしました。 コンピューターにインストールされているフレームワークバージョンを使用して、VisualStudioでAngularプロジェクトとReactプロジェクトを作成できます。
  • JavaScriptとTypeScriptのテストがVisualStudioテストエクスプローラーで利用できるようになりました
  • NPM GUIが利用可能であるため、Nugetパッケージをダウンロードするのと同じ方法でNPMモジュールをダウンロードできるようになりました

.NET 6 SDK

  • .NET 6SDKはVisualStudio2022に含まれています

.NETの生産性

  • パラメータリファクタリングを導入すると、新しいパラメータをメソッド実装からその呼び出し元に移動できます。
  • データフロー分析のためのトラックバリューソース
  • 再割り当てされた変数に下線を付けるオプション
  • [オーバーライドの生成]ダイアログに検索オプションを追加しました
  • XML tags now preserve whitespace and CDATA blocksになりました
  • [すべての参照を検索]ウィンドウで、マルチターゲットプロジェクトがグループ化されます
  • VisualBasicで繰り返しタイプを削除するためのリファクタリング
  • Go to Implementationは、オーバーライドされた抽象宣言を持つメンバーに移動しなくなりました。
  • ソリューションエクスプローラーからフォルダー構造に一致するように名前空間を同期します
  • ソリューションエクスプローラーからバックグラウンドコード分析を構成する
  • 新しい.NETプロジェクトでは、null許容参照型がデフォルトで有効になりました
  • C#10.0ファイルスコープの名前空間リファクタリング
  • 逆コンパイルされたソースへのナビゲートがデフォルトでオンになりました
  • タイプチェックよりもヌルチェックを優先するリファクタリング
  • XMLコメントが自動的に生成されるようになりました <exception> メソッドが明示的に例外をスローするときのタグ
  • 継承マージンがデフォルトで有効になりました

プログラミング言語

  • C#10

Razor(ASP.NET Core)エディター

  • UIのフリーズが減少し、ソリューションの起動時のパフォーマンスが向上しました
  • 一部のソリューションでは、セマンティックカラー化が最大2倍高速化
  • RazorファイルでのF7(コードの表示)のサポート
  • tab-tabを押す代わりに単一のタブでスニペットセッションを完了するかみそりファイルでのスニペットのサポート
  • ネストされたHTMLおよびRazorコンポーネントがある場合の@codeブロックのフォーマットの改善
  • Razorファイルでのホットリロードのサポート
  • パフォーマンスの向上
  • フォーマットとインデントの機能強化
  • 新しいRazorエディターの色
  • TagHelpersは色分けされ、情報分類の迅速なサポートと完了ツールチップが追加されました
  • Razorコンストラクトのアングルブレースの強調表示とナビゲーション
  • コメントには、オートコンプリート、スマートインデント、コメント継続の自動包含、およびコメントナビゲーションのブロックが含まれるようになりました

リモートテスト

  • 非常に Linuxコンテナー、WSL、SSH接続などのリモート環境でテストを実行できるようにするための初期の実験的プレビュー。

テストツールのサポート

  • テストエクスプローラーに表示
  • 17.0以降の新しいバージョンのテストプラットフォームでは、汎用テストと順序付きテストを実行できなくなります。 これらの特定の機能は、MSTestv1の初期バージョンの一部としてのみ出荷され、MSTestv2には含まれていません。 これらの機能の使用率は非常に低く、順序付けられたテストは現在、最良のテスト手法に反していると見なされています。
  • 新しいTestSettingsファイルやTestSettingsエディターの作成など、一部のテストエクスペリエンスは17.0では利用できなくなります。 テスト実行では引き続きTestSettingsファイルを使用できますが、TestSettingsはRunSettingsに置き換えられたため、パフォーマンスと機能の向上を移行することをお勧めします。 続きを読む.
  • Web負荷テストとコード化されたUIテストは更新をサポートします。 コード化されたUIテスト および[Web負荷テスト](クラウドベースの負荷テストサービスのサポート終了| Azure DevOps Blog(microsoft.com)は2019年に正式に廃止されました。ユーザーへの影響を最小限に抑えるために、Visual Studio2022ではこれらの機能のサポートは最小限に抑えられています。コード化されたUIテストとWeb負荷テストから移行するようユーザーに促します。

UWP拡張SDKのツールボックスの数

  • UWP拡張SDKは、ツールボックスに表示するタイプを明示的に宣言する必要があります。 SdkManifest.xmlファイル。 古いバージョンのVisualStudioの動作は変更されていません。 マニフェスト内のコントロールのリストを無視し、代わりにSDKのアセンブリ内のコントロールタイプを動的に列挙します。

信頼できる場所

  • 「信頼設定」機能を刷新し、信頼できないコード(ファイル、プロジェクト、フォルダーなど)がIDE内で開かれようとしているときに警告を表示できるようになりました。
  • 信頼性チェックがソリューションフォルダーレベルで実行されるようになりました
  • ユーザーが作成したプロジェクトは、信頼できるリストに自動的に追加されます
  • ユーザーは、VisualStudioによって作成された一時的な場所の信頼チェックをスキップできます

更新、LTSC、および展開

  • Visual Studio 2022では、同時にサポートされる複数のサービスベースラインがあり、秋と春にリリースされます。 詳細については、を参照してください。 VisualStudioリリースリズムのドキュメント と Visual Studio2022製品ライフサイクル.
  • Visual Studio 2022に付属する新しいインストーラーには、VisualStudio製品が更新を取得する場所を構成する機能があります。 これにより、別のLTSCから更新を選択できます。または、管理対象のエンタープライズ環境にいる場合は、レイアウトから更新を取得するようにクライアントを構成できます。 更新のソースを構成する機能は、Visual Studioインストーラーに付属する新機能であるため、この動作は、Visual Studio2019などのVisualStudioのダウンレベルバージョンにも適用できます。更新チャネルの構成の詳細については、を参照してください。 the VisualStudioを更新します ドキュメンテーション。 ネットワークレイアウトでこれを機能させるための追加情報については、以下を参照してください。 VisualStudio管理者ガイド.
  • IT管​​理者は問題を報告できるようになりました VisualStudioをインストールせずに。

ユーザーインターフェース

  • デフォルトのアイコンが更新および更新されました。

Webツール

  • [概要の公開]ページに、[ホスティング]セクションの右上隅にある[…]メニューの下で、リモートデバッグとプロファイリングを開始/停止するアクションが追加されました。
  • [接続されたサービス]ページに、ストレージエクスプローラーを起動するアクションが追加されました
  • .NET6に付属の「ASP.NETCoreEmpty」テンプレートは、新しい 「最小限のAPI」 サポートを追加し始めたパラダイム
  • 藍銅鉱 古くてアクティブに開発されていないAzureStorage Emulatorの代わりに、AzureStorageのローカルエミュレーションに使用されます。
  • を使用してASP.NETCoreアプリケーションに認証を追加できます MicrosoftIDプラットフォーム VisualStudioでのConnectedServicesエクスペリエンスを介して。

.NET Framework 用の WPF XAML デザイナー

  • 現在のWPFXAML Designer for .NET Frameworkは、WPF XAML Designer for .NET(.NET Core)で使用されているものと同じアーキテクチャに基づいて、新しいWPF XAML Designer for .NETFrameworkに置き換えられています。 Visual Studioのエクスペリエンスは同じように見えますが、サードパーティのコントロールベンダーは、以前のモデルに基づく新しい拡張性モデルをサポートする必要があります。 .design.dll & Microsoft.Windows.Design.Extensibility 非推奨です。 すでに作成している場合 .designtools.dll .NET(.NET Core)の拡張機能。同じ拡張機能が、新しいWPF XAML Designer for .NETFrameworkでも機能します。 を参照してください 移行ドキュメント 新しい拡張性モデルに移行する方法の詳細については、以下をご覧ください。

XAMLホットリロード

  • XAMLホットリロードの変更–アプリ内ツールバーと設定のマイナーな変更

XAMLライブプレビュー

  • XAML Live Previewが、WPF、UWP、WinUI、およびXamarin.Forms開発者が、AndroidEmulatorまたはUWPデスクトップアプリとしてアプリを実行できるようになりました。 Live Previewは、実行中のアプリケーションのユーザーインターフェイスをキャプチャし、VisualStudio内のドッキングされたウィンドウに表示します。 これにより、XAMLホットリロードを使用して、Visual Studio自体の内部でこれらの変更を確認しながらアプリを変更することが容易になります。ライブのXAMLコードを変更するときに、実行中のアプリとVisualStudioの間を行き来する必要はありません。

詳細については、上のリンクをクリックしてください。

XAMLサンプルデータ

  • WPFアプリケーションのツールボックスからDataGrid、ListBox、およびListViewコントロールを作成するときに、デザイン時のサンプルデータがデフォルトで追加されるようになりました。 この動作を無効にするには、[ツール]-> [オプション]-> [XAMLデザイナ]で[要素の作成時にサンプルデータを自動的に追加する]チェックボックスをオフにします。
  • サンプルデータの詳細については、次のWebサイトをご覧ください。 サンプルデータのドキュメント.

XAMLバインディングエクスペリエンスの向上

  • プロパティインスペクターからのデータバインディングダイアログへのクイックアクセス、クイックアクションからのバインディングの設定機能、データバインディングダイアログ内でバインドするプロパティの選択機能など、データバインディングを高速かつ簡単にするための多くの改善を行いました。 。

詳細については、上のリンクをクリックしてください。

情報源: Microsoft

トピックの詳細: マイクロソフト, Visual Studioの2022