いっぱい記事がでてきて、以下を試したが、どれもうまくいかず
- アプリ再起動、マック再起動
- slnけして、unityのAssets>Open C# project
- パッケージマネージャーにあるVSCodeのやつを新しく
- monoをインストーラーで入れ直し
- setting.jsonのmonoの項目always
以下で対応
ログ見て問題を探す
vscodeのTerminalをたちげる(ヘッダーのメニューからか、左下のアイコンどれかをクリック)
OUTPUTとというタブを開く、右にフィルターみたいなセレクトボックスがありominisharpを選ぶ ログが見ることができる
ログにはomnisharpのバージョンが古いみたいな文言があった。
対策
バージョンは古くはなかったが、インストーラーからmonoをインストールしてたので
brew installでmonoをインストール あと openssl もインストール
ここをみた。UnityとVSCodeを連携させる for Mac - Qiita
こんな感じの場所にインストールされる /usr/local/Cellar/mono/6.12.0.122
setting.jsonのomnisharp.monoPathという項目(なければ追加)に上記パス追加
予防策
あと、たまに動かなくなる理由は謎だが、とりあえずvscodeの自動アップデートを無効にしてみた setting.json に "update.channel": "none",
omniSharpの問題
- 設定のomnisharp.useModernNetをfalseにする
- trueにしてomnisharpを再起動して、またfalseにしたり
- falseにしてvscodeを再起動したら治った