あれ、VSCodeがC#のクラスを認識しない…
Unityでのゲーム開発を行なっている際に、こういった現象に遭遇する方も多いかと思います。
私もMac Book(M1 Pro)でゲーム開発を行なっている際に、VSCodeがC#のクラスを認識してくれない事例が発生し、そのたびに少しハマってしまいました。
なので、以後同じ現象が起きた際の備忘録も含め残しておこうと思います。
ということで今回は、MacのVSCodeでC#のクラスが認識されない(Intellisenseがおかしい)場合の対処法について解説していきます。
同じ現象に見舞われている人の参考になれば幸いです。
前提として、必要な拡張機能などはインストール済みで、以前は動いていたのに急にC#の動きがおかしくなった場合の対処法を紹介しています。
MacのVSCodeでC#のクラスが認識されない(Intellisenseがおかしい)場合の対処法
結論としては、自分は以下を実行するとVSCodeでC#のクラスをしっかりと認識してくれるようになりました。
- VSCodeのOmnisharpのmonoパスを確認・修正する
- VSCodeのアプリを完全に終了する
- UnityEditorの「Assets/Open C# project」から開く
簡単にそれぞれ解説していきます。
Step1:VSCodeのOmnisharpのmonoパスを確認・修正する
VSCodeの設定画面で検索窓に「Omnisharp」と入力します。
下にスクロールしていくと以下のmonoパスを設定する箇所が見つかるかと思います。
ここに以下のコマンドで出てきた値と見比べて見て、違う場合はその値を入れます。
which mono
私の環境では、「/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono」と表示されました。
ちなみに、私はmonoパスの項目には『/Library/Frameworks/Mono.framework/Versions/Current/Commands
Step2:VSCodeのアプリを完全に終了する
monoパスの設定が完了したら、VSCodeを一旦完全に終了します。
画面下のDockでVSCodeのアプリで「右クリック>終了」とするか、画面上部のメニューバーの「Code>VSCodeを終了」からできます。
Step3:UnityEditorの「Assets/Open C# project」から開く
VSCodeアプリを終了した後は、Unityエディターを開いてメニューバーから『アセット>C#プロジェクトを開く』から、VSCodeを開きます。
この手順を完了すれば、C#のクラスがVSCodeに認識されてスムーズにコーディングできるようになるかと思います。
それでも治らない場合…
上記を試しても治らない場合は、一度以下の動画の手順に従ってセットアップし直すのもありかと思います。
自分は何度かお世話になっています。
動画自体は英語ですが、ハンズオン的に進んでいくので、動画の通りに進めていけば問題なくセットアップできるかと思います。
MacのVSCodeとC#の相性悪すぎ:まとめ
- VSCodeのOmnisharpのmonoパスを確認・修正する
- VSCodeのアプリを完全に終了する
- UnityEditorの「Assets/Open C# project」から開く
今回は、MacのVSCodeでC#のクラスが認識されない場合の対処法を解説しました。
自分の環境ではたまに急にC#のクラスを認識してくれなくなる時があるので、その際はこれらの手順を行なって対処するようにしています。
VSCodeがC#のクラスを認識してくれないといった不具合にお困りの方の一助となれれば幸いです。