Visual Assistは Whole Tomato Software が開発したMicrosoft Visual Studio用のプラグインです。このプラグインは主にIntelliSenseと構文ハイライト機能を強化し、ソースコードのナビゲーションや柔軟なリファクタリングを提供します。また、コード候補の強化、コードの生成や書き換え、コメントのスペルチェックのサポート、強化されたデバッグツールの追加なども行います。[ 1 ]さらに、未宣言変数の使用などの構文エラーを検出したり、ソースコード内の潜在的なバグやパフォーマンスの問題を検出するためのコード分析機能も提供します。[ 2 ]
Visual AssistはVisual C++とVisual C#をサポートしています。
2023年3月現在、Visual AssistはVisual C++ 2022からVisual Studio 2005(Community Editionを含む)までをサポートしています。Visual Studio 6.0~2003のサポートは2017年に終了しましたが、これらの古いIDEをサポートする最新バージョンは引き続きダウンロード可能です。(Visual Studio Expressエディションはサードパーティ製拡張機能に対応しておらず、Visual Studio Codeは独自の拡張機能モデルを使用しているため、Visual Assistはこれらのエディションでは使用できません。)
Visual Assist は世界中の C++ 開発チームで使用されていますが、特にゲーム開発業界で人気があります。多くのUnreal Engine開発者は、Unreal での開発を開始する前に Visual Assist をインストールすることを重要な要件として挙げています。[ 3 ] [ 4 ] [ 5 ]
YouTuberのTheChernoは、これまでに行ったC++開発の90%でVisual Assistを使用してきたと述べており、Unreal EngineとVisual Assistの組み合わせを「天国で作られた組み合わせ」と呼んでいます。[ 6 ]
Unreal Engineコミュニティのwikiには、「多くのプログラマーは、Visual Studioに組み込まれているIntelliSenseを無効にして、Unreal Engineのサポートが含まれているVisual Assistを使用することを好む」と記載されている。[ 7 ]
Visual Assist は独自の言語パーサーを備えており、これはコンパイラ型のパーサーではありません。コンパイラ型のパーサーは整形式のコードを必要とし(整形式のコードはコンパイルエラーを引き起こします!)、コンパイラに特定のコードを含めるか除外するかを指示するマクロなどのコンパイラディレクティブに従います。コードツールはコンパイラエンジンまたはコンパイラ型のパーサーのいずれかを使用するのが一般的ですが、Visual Assist のアプローチはより柔軟であり、実際のコーディング環境でより役立つことを意味します。コーディング中、開発者は未完成のコードを書くことがありますが、Visual Assist のように、アシスタンスツールはそれでも正しく機能する必要があります。同様に、Visual Assist はマクロを認識しますが、コンパイラが除外するマクロの内部を「見る」ことができます。つまり、他のツールでは見落とされる参照を見落とすことなく、完全にリファクタリングできるということです。
Visual AssistはVisual Studioに密接に統合されていますが、Visual Studio Codeとは異なる拡張モデルを採用しています。
Visual Studio 2022 までは、Visual Studio は 32 ビット アプリケーションであり、メモリは最大 4GB に制限されていました。開発者が Visual Studio に複数のプラグインをロードすることは一般的であり、Visual Assist の開発者は、非常に大規模なプロジェクトを解析する場合でも、Visual Assist の使用によるメモリへの影響が非常に低いことを保証するために多大な努力を払いました。 [ 8 ]これとカスタム パーサーの両方により、他のツールと比較して、コードの解析またはインデックス作成のパフォーマンスも向上します。