プログラミング

Visual Studio 2022 と 2019 を比較! 違いは?

Windowsのプログラミングで必要な『Visual Studio 2022』の紹介です。

Visual Studio は、Windowsの開発元のマイクロソフト社が提供する統合開発環境(IDE)です。

開発に必要な様々なツール(エディタ、コンパイラ、デバッガなど)を無料で使うことができます。

最新版のVisual Studio 2022と 1つ前の Visual Studio 2019と比較をメインに記載しています。

初心者向け Visual Studio 2022 インストール/ビルド/実行方法Windowsのプログラミングで必要な『Visual Studio 2022』の紹介です。 Visual Studio は、Win...
[初心者向け]VisualStudioデバッグ方法(プログラムが正しく動作しない時に)Visual Studio のデバッグ方法を紹介します。 画像は、Visual Studio 2022ですが、他のバージョンもアイ...

Visual Studio 2019/2022 の エディション

Visual Studio 2022 の各エディションの比較【↓公式】
https://visualstudio.microsoft.com/ja/vs/compare/

Visual Studio 2022 と 2019でエディションの考え方は同じです。

2019と同様に2022にも、3つのエディションがあります。

・Visual Studio Community エディション (無償)
個人向けのエディション。5人までの企業ユーザも利用できます。
学習目的の利用や研究用途の場合はユーザ数の制限はありません。
ライセンス条件に従い、無償で利用可能です。

・Visual Studio Professional エディション (有償)
5人以上の小規模な企業向けのエディション。
CommunityとProfessionalエディションで機能的な違いはほとんどありません。
営利目的なら、Professionalが必要。

・Visual Studio Enterprise エディション (有償)
250台を超えるPC保有、または年間収入100万米ドル(12億円)超の企業向けエディション。
アーキテクチャ検証やテストツール・デバッグ機能を含むVisual Studioのフル機能が利用可能。
Professional と比べて、5倍ぐらい高いです。

サポートOS

Windows 7/8/2012 はサポート対象外となり、メモリも4GB以上必要です。
ストレスなく使うには、メモリは8GBあったほうがいいですね。

Visual Studio 2022 は、次の 64 ビット オペレーティング システムでサポートされています。
(32ビットOSはサポート外です。)

・Windows 10 (1909 以上)
・Windows 11 (21H2 以上)
・Windows Server 2016
・Windows Server 2019
・Windows Server 2022

4 GB 以上のRAM。

Visual Studio 2019でサポートされていた以下のOSはサポート外になります。
・Windows 7
・Windows 8
・Windows Server 2012 R2

2 GB 以上のRAM。

新機能(強化項目)

細かい強化はいろいろありそうですが、3点。
一見すると新機能は地味ですが、成熟してきたということかな。

統合開発環境(IDE)の64ビット化

64ビットのアプリは作成可能でしたが、統合開発環境(IDE)自体のプロセスは32ビットでした。

あまり体感できない部分ですが、

メモリー不足などで開発環境のクラッシュが減ったり、パフォーマンスと安定性の向上するのではないと思います。

少し使った感じでは、プロジェクトファイル(ソリューションファイル)をクリックしたときの起動速度が速くなっています。

ものによっては2倍ぐらい速いです。1分のものが30秒とか。
また、エディタ内での検索速度も高速化されていますね。

統合開発環境(IDE)は64ビットですが、32ビットのプログラムの開発は可能です。

IntelliCode

Visual Studioが備えていたコード補完機能「IntelliSence」に、機械学習(AI)による強化されたらしい。
もともとコード補完機能はサポートされていたので、イマイチ違いが分かっていないです。

Hot Reload(ホットリロード)

Hot Reloadは、変更したコードの反映を、アプリケーション実行/デバッグ状態のままで行える機能です。

従来、実行中のプログラムのコードを変更した場合、一度プログラムの実行を止めて、ビルドして再実行する必要があった。

Visual Studio 2022では、デバッガにアタッチした状態で実行した場合、C++、.NET Framework、.NET Core 5/6アプリケーションでリアルタイムの変更に対応できるようになりました。

「Visual Studio 2022」ではC++でもホットリロードも利用できるようになっています。

どの程度の変更で、デバッガを止めずに継続できるか分からないが、

ちょっとした間違いの場合など、その場で変更して停止・再ビルドなしで実行できるのは実用的に非常に役に立ちですね。

実用的にどれぐらい使えるかを少し試したくなりました。

その他気になる機能強化

筆者が使うメインの言語が、C言語がC++なので。

C++の対応状況

C ++のサポートも改善されています。

【Visual Studio バージョン別の Microsoft C/C++ 言語準拠】
https://docs.microsoft.com/ja-jp/cpp/overview/visual-cpp-language-conformance?view=msvc-170

C++の対応状況ですが、 VisualStudioは他のコンパイラに比べて対応が遅いイメージですが、C++23規格にかなり対応しているようです。

Linuxなどとクロスプラットフォーム開発を行う場合は、GCCのバージョン(C++の準拠)などと絡みが出てくるので重要。
どちらかのコンパイラでC++言語の準拠レベルが違うことでコンパイルエラーなど発生するので。

使い分け

Visual Studio 2022と2019を共存可能

Visual Studio 2019 と 2022を両方インストールして使い分けることが可能です。

コンパイラ自体のバグも修正されているので、基本的には最新のものを使ったほうがいいのですが、

コンパイラを変えるとプログラムの挙動や性能が変わることがあるので、共存できるのは重要ですね。

例えば、コーディング、ビルド、デバッグは最新のVS2022で開発し
製品リリース用は VS2019を利用し、品質確認できたら VS2022の完全移行するなど。

以下のようにVS2019とVS2022を別々に管理できます。
それぞれのコンポーネント(ワークロード)を選択可能です。

Visual Studio Installer を起動。
[変更]ボタンを押すとインストールされているコンポーネントの確認と追加・削除が可能です。

VS2019 のコンポーネント(ワークロード)

VS2022 のコンポーネント(ワークロード)

数ヶ月使ってみて

Visual Studio 2022のメモリ使用が多い?

同じソリューションファイルを開いたときに、VS2022の使用メモリが多いです。

画像は、10数万ステップ以上のソースファイルを開いていた時にタスクマネージャーで見た時のメモリとスレッドです。

VS2022は、空きメモリに余裕があるとメモリにキャッシュして高速化を図っているような感じです。
メモリは使うけど、ソースファイルの読み込みなど速いですね

アップデートなどで変わる可能性がありますが、しばらくはこまめに更新したほうがよさそうですね。(バグで無駄に使っている可能性もあるので)
VisualStudioの更新は、「Visual Studio Installer」で[更新]ボタンを押すだけです。

■VS2019: 使用メモリ 602MB
VS2019 使用メモリ

VS2022: 使用メモリ 1,152MB
VS2022 使用メモリ

ちなみにすべてモジュールが、64ビットになっているわけではないのですね。

まとめ

Visual Studio 2022は、Visual Studio 2019と大きな違いはありませんが、
起動速度や検索が速くなっているだけでもありがたいですね。

4GBのPCだと少しツラそうです。

初心者向け Visual Studio 2022 インストール/ビルド/実行方法Windowsのプログラミングで必要な『Visual Studio 2022』の紹介です。 Visual Studio は、Win...
[初心者向け]VisualStudioデバッグ方法(プログラムが正しく動作しない時に)Visual Studio のデバッグ方法を紹介します。 画像は、Visual Studio 2022ですが、他のバージョンもアイ...