読者です 読者をやめる 読者になる 読者になる

MacのVisual Studio CodeとUnityを連携させる方法(4)

Unity Visual Studio

Mac上のUnityでVisual Studio Codeを使う方法について、これまで何度か紹介してきました。

magicbullet.hatenablog.jp

magicbullet.hatenablog.jp

magicbullet.hatenablog.jp

これまでの方法では、Unityでプロジェクトを作るたびにPluginsフォルダを生成し、VSCode.csを入れる必要がありました。

しかし、Unity5.5から、Visual Studio Codeとの連携が標準になったようです。

blogs.unity3d.com

f:id:Takyu:20170225233705p:plain

そこで、試してみたところ、連携まではすぐにできました。しかし、コード補完が効いてくれなかったので、少し手間取りました。

そこで、対処方法を含めて、コード補完をさせるまでの手順を整理しました。


(補足)
今回、設定が必要だったのは、私が最近Macを買い換えたことで色々なツールが入っていない状態だったためです。
ある程度ツールが入っている方であれば、今回の対処方法が不要な場合もあると思います。

試した環境

Mac 10.12.3
・Unity5.5.1 f1
Visual Studio Code 1.9

手順

Unity PreferenceのExternal Toolsを選択し、Visual Studio Code.appを指定します。

f:id:Takyu:20170225234412p:plain

原則、手順はこれだけです。

適当なUnityプロジェクト、C#スクリプトを作り、何か入力してみます。

すると、下記のInut.GetKeyDownのように、Unity特有のAPIが候補として表示されます。

f:id:Takyu:20170226002912j:plain


もし環境が整っていない場合、このようにUnity特有のAPIが候補に出てきません。

f:id:Takyu:20170226003045p:plain
(例えば、Inputが出てこない)


このような場合、以下のエラー対応方法を参照ください。

エラー対応方法

(1)C#のコードに色がつかない

こうなっている場合です。

f:id:Takyu:20170226095511p:plain

C#のextentionが入っていないためです。

Visual Studio Codeを開き、cmd + pを同時に押してから、

ext install sharp

と入力し、C#アイコンをクリックし、C#の機能をインストールします。

f:id:Takyu:20170226002706p:plain

これでC#の記述に色がつきます。

f:id:Takyu:20170226095539p:plain

(2)The .NET CLI Tools cannot be located が出る

f:id:Takyu:20170225234851p:plain

以下のページの手順に沿って、.NET Core SDKをインストールします。

準備

Xcodeがインストールされていない場合、下記よりMac App Storeを開いてインストールします。
(次のbrewコマンド使用に必要のため)

Xcode

Xcode

  • Apple
  • 開発ツール
  • 無料


次に、ターミナルを開き、brewと入力します。

brew : command not found 

と出たら、下記をターミナルにコピペすることで、brewをインストールできます。
(brewのバージョンが表示された場合は、下記のインストール作業は不要です)

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

Xcodeを一度も開いていない場合、インストールに失敗し、Xcodeのライセンスに同意するように通知されます。

f:id:Takyu:20170226000130j:plain

この場合、

sudo xcodebuild -license

を実行し、指示に従って進めます。

f:id:Takyu:20170226000559j:plain

f:id:Takyu:20170226000816j:plain

これでbrewがインストールできました。


brewがインストールできていたら、次は下記を入力して、opensslをインストールします。

$ brew update
$ brew install openssl
$ mkdir -p /usr/local/lib
$ ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
$ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/


ここまでの手順により、.NET CLI Toolsをインストールする準備ができました。

このHPから、Download .NET Core SDKを取得し、インストールします。

.NET - Powerful Open Source Development

f:id:Takyu:20170226001222j:plain

f:id:Takyu:20170226001547j:plain

f:id:Takyu:20170226001630j:plain


これで、冒頭のエラーは消えます。

(3) The reference assemblies for framework ".NETFramework,Version=v3.5" were not found.が出る


Unity上のC#スクリプトVisual Studio Codeで開いたが、何かエラーが出ている気がする、、という時は、出力ウインドウを見ると手がかりが得られることがあります。

出力ウインドウは、表示 -> 出力と指定することで、下部に表示されます。

f:id:Takyu:20170226002107j:plain


私の場合、ここに100行くらいのinfo、warning、failログが表示されていました。

その中に、


[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
The reference assemblies for framework ".NETFramework,Version=v3.5" were not found.

というログがありました。

これはmonoが入っていないことが原因のため、ターミナルで

$ brew install mono

を入力して、monoをインストールします。


これは下記の記事を見ることで解決できました。ありがとうございます。
偶然ですが、ほぼ同じ環境でした。

kb.imakewebsites.ca


終わりに

UnityとVisual Studio Codeの連携方法は今まで何度か変わってきました。
今後も変わる可能性がありますが、Unityで標準対応になったことから、大きな変化はないと思われます。

あとは、デバッグ機能が動くことを確認してみたいと思います。

広告を非表示にする