UnityのコーディングにVisual Studio for Macを導入して一週間が過ぎた
誰か俺にVSforMacを入れる勇気を
— ザツヨウペンギン (@YutaDevelop) 2017年2月23日
入れました、導入した後にやった設定と感想をつらつらと書きます
とりあえずPreview版とはいえ、まあなかなかでした
導入・インストール
New Release Preview: Visual Studio for Mac | Visual Studio
ここからインストールしてください
導入・Unity側の設定
Preferences を開いて
External Tools からExternal Script Editor でインストールした Visual Studio for Macを指定してあげる。
これでスクリプトファイルを開くと動くぞ!
とはいかない、このままだとインテリセンス(補完)が効かない
導入・VSforMac側の設定
※機密プロジェクトがあるので名前がバレないように「あ」を入力してます
Open から、Unityのプロジェクトディレクトリの中にある.sinファイルを選択して、ソリューションを開こう
.sinファイルがない時は、Unityでスクリプトを選択して開けば多分自動生成されるはず
これでインテリセンスが効くようになる
ただこのままだと死ぬほど使いづらいので色々カスタムする
カスタマイズ・エディタカラー
まずはエディタのカラーを変える、白背景とか、謎の文字色とかゴメンだし
Visual Studio から ユーザー設定を開く
余談だけど日本語のメニューなのいいよね。
インターフェースを エンジニア大好き Dark にした
テキストエディターからColor Themeを選択、選択すればエディタが変更されるので好きな色を選ぼう
現状Theme編集機能はないらしい
自分でカスタマイズしたテーマがあるときは、MonoDevelopなどからエクスポートして持ってこよう
自分はOblivion派なので、今回は割愛
カスタマイズ・ポリシー
ソリューションごと、あるいはグローバルでコードフォーマットなどを定義できる
ここから新しくポリシーを作る
基本的にはコードの書式設定から、C#の設定項目を変更していく
自分の好きなようにやろう
ソリューションごとにポリシーを適用できるので、プロジェクトを複数抱えてても安心
ポリシーにAttribute改行の設定項目がない件について
VSforMac
— ザツヨウペンギン (@YutaDevelop) 2017年2月23日
アトリビュートの自動改行マジで何とかしろよ…_:(´ཀ`」 ∠):
こいつさえなければ…
あとアトリビュートの中身にインテリセンス効かない
— ザツヨウペンギン (@YutaDevelop) 2017年2月23日
KUSO
Unity使ってると頻繁に出てくるSerializeField変数を一行で宣言したい時、アトリビュートで勝手に改行されるのでその度にCmd+Zを押すことになる
その上アトリビュートで囲むと補完されないので一回一回手打ちになる
カスタマイズ・コードテンプレート
とりあえず上記の問題を解決するためによく使うアトリビュートをテンプレート化した
追加する時はユーザー設定からCode Snippetsを選択して、追加をする
また、$class$などの記述を行うことでフリー入力を作ることもできるので活用する
今回、アトリビュートでよく使うSerializeFieldを登録した
ただ、テンプレートに
[SerializeField] $class$ $field$
みたいな感じで記述すると勝手に改行されたのでやらないことにした
わけわからんので製品版で早く設定追加してほしい
ただ海外フォーラム見てると超昔から言われてるのに開発者がResharperを使ってるからいつまでも追加されないとかなんとか
カスタマイズ・パフォーマンス
とりあえずで上記の設定を終え、使ってみると
インテリセンス遅すぎワロタ状態
だった
とにかくクッソ重い、ちなみに使用してるmacは2015年モデルのフルカスタマイズなのでスペックが低いわけじゃないと思う
なので、パフォーマンス改善をする
まずは何はともあれテキストエディタからアニメーションを無効に
強調表示とかも消す
他にも視覚効果をOFFっていく
効果があるかはわからないものの、コードの動的コンパイルが走るので解析も毎回走るんじゃないかと思い解析も切った
だいぶ早くなった
カスタマイズ・キーバインド
人それぞれすぎるので割愛、設定しとくと楽やで(提案)
最後
頻繁に落ちる上に操作不能になるMonoDevelopよりは使いやすい
VisualStudioCode、Atom、VimとかのエディタよりIDE派なので今後に期待したい・・・特にアトリビュートとパフォーマンス
メモリ2GB食われるのでメモリの残量には気をつけよう
もうしばらく使ってみる