UnityとVSCodeを連携させる for Mac


普段から使い慣れているVSCodeを簡単にUnity連携してデバッグできたので手順をメモ。

前提

  • Mac に Unity, VSCode, Homebrew がインストール済みであること。

バージョン

  • MacOSX(10.11.6 El Capitan)
  • Unity(2017.1.0f3 Personal)
  • VSCode(1.15.1)
  • Homebrew(1.2.1)

1. 各ツールのダウンロードとインストール

  • .NET Core
    • .Net Framework のサブセット(一部)でクロスプラットフォームに対応している
    • 要は .NF の機能の一部を Linux や Mac でも使えるようにしたもの(といった認識であってる?)
    • リンク先にインストール方法が書いてあるので参照のこと
  • VSCode.cs
    • VSCodeをUnityのエディタとして使うための設定ファイル
    • GitHub の DownloadZip から落として解凍
    • Unityプロジェクトの /Assets/Plugins/Editor/VSCode.cs として配置

※ 2017/12/20 追記
Unity5.6.3では

Unityプロジェクトの /Assets/Plugins/Editor/VSCode.cs として配置

ではエラーとなるので

プロジェクトの /Editor/VSCode.cs

に配置する。(@aketa さんご指摘ありがとうございます)

2. Homebrewから必要なツールをインストール

mono

$ brew install mono

openssl

$ brew install openssl

上記コマンドで /usr/local/opt/openssl にインストールされる。
ただし、このままだとデフォルトの /usr/bin/openssl が利用されてしまうので、
.bash_profile に新しい方のインストールパスを追記する。

$ vim ~/.bash_profile
.bash_profile
export PATH=/usr/local/opt/openssl/bin:$PATH

3. VSCodeに必要なプラグインをインストール

Command + p でコマンドパレットを表示

入力フォームに ext install に続けてインストールしたいプラグイン名を入力して Return する。

C# for Visual Studio Code

ext install C#

Debugger for Unity

ext install Debugger for Unity

Mono Debug

ext install Mono Debug

イストールが完了する Extensions のインストール済みの項目に表示される。

4. Unity を起動し連携設定

1 . Unity > Preferences > External Tools を開く
2 . External Script Editor 項目のプルダウンから Other を選択
3 . Visual Studio Code.app を選択(プルダウンが code に変わる)

4 . Unity > Preferences > VSCode を開く(基本デフォルトでOK)

5. VSCodeを起動しIntelliSense を有効にする

IntelliSence - Wikipedia

インテリセンス (IntelliSense) は、Microsoft Visual Studio の統合開発環境で使用されている、マイクロソフトによる自動補完システム。

1 . Unity 側の Assets > Open C# Project In Code でVSCodeを起動

2 . プロジェクト直下に .sln ファイルがあるか確認

3 . 適当に .cs ファイルを開く
4 . VSCodeのステータスバー(画面下のやつ)の右端が プジェクト名.sln になっているか確認
(なっていなかったらクリックして変更)

IntelliSenseが有効になると補完や関数ジャンプなどの機能の他、
n references といった感じでそのメソッドや変数が他からどのくらい参照されているかがわかるようになる。

6. ステップ実行

  1. ブレイクポイントを適当に貼って VSCode 側をデバッグモードに切り替える。(Shift + Command + d
  2. 画面上部の Start Debugging ボタン(デバッグペインの緑三角)をクリックすると DEBUG CONSOLE にアタッチメント情報が出力され待機状態になる。
  3. Unity 側で再生するとブレイクポイントで処理が停止する。

参考サイト