状況
UnityのAssetsから直接.cs
ファイルを開いた際、エディタ上でオートコンプリートが効かず、ものすごく困りました。
MonoBehavior
クラスが認識されず、VSCode/VisualStudio2019の両方でオートコンプリートが無効。なんでや。
環境
以下の通りです。
Unity
2019.2.13f
VSCode
10.40.2
VisualStudio2019
Communityのちょっと前のやつ
解決方法
VisualStudioの場合
【Unity】Visual Studioのインテリセンス(自動補完や候補予測)が効かない場合の対処法
UnityでVisualStudio2017のIntelliSenseが動作しなくなる問題を解決する
リンク先の通りにやったらできた!圧倒的感謝。
自分の環境の場合、VS2019のバージョンを16.4.0に上げただけでいけた。
VSCodeの場合
今日からUnity + Visual Studio Codeを用いた快適な開発生活(随時更新中)
こちらに記載のあるアセットを入れてみましたが、解決に至らず。
MonoBehaviour Snippetsという拡張機能を追加してみたら、それっぽくはなりました。
相変わらずMonoBehavior
クラスは認識されないので、根本的な解決にはなってない。
解決でき次第、追記したい。。
2019/12/20 追記
https://code.visualstudio.com/docs/other/unity
ひとまずこれでいけた。
追記
上部に載せた画像をもう1度見てもらうとわかるのですが、
MonoBehavior
クラス、VSCodeでも認識されていました😭
(補完は効いていましたが、色々いれた拡張機能のおかげかと。。)
じゃあ一体、画像に出ている下線は何?ということになるのですが、きちんとメッセージを見ると、
"Behaviour": Unknown word.
とのこと。
以前入れた拡張機能のCode Spell Checkerが、そんなワードは知らんと教えてくれていただけでした。これは恥ずかしい。
ちなみにこの単語、2種類のスペリングがあるらしく、
Behaviour
はイギリス英語、Behavior
はアメリカ英語らしいです。
結局、Behaviour
が、Code Spell Checkerの辞書に登録されていなかっただけ、というオチ。
登録されていない単語はホワイトリストに追加で解決しました。。
拡張機能、とっても便利ですが、入れたものはちゃんと把握しようと思いました。
参考:
VSCode に Code Spell Checker を導入して typo と戦う
BEHAVIORとBEHAVIOURの違い