kiyasuの日記

ハッピーうれピーよろしく哀愁

M1 MacでVS Codeの設定いろいろ

M1 MacでUnityのscriptを編集しようとしたがうまくいかず。

Debugger For Unityが動かない

具体的にはVSCodeデバッグアイコンを押してlaunch.json追加しようとしても下記画像のような"Unity Debugger"の項目が出なかった。

以下を試したら治りました。


Unity C#の補完

UnityEngine.Debug.Log()の補完がでない。これは適用しているスニペット次第で、自分が使っているこれだと、"log"と入れるとDebug.Logが出てきた。自分に合ったものを探すか、自分が合わせるしかない

定義へのジャンプ、実装へのジャンプ

一回全体検索をした後だと動くようになるが、それまではF12でも右クリックメニューでも「No Definition Found」と表示されてしまう。検索のインデックスができていない感じ

UnityでVSCodeを使用中、関数ジャンプや参照ができない!の解決方法 - Qiita

こちらを試したけども解決せず(slnも消してみた)。最後に書かれてるUnity Attach Debuggerはデバッグ時にどのUnityのランタイムにアタッチするか、ということのようで、デバッグ実行したところそれは問題なさそう。

コンソールに何か色々出てるな

[warn]: OmniSharp.CompositionHostBuilder
It looks like you have Mono installed which contains a MSBuild lower than 16.8.0 which is the minimum supported by the configured .NET Core Sdk.
Try updating Mono to the latest stable or preview version to enable better .NET Core Sdk support.

うーん、これか?monoはVisual Studioバージョンを入れていたが、stableのほうが先らしいのでそれを再度インストール。しかし同じエラー。バージョン確認。

% mono -V
Mono JIT compiler version 6.12.0.122 (2020-02/c621c35ffa0 Wed Feb 10 00:51:43 EST 2021)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:
SIGSEGV: altstack
Notification: kqueue
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(610)
Suspend: hybrid
GC: sgen (concurrent by default)

msbuildのバージョンは?

% msbuild -version
Mono 向け Microsoft (R) Build Engine バージョン 16.6.0
Copyright (C) Microsoft Corporation.All rights reserved.

16.6.0.10801

じゃあpreview入れてみよう。monoは6.12.0.177、msbuildは16.10.1になった。上記のwarnは出なくなった。しかしDefinitionは依然出てこない。

UnityでVSCodeを使用中、関数ジャンプや参照ができない!の解決方法 - Qiita

もう一回これもやってみたがうまくいかず。

あとは

omniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService no document found - Google 検索

Mac + VSCode + .NET 5 SDK + C#拡張 で omnisharp がうまく動かない時のたったひとつのcoolな答え

この辺が気になるが続きはまた今度にしよう