ゴマちゃんフロンティア

アザラシが大好きなエンジニアの開発日記です

【Unity】新規スクリプト作成時にコード補完が効かなくなる場合の対処法

time 2018/05/05

sync 更新履歴
2020/03/16
対処法の手順を修正しました。

今回はUnityでスクリプトを作成した際、UnityEngine系のコード補完が効かなくなってしまうことがあるので、その対処法に関するちょっとしたお話です。
先に結論を言うと、私の場合は「.csprojファイルを消して Open C# Project で開きなおす」で直りました。

環境

・Unity
2017.1.1f1

・エディタ
Visual Studio 2017

現象

コード補完が効かなくなると書きましたが、実際はUnityEngineUnityEditor絡みのハイライトやコメント表示も行われなくなります。
下の画像は発生後のエディタの様子ですが、MonoBehaviourがハイライトされていないのが分かるかと思います。

私の場合は一度発生してしまうと、「ソリューションのリビルドやクリーン」「UnityやPCを再起動」を行っても直りませんでした。
体感では「Visual Studio起動中にUnity側から新規スクリプトファイル作成」で発生することが多かったです。

対処法

冒頭でも述べた通り、プロジェクトフォルダ直下の.csprojファイルをすべて削除し、Unityのメニューから「Assets→Open C# Project」を選択します。

VisualStudio起動後、プロジェクトファイルが作り直されます。
すると先ほど作成したスクリプトのコード補完やシンタックスハイライトもいい感じになります。

現象や直し方からプロジェクトファイルが壊れてしまうのではないかと推測しましたが、diffを取っても差分はなく、プロジェクトファイルのItemGroupにもちゃんと追加されているので謎です。
一度VisualStudioを落としてからスクリプトを作成すれば問題ないので、当分は作成方法に注意して対応しようと思います。

down

コメントする