見出し画像

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で勝手にインストールされている感じ)

他にもいろいろやった感じですが...たぶんこれで動くかと!(デバッグ支援機能は特に導入せず)

スクリーンショット 2021-01-05 15.29.12

コード入力補完ええ感じに働きます。

スクリーンショット 2021-01-05 15.29.45

バルーンヘルプが働くのもありがたく...!

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

うん。スッキリ!

ではまた次回!

この記事が気に入ったらサポートをしてみませんか?