2023年5月7日日曜日

Mac Mini M2のUnity+VSCodeでまた「一致するワークスペースシンボルがありません」で悩む

 

Unity のスクリプト・エディタとして Visual Studio Code を設定する。
Settings...  - External Tools - External Script Editor :  Visual Studio Code

Comand + T で関数一覧を表示できるのが便利だが、以前より時々
「一致するワークスペースシンボルがありません」
表示されないことがあるので悩んでいた。

肝心なことを先に書いておくと、Visual Studio Codeのログに大量に出力されているエラーに惑わされてはいけない。これらのエラーがあってもワークスペースシンボルは表示される。

さて、Mac Mini M2 でも「一致するワークスペースシンボルがありません」だった。

  • 拡張機能の C# もインストールしてある。
  • .Net Core SDK もインストールしてある。


Unity側で .csproj ファイルを作成する機能をみつけ(以前からあった???)

  • 「Regenerate project files」を実行。

これで、開いている .cs ファイルに改行でも追加すれば、ワークスペースシンボルのリストが表示されるようになる。


しかし、これを忘れてしまっていて「OmniSharp Log」の大量エラーをみて

[fail]: OmniSharp.MSBuild.ProjectLoader
        This project targets .NET version that requires reference assemblies 
        that are not installed (e.g. .NET Framework). 
        The most common solution is to make sure Mono is fully updated 
        on your machine (https://mono-project.com/download/) 
        and that you are running the .NET Framework build of OmniSharp 
        (e.g. 'omnisharp.useModernNet': false in C# Extension for VS Code).
 

mono やらバージョンが違う .Net Core SDK などをインストールしてしまったので、UnInstall した。


mono Uninstall

ターミナルで実行
  sudo /bin/sh -x
rm -r /Library/Frameworks/Mono.framework
rm -r /Library/Receipts/MonoFramework-*
for dir in /usr/bin /usr/share/man/man1 /usr/share/man/man4 /usr/share/man/man5; do
(cd ${dir};
for i in `ls -al | grep /Library/Frameworks/Mono.framework/ | awk '{print $9}'`; do
rm ${i}
done);
done
 
「このMacについて」-「詳細情報」-「システムレポート」の「フレームワーク」から Mono が消えればOK。

参考: Uninstalling Mono Framework.
https://discussions.apple.com/thread/3848498


.Net Core SDK Uninstall

version="7.0.102"をインストールしてあるので、古いものを削除した
version="6.0.405"
sudo rm -rf /usr/local/share/dotnet/sdk/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.All/$version
sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.AspNetCore.App/$version
sudo rm -rf /usr/local/share/dotnet/host/fxr/$version


参考 : .NET ランタイムと SDK を削除する方法
https://learn.microsoft.com/ja-jp/dotnet/core/install/remove-runtime-sdk-versions?pivots=os-macos



その他メモ

Unity - WebGL

いきなり WebGLでビルドしたものがFirefoxで動かなくなった。
Safari や Chrome では問題なく動作した。

firefox のコンソールログに
https://bugzilla.mozilla.org/show_bug.cgi?id=1397977
をみつけた。
結論として Firefox をリフレッシュする - アドオンや設定のリセット で治った。https://support.mozilla.org/ja/kb/refresh-firefox-reset-add-ons-and-settings


Sketchup

シリコン版 Mac の制限事項にぶつかった。Unityで Sketchupのデータがうまく読み込めなかった。 intel Mac版のUnityを使えばいいのだろうが、どのくらい処理速度が違うのか。

Apache

PHPはなくなっている
Setting up a local web server on macOS 13 “Ventura” 

brew
ついでに brew をインストールした
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
....
- Run these three commands in your terminal to add Homebrew to your PATH:
% echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/kwin786/.zprofile
% echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/kwin786/.zprofile
% eval "$(/opt/homebrew/bin/brew shellenv)"
手動でPATHを追加してやるのを忘れないこと

Unityでドアの開閉はAnimatorそれともiTween?

Mac Mini M2 の Unity で Sketchup のデータを復元したつづき。 以前、苦労して作成したドアの開閉が動作しないので修復する。 どうやって動かしていたのか、また忘れそうなので記録しておく。             Animator 左右のドア PlaneL,...