UnityのエディタとしてVisual Studio2022を使っているのに補完が効かないなどの挙動がおかしいときのメモ

Windows版のUnityは標準のコードエディタとしてVisual Studioが自動的にインストールされます。普段自動でインストールされるので何も考えずに使っていましたが、インストール環境によってインテリセンスなど挙動がおかしい時があり、インストーラー任せでどうすればいいのか分かってなかったのでメモ

Visual Studio自体は立ち上がるが、Unity C#の補完が効かない

メニューのEdit > Preferences >External Toolsを開き、External Script EditorでVisual Studio(Unity2022の場合はVisual Studio 2022)が選択されているか確認。”Open by file extension”だと違うエディタが立ち上がる可能性がある。
別の用途でVisual StudioがPC内に複数インストールされていることがあり、PC環境によっては、VSは立ち上がるがUnity経由でインストールしたのとは別のVSが起動する場合もあるので、Unity経由でインストールしたバージョンを指定する。(Visual Studioは汎用のコードエディタ統合環境でUnity専用ではないので、様々な用途に使われる)

External Tools

External Tools設定してもなんかおかしい

Visual Studio自体が正常にインストールされており、External Toolsの設定も正しくても、インストール時の手順がなにか違っていて、Unity C#の開発に関するモジュール?が入っていないことがある。(学校の共用PCとかだとありがち)
1.スタートメニューから、Visual Studio Installerを起動。
2.Unity経由で入れたVSのバージョンで、「変更」をクリック

Visual Studio Installer

3.「ワークロード」タブの「.NET デスクトップ環境」と「Unityによるゲーム開発環境」にチェックを入れて、右下の「変更」ボタンを押す。後はインストールが完了するのを待つ。

.NET デスクトップ環境


Unityによるゲーム開発環境

コードの補完は効くが関数の参照が出てこない

「Unityによるゲーム開発環境」だけ入っていてもUnity C#コードの補完は効くのだが、なぜか他のPCでは表示されている、関数の上にどこからいくつ参照されているかってのが表示されなくなったことがあって、これは「.NET デスクトップ環境」が入っていなかったからだった。ちなみにこの機能は「CodeLens」という名称らしい。これが出ない人は試してみてください。↓こういうやつ

CodeLens

上記がインストールされていてもCodeLensが機能しない場合は、Visual Studioのメニューのツール > オプション > テキストエディター > すべての言語 > Codelensを開き、「Codelensを有効にする」がチェックされているか確認してください。

Codelensを有効にする

僕の場合は、「Unityによるゲーム開発環境」は入っているのに「.NET デスクトップ環境」が入っていなかったことがありました。ちなみにソリューションエクスプローラーで警告みたいなのは出ていてこれで気づいた次第。一応これでもコード補完はしてくれるので開発はできるのだが、不便だったので一時期謎だった。

非常に初歩的な話題ではありますが、Visual Studioは.NET開発、C++など様々な用途で使われるので、Unity特有の話題とかネットにあんまりなかったりしたので一応メモしときます。

この記事が気に入ったらサポートをしてみませんか?