![見出し画像](https://assets.st-note.com/production/uploads/images/42438820/rectangle_large_type_2_390f5efc3717c48cb1eaefeb89313e07.png?width=1200)
macOSでUnity開発するならVisual Studio Code一択なのかも
コード書いとる?
macOSでUnityを使ったアプリ開発をするときは、スクリプトのエディタとして Visual Studio 2019 for Mac (以下Visual Studio) を使っていました。
それを Visual Studio Code (以下VSCode) に乗り換えてみたら、思った以上に快適だったのでそのメモ書き。ここはnote。
ことの発端
専門学校で非常勤講師をしている都合、学校の環境と併せた方がいいと思い、手元のmacOS環境でもUnity + Visual Studioでアレコレ進めていました。
...ところが... ところが...!!
最近... Visual Studioがかなり重い... Windows環境で快適なVisual Studioが...macOS環境だとめっぽう重い...
これなんとかならんか...と思い当たったのが VSCodeだったのでした。
Visual Studioでの問題点
- 動作が重い
- Vimキーバインドの機能が足りない
- Emacsでの日本語入力の都合上、macOSの日本語入力の設定を少し変更している。その状態だと「かな」キーで日本語入力への切り替えができない
- Visual StudioでググってもVSCodeの情報ばっか出てくる
Visual Studioでの利点
- C#を正式サポートしていて、IntelliSenseによる入力補完やデバッグ機能が便利に使える
手元のmacOS環境だと「かな」キーでの日本語入力モード切り替えができないのが痛い...
VSCodeに切り替える
以前使った経験があるのですが、そのときはC#のサポートが微妙だったりvimキーバインドの機能が微妙な印象でした。
私が間違ってました!先輩すいません!!
2年くらいの間にどえらい機能アップしとるがね...(名古屋弁)
C#のサポートもVimキーバインドのサポートもその他Visual Studioで「微妙...」と思っていたのが全部解決されとる!
そして何より...動作が軽い!
Markdown形式もリアルタイムにプレビューしながら編集できるとか...VSCodeを選ばない理由がもはや見当たらない...!!
VSCodeの利点
- 動作が軽い
- Vimキーバインドが充実(EmacsのVimキーバインドパッケージと同じかそれ以上)
- C#のサポートもなんら問題なく、コード入力補完が便利に使える
- ググると情報がいっぱい見つかる
- 手元のmacOS環境でも「かな」キーで問題なく日本語入力の切り替えができる
VSCodeの問題点
- 特に無し!
VSCodeとUnity Editorの連携
1. C#拡張機能をインストール
2. homebrewでmonoをインストール
3. もしC#のコード入力補完が効かない場合はVSCodeのsettings.jsonに
"omnisharp.useGlobalMono": "always"
を追加(workaroundっぽい?)
4. Unity Editorで外部エディタをVSCodeに切り替える(Unity 2019.4を使ってますが、Package Managerで勝手にインストールされている感じ)
他にもいろいろやった感じですが...たぶんこれで動くかと!(デバッグ支援機能は特に導入せず)
コード入力補完ええ感じに働きます。
バルーンヘルプが働くのもありがたく...!
VSCodeでの設定
VSCodeでは以下の拡張機能を便利に使っています
- Vim
自分的には一番効率よくプログラムを編集できるキーバインド
- vscode-emacs-tab
Tabキーを押したときにタブを入力するのでなく、再インデントとして働く
拙者のsettings.json は以下のような設定を追加しています
// macOSのテーマ(Light and Dark)に併せる
"window.autoDetectColorScheme": true
// 非アクティブ時に勝手にセーブ(VSCode→Unity Editorの時に勝手にスクリプトを更新してくれるようになる)
"files.autoSave": "onWindowChange"
// vim拡張機能内のクリップボード(?)とシステムクリップボードを共用する
"vim.useSystemClipboard": true
うん。スッキリ!
ではまた次回!