0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeで定義に移動できない

Posted at

はじめに

こんにちは、ユーゴです。今回は、VSCodeを使ってUnityのC#を編集しようとした時に遭遇した問題を紹介します。
VSCodeは、一度導入すると比較的楽なのですが、最初のセットアップでコケたり、稀に動作しなくなることがあります。今回は、稀に動作しなくなる方でした。

問題

定義に移動できない。
例えば、GameManagerクラスを作り、他クラスのスクリプトから定義へ移動を試みると、定義が存在しないと言われる。

原因

今回は、まさかのUnityのバージョンが悪かったようです。バージョンを変えると難なく動きましたが、戻すとまた定義へ移動できなくなりました。

解決

Unityのバージョンを変えると直ります。

変更前:2021.3.24f
変更後:2022.3.15f

調査

興味がある方は調査フェーズもご覧ください。

まず、C#のログを見ます。以下の画像に示す手順で確認できます。

vscode.png

今回の問題は、どうもslnファイルが読み込まれていない(?)ことが原因のようでした。
一生「/Users/{ユーザー名}/UnityWorks/tmp/tmp.sln を読み込んでいます...」で止まっていることがわかります。
(ちなみに、「tmp」が本記事のために作ったUnityプロジェクトの名前です。)

slnファイルが読み込まれない 2.png

あくまで予想ですが、slnファイルはVSCode側で使われるものの、生成はUnity側が行なっているのではないかな...?と思っています。そのため、Unityのバージョンによってはslnファイルが破損しており、VSCodeでslnファイルを読み込めず、定義へ移動できないようなバグが起きているのではないかと思います。

まとめ

いかがだったでしょうか。今回は、VSCodeの使い方に焦点を当てた紹介をしました。
このように、開発ツールの使い方から、GAS, AWS, 量子コンピューティングなど、様々な内容について紹介していきます。ぜひお役に立てましたら、いいね, フォローなどよろしくお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?