【macOS:M1 対応】Unity で VS Code を使うための設定方法まとめ【補完・修正候補・自動フォーマット】

どーも、ぐるたか@guru_takaです。

備忘録として、macOS(M1 対応)における Unity × VS Code の設定方法をまとめました!VS Code で、コード補完(インテリセンス)はもちろん、修正候補やファイル保存→自動フォーマットもできるようになります。

参考になれば幸いです!

MEMO
設定方法は VS Code 公式の方法をベースにしています!
参考 Visual Studio Code and UnityVS Code 公式

開発環境

  • Unity:2020.3.2f1
  • VS Code:1.55.2

設定の流れ

STEP.1
Unity の標準エディタを VS Code に設定
STEP.2
.NET CLI tools と MONO のインストール
STEP.3
Unity 開発で必要な VS Code の拡張機能をインストール
STEP.4
VS Code におけるコード補完の設定
STEP.5
ファイル保存時に、自動フォーマットする設定

STEP.1:Unity の標準エディタを VS Code に設定

まず Unity の標準エディタを VS Code に指定します。Preferences > External Tools > External Script Editor で、Visual Studio Code を選択しましょう。

すると、cs ファイルを編集する時、自動で VS Code が立ち上がります!

STEP.2:.NET CLI tools のインストール

このまま VS Code を開くと、VS Code の右下からポップアップで下図のようなエラーが出力される恐れがあります

.net cli tools エラー出ている画像
出典:UnityでVisual Studio Codeを使用できるようにするまでの手順 – Qiita

.NET CLI tools をインストールしていない方は、Download .NET (Linux, macOS, and Windows)から、ダウンロードしてください!

Unity × VS Code のために .Net をダウンロード

ターミナルで以下コマンドを実行したとき、パスが表示されればダウンロード成功です。

zsh
> which dotnet
/usr/local/share/dotnet/dotnet
注意
.NET CLI tools をインストールした後も、引き続き同じエラーが表示される場合は、PC を再起動すると、エラーが表示されなくなります。

しかし、まだ違う以下のようなエラーが出力されます。

Some projects have trouble loading. Please review the output for more details

上記のエラーは macOS 特有のエラーです。「MONO」を公式サイトからインストールすると、解決します!

Unity × VS Code のために MONO をダウンロード

ターミナルで以下コマンドを実行したとき、パスが表示されればダウンロード成功です!

zsh
❯ which mono
/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono
❯ which mcs

/Library/Frameworks/Mono.framework/Versions/Current/Commands/mcs
注意
元々は Homebrew 経由でインストールする予定でしたが、私は以下のエラーが出力されました。

zsh
❯ brew install mono
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 2 formulae.

Error: mono: no bottle available!
You can try to install from source with:
  brew install --build-from-source mono
Please note building from source is unsupported. You will encounter build
failures with some formulae. If you experience any issues please create pull
requests instead of asking for help on Homebrew's GitHub, Twitter or any other
official channels.

building from source も公式がサポートされていないことから、公式サイト経由で MONO をインストールしています。

STEP.3:Unity 開発で必要な VS Code の拡張機能をインストール

最低限、「C#」の拡張機能だけインストールすれば、基本的に問題ありません!

Unity × VS Code C# 拡張機能をインストール

Unity の開発で便利な拡張機能

VS Code の公式が紹介している 4 つの便利な拡張機能があります。ぜひお好みでインストールしてみてください!

  • Debugger for Unity
  • Unity Tools
  • Unity Code Snippets
  • Unity Snippets

参考 Visual Studio Code and UnityVS Code 公式

STEP.4:VS Code におけるコード補完の設定

次は VS Code にて、C# の設定にある Omnisharpw: Use Global Monoalaways にします。この設定をしないと、コード補完がされません

設定方法は下図の通りです。

Unity × VS Code コード補完の設定

以下のようにコードの補完が出るようになれば成功です!

MEMO
コード補完だけでなく、修正候補も使いこなすと、開発がめちゃくちゃ捗るのでオススメです!

修正候補を表示させたい場合は、以下 GIF のように、右にある電球アイコンをクリックしましょう。

Unity × VS Code 修正候補 表示する方法

STEP.5:ファイル保存時に、自動フォーマットする設定

ファイル保存と同時に、自動でコードをフォーマットしたい場合は、下図のように FormatOnSaveON に設定しましょう。

Unity × VS Code ファイル保存→自動フォーマットする設定

以下のように、ファイル保存時に自動フォーマットされるようになれば成功です!

Unity × VS Code ファイル保存→自動フォーマットする GIF

MEMO
私は普段 Web 系の開発をしているため、Prettier という拡張機能でコードフォーマットをしています。しかし、Prettier では、C# のファイルをフォーマットできませんでした。

そのため、C# のみデフォルトのフォーマットを使うように、設定ファイルを記述しました。

VS Code の設定ファイル
  "[csharp]": {
    "editor.defaultFormatter": "ms-dotnettools.csharp"
  },
参考 unity3d - Prettier not formatting Unity C# Code - Cannot format Movement.csStack Overflow

最後に

以上で Unity × VS Code の設定は完了になります。最低限の開発環境が整ったのではないでしょうか。

後はお好みで VS Code の拡張機能を追加し、より快適な開発環境に仕上げてみてください!

参考リンク

参考 UnityでVSCodeを使うための最低限必要な設定Qiita 参考 Visual Studio Code and UnityVS Code 公式

コメントを残す