16
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[macOS] VSCodeで快適にUnity開発する設定(2022/02/19)

Last updated at Posted at 2022-02-18

VSCodeで快適にUnity開発するため、いまどき当たり前なコード補完・エラー表示・自動フォーマットの環境を整えたい。

ただ、検索して色々試したが、途中でつまづく手順が多かった。そのため、現時点でうまく行った作業手順をできるだけ漏らさずメモする(2022/02/19時点)。

基本的に以下のドキュメントに従って進め、うまくいかないところを補完する。

確認環境

  • MacBook Pro (16-inch 2019)
  • macOS Monterey 12.0.1
  • Unity 2019.4.33f1 Personal

1. 準備

以下をインストールする。

2. UnityとVSCodeを連携

Unityのツールバーから[Unity] - [Preferences] - [External Tools] を選択。[External Script Editor]でVisual Studio Codeを選択しておく。

そして、以下の設定をsettings.jsonに書き込むとコード補完・エラー表示が効くようになる。

    "omnisharp.useGlobalMono": "always",
    "omnisharp.monoPath": "/Library/Frameworks/Mono.framework/Versions/Current"

うまく機能しない場合は

  • VSCodeの再起動
  • OmniSharpのReStart(コマンドパレットで「omni」と入れると候補に出てくる)

をしてみるとよい。

3. Unityの警告を有効にする

ここまででC#に関してコード補完・エラー表示が出るようになっているが、Unityのエラーも表示されるようにしたい。

まず、Unityプロジェクトのルートにomnisharp.jsonファイルを作成し、以下の内容にして保存する。

{
  "RoslynExtensionsOptions": {
    "EnableAnalyzersSupport": true,
    "LocationPaths": ["./NuGet"]
  }
}

次に、同じ場所にNuGet/ディレクトリを作成する。
そして、下記サイトの右に表示されている「Download package」からパッケージをダウンロードする。

ダウンロードされたファイルを解凍する。

unzip microsoft.unity.analyzers.1.12.0.nupkg

そして、中からMicrosoft.Unity.Analyzers.dllというファイルを抽出する。確認した時点では、analyzers/dotnet/csにあった。このファイルをNuGet/ディレクトリの中へ配置する。

この状況でUnityのエラー表示が機能しているはずなので、テストしてみる。例えば以下のメソッドをプロジェクト内のクラスのどこかに作れば、「The Unity message 'FixedUpdate' is empty. [Assembly-CSharp]csharp(UNT0001)」というUnityの警告が表示される。

void FixedUpdate() {

}

うまく機能しない場合は、前述の通りVSCodeの再起動やOmniSharpのReStartでうまくいくことがある。

4. コードを保存時に自動フォーマットする

settings.jsonに以下の設定を書き込めば、コードの保存時に自動フォーマットしてくれる。

    "[csharp]": {
        "editor.formatOnSave": true
    }

以上

16
10
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
16
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?