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

naichi's lab

3日後の自分(他人)への書き置き

【Unity、Mac】いつのまにか正式リリースされてたVisual Studio Codeを使ってみる

f:id:naichilab:20160826014350p:plain

VSCode、1年以上に試したんですけどイマイチ使いづらくて結局MonoDevelopに戻ってました。

↓旧ブログの記事 naichilab.blogspot.jp

久々にサイト見に行ったらVer1.4とのことで、どの程度進化したのか再度試してみます。

インストール方法

下記公式サイトからダウンロード&解凍

code.visualstudio.com

アプリケーションフォルダに入れるだけ!

Unity側の設定

Unity -> Preferences -> External Tools -> External Script Editor に コピーしたVSCodeを選択。

f:id:naichilab:20160826014903p:plain

スクリプトを開く

Unity上でC#コードをダブルクリックすれば勝手に開きます。

そしたら拡張機能をインストールするといいよ。って。

f:id:naichilab:20160826015024p:plain

推奨機能を表示ぽちー

f:id:naichilab:20160826015112p:plain

2つ推奨機能が出てきた。とりあえずインストール。

f:id:naichilab:20160826015220p:plain

入ったっぽい。

Cmd+Qで終了し、再度スクリプトを開く。

f:id:naichilab:20160826015342p:plain

おお、ハイライトされた。けどなんかエラーしてますね。

これもGet .NET CLI tools押してみる、、、けどなんか不要な予感がするのでとりあえず無視

インテリセンス(コード補完)が効かない

ここからちょっと長い戦い。

Unityにエディタ拡張を入れる

github.com

上記リポジトリのClone or DownloadからZIP形式でダウンロード

解凍するとVSCode.csというファイルが見つかるのでこれをUnityに同フォルダ名で入れる。

f:id:naichilab:20160826022101p:plain

Projectビュー上でPlugins/Editorフォルダを作り、放り込めばOK

Unity -> Preference -> VSCode

Enable Integrationにチェックを入れる。

f:id:naichilab:20160826022229p:plain

Assets -> Open C# Project in Code

f:id:naichilab:20160826022901p:plain

それっぽくソリューションが開いたが、、、まだ効かない。

VSCodeに拡張機能を入れる

marketplace.visualstudio.com

これが必要っぽいので入れる。

VSCode上で、Cmd+p。出てきたウィンドウにext install omnisharpと入力し、エンター。

f:id:naichilab:20160826023116p:plain

Legacy C# Supportをインストール。

f:id:naichilab:20160826023149p:plain

またVSCodeを再起動して確認。

まだダメ・・・

ぐぐっていくと、どうも最初に入れたC#拡張機能が不要っぽい?

qiita.com

VSCodeのC#拡張機能を外す

サイドメニューから拡張機能を開き、C#をアンインストール

f:id:naichilab:20160826023756p:plain

VSCode再起動。

なんかエラーしてる。Mono古いからOmnisharp動かないよ!って。ぐぬぬ。

[ERROR] Error: Cannot start Omnisharp because Mono version >=4.0.1 is required. See http://go.microsoft.com/fwlink/?linkID=534832#_20001

Mono更新

Download | Mono

上記からダウンロード。

現時点での最新 4.4 SR1 (4.4.2.11)を入れてみる。

f:id:naichilab:20160826025521p:plain

やっと・・・

インテリセンス効いたーーーーーーー

f:id:naichilab:20160826025640p:plain

Input.touchesとか、Unity固有のメソッドもちゃんと補完されてる。

まとめ

軽いし日本語打ちやすいし素晴らしい。(MonoDevelopだと漢字変換おかしい)

今度Unityのデバッグできるか試してみよう。