Cross Technology

Unity、VR、MR、ARを中心とした技術ブログ

【2016/7/24更新】MacのVisual Studio CodeとUnityの連携手順とエラー対処方法

=================================

2016/7/24 追記

2016/4/16の本記事の方法をVisual Studio Code v1.3.1で試したところ、インテリセンスが効かなくなっていました。

v1.3.1で使うための方法を改めて調べてまとめ直したので、下記の2016/7/24の記事も参照ください。

MacのVisual Studio CodeとUnityの連携方法(2):コード補完(Extention更新) - Cross Technology

ちなみに、当時の環境をMacのTimeMachineで遡って調べたところ、Visual Studio Code v0.10.11でした。
ただ、ざっと見る限り、v0.10.11のインストーラを見つけられなかったので、下記の方法は今後使えない可能性があります。
=================================
(以下、4/16の内容です)

1. はじめに

私は普段、開発にMacを使っているので、Unityで開発する場合、Mono Developをエディタとしてコードを書いています。しかし、最近、私の環境でMono Developの自動補完が効かなくなってしまいました。補完とは、例えば、Inputとか入力すれば、GetKeyとかGetMouseButtonとかが候補に出てくるやつです。

Webで調べてると、Visual Studio Codeをエディタとして使うことで、コード補完もできる例が紹介されていました。

Visual Studio Codeとは、Windows、Mac、Linuxで動く軽量なエディタです。ここからダウンロードできます。

たとえば、下記はとてもわかりやすく書いてあります。

UnityでVisual Studio Codeを使う

しかし、Unityのバージョン違いの影響か、私の環境(Unity5.2.4)ではSync MonoDevelop Project という機能がありませんでした。そこで、Sync MonoDevelop Projectがない場合の連携方法を書いておきます。

2. Unity側で、Visual Studio Codeを使うように設定を変更する

Unity -> Preference を開きます。

UnityのPreference画面

External Script Editor でBrowseを選択し、Macのアプリケーションフォルダから、Visual Studio Code.appを選択します。一度選択すると、上記画像のように、Codeという項目が追加されチェックが付きます。

3. Visual Studio Code側でUnityプロジェクトのトップディレクトリを指定して開く

Visual Studio Codeを開きます。

Visual Studio Codeの「フォルダを開く」画面

このような画面が出たら、「フォルダを開く」を選択します。もしこのような画面がでない場合、画像左上のドキュメントアイコンを一度クリックすると出てきます。

フォルダを開いたら、slnが含まれているUnityプロジェクトのトップディレクトリを選択します。これで、コード補完ができるようになります。

コード補完ができた例

4. エラーが出た時の対処方法

たとえば、元々入っているMonoのバージョンが古いとこのようなエラーがでます。

Monoのバージョンが古いことで出るエラー

エラーメッセージに書かれているURLは下記です。

Visual Studio Code workarounds for errors you might hit in the product.

これによると、

$ brew install mono

を実行すればよいようです。brewコマンドがインストールされていない場合、このようなエラーがでます。

$ brew install mono
/usr/local/bin/brew: line 28: /usr/local/Library/brew.rb: No such file or directory
/usr/local/bin/brew: line 28: exec: /usr/local/Library/brew.rb: cannot execute: No such file or directory

こういうときは、brewコマンドをインストールします。下記を実行するとインストールできます。
(途中、管理者パスワードの入力を求められます)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

5. 終わりに

補完が効くし、MonoDevelopより動作が軽いのでUnityとCode連携はよいと思います。ただ、私の環境だけかもしれませんが、UnityのProjectViewからC#スクリプトをダブルクリックすると、Visual StudioCodeがplain textとして開いてしまい、コード補完ができません。

コード補完をするには、Codeの「フォルダを開く」で、slnが入っている場所を開く必要があります。