【Mac】UnityプロジェクトのインテリセンスがVS Codeで効かない
症状
Mac で Unity を VS Code と共に使おうと思っても、インテリセンスが効かず、メソッドの上に表示されるべき参照カウント(0 references
みたいなやつ)も表示されないという問題です。そもそも VS Code さんがプロジェクトの構造を把握できてない状態なので、エラーも XML Documentation Comment も表示されずとっても不便です。
エラー内容はこんな感じ。.NET Framework の Version 4.7.1 が見つからないと言っているので、.NET関連のエラーであるということはわかるのですが……
https://aka.ms/msbuild/developerpacksに行っても、Windows用の.NET Frameworkしか置いて無いみたいなのでMacでは役に立ちません。
ちなみに、Unity のバージョンは 2020.2.0b5、Visual Studio Code のバージョンは 1.49.3、macOS は Mojave、10.14.6 です。まあ、この辺は今回はあまり関係なさそうです。
対処法
ネットで検索すると、似たような問題がたくさんヒットして、それぞれ対処法も違っていて逆にビシッと解決策が見つからないというパターン。いろいろ試したところ、自分の環境でうまくいったのは下記の方法です。
1. Mac用 Mono の Stable channel をインストール
Mono for macOS の Stable channel をインストールします。別に Visual Studio channel でもいいのかもしれません。自分がインストールしたバージョンは 6.12.0 でした。
Download - Stable | Mono
https://www.mono-project.com/download/stable/#download-mac
2. VS Code の設定で Use Global Mono を always にする
多分この操作が一番大事っぽいです。これで VS Code が上記でインストールした Mono を使うようになり、インテリセンスがちゃんと動くようになります。
下記のページのコメントの一つにありました。
Assemblies targeting .Net Framework 4.7.1 fail to load on Mac, plugin v1.21.11 · Issue #3613 · OmniSharp/omnisharp-vscode · GitHub
https://github.com/OmniSharp/omnisharp-vscode/issues/3613
別に最初からWindows環境使えばいいんですけど、iMac の5Kディスプレイが美しすぎて時々 Mac 使いたくなるんですよねー。フォントのレンダリングも美しいし。いや、フォントのレンダリングが綺麗に見えるのはディスプレイのせいだろうか。5年前の型落ち iMac ですが、Windows でこのクラスの5Kディスプレイ使おうと思ったら相当なお値段ですからね……
この記事はここで終わりです。
読んでいただきありがとうございました。
良かったらシェアしてね!
That's all for this article. Thank you for your reading.
Please share this if you like it!