157
142

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio / Visual Studio CodeAdvent Calendar 2015

Day 6

VS Codeを使ったUnity開発

Last updated at Posted at 2015-12-02

はじめに

以前はXamarinでC#を書いてましたが、他の言語やプラットフォームで使用するエディタを変えたくなかったのと、UnityにPlug-inを追加することによってブレークポイントを利用可能ということでVSCodeに乗り換えました。
あと、MacでVisual Studioを使いたかったというミーハーな気持ちもあります。

環境

  • OSX 10.9.5
  • Unity 5.3.6
  • Visual Studio Code 1.4.0

VS Code Plug-inをUnityプロジェクトに追加

Assets/Plugins/Editor/VSCode.csへ追加する。

Unity側でVSCodeを設定する

  • Unity > Preferences > VSCode > Enable Integration をチェックする
  • Unity > Preferences > VSCode > Use Unity Debugger をチェックする
  • Install Unity Debuggerを押下してVSCodeにインストール

VSCodeでUnityプロジェクトを開く

Assets > Open C# Project in Codeを実行してVSCodeを使用する。
この手順を踏まないと、VSCodeからの静的コード解析やDebuggerが利用できません。

Unityの設定

Unity PreferencesからVSCodeを選択してEnable Integrationをチェックして選択する。

DEBUGの環境設定

画面左端に表示されているボタンの中で一番下(Debug)をクリックしてDebugモードにする。
歯車マークをクリックするとlaunch.jsonが開く。
launch.jsonを生成後にDebugモードで再生マークのStartをクリックするとDebug開始となります。
この状態でUnityを再生するとブレークポイントで処理を停止してくれます。
変数の監視も可能です。
メンバ変数の監視は、変数にthis.を含めないといけないので注意してください。
WATCHリスト含めてからでも、this.を含めることが出来るのでソースを書き換えなくても大丈夫です。

Debugger for Unity

  1. ⌘ + pの後に、 ext install unity-debugと入力
  2. 虫マークをクリックしてデバッグウィンドウを表示
  3. .vscode/Launch.jsonがあれば、あらかじめ削除しておく
  4. 歯車マークをクリックして、Unity Debuggerを選択
  5. Launch.json が生成される

Unity固有のコールバックも補完

snippets.jsダウンロード して、Visual Studio Code.app/Contents/Resources/app/plugins/vs.language.csharp.o/features/snippets.jsとする。

unity-snippets

インテリセンスの遅延

Unity側で再生をしていると、VSCode側でコード解析が重くなりコードアシストが実用に耐えません。
停止してからコードを書きましょう。

setting.json

Code>Preferences>User Settingsからsetting.jsonを開く。

フォントの変更

コーディングに適したオープンソースフォントMonoidを選択。
setting.jsonに追記。

{
    "editor.fontFamily": "Monoid"
}

Monoid

ハードタブを使わない

タブの代わりにスペースを用います。
setting.jsonに追記。

{
    "editor.insertSpaces": true
}

タブ・スペースを可視化

setting.jsonに追記。

{
    "editor.renderWhitespace": true
}

keybindings.json

Code>Preferences>Keyboard Shortcutsからkeybindings.jsonを開く。

コードリフォーマットのショートカット指定

keybindings.jsonに記述。直前までXamarinを使っていたので、そっちにあわせた。

{
    "key": "cmd+alt+l",
    "command": "editor.action.format"
}

宣言箇所へ移動のショートカット指定

keybindings.jsonに記述。
直前までXamarinを使っていたので、そっちにあわせた。

{
    "key": "cmd+d",
    "command": "editor.action.goToDeclaration",
    "when": "editorTextFocus"
}

Markdownのプレビュー切り替えショートカット指定

keybindings.jsonに記述。

{
    "key": "ctrl+v",
    "command": "workbench.action.markdown.togglePreview"
}

.gitignoreに追加

チーム開発を行なっていて、VSCodeを使っているのは僕ひとりなので、コミットしないようにする。

{プロジェクト名}/Assets/Plugins/Editor/VSCode.cs
{プロジェクト名}/Assets/Plugins/Editor/VSCode.meta
{プロジェクト名}/.vscode

拡張ツール(Extension)

ClassyNaming

コード補完を更に柔軟に行う。
入力した文字列のパターンから予測できるコードを補完するようになる。

  1. ⌘+p
  2. ext install Classy Namingを実行

reflectiondm.ClassyNaming

wakatime

プロジェクトのファイル単位で作業した時間を自動計測してくれる。
ただし、wakatimeでアカウント登録が必要になる。
VSCodeに対応したプラグインがあり、GitHub上で公開されている。

  1. ⌘+p
  2. ext install WakaTimeを実行

VSCode Plug-in Help

markdownlint

Markdownの構文チェックツール。
linterで構文チェックを随時行なっていれば、逐一プレビューを見なくてもキレイなMarkdownが書けると考えました。

  1. ⌘+p
  • ext install markdownlintを実行

DavidAnson.vscode-markdownlint

MDTools

テキスト操作ツール

コードブロック内でアスキーアートを作ったり、キャメル記法やパスカル記法に文字列操作が出来る。

  1. ⌘+p
  2. ext install mdtoolsを実行
  3. 操作対象の文字列を選択
  4. Alt + t実行

seanmcbreen.MDTools

テーマカラー

基本的にMonokaiを好むので、その派生テーマカラーをインストールした。

  1. ⌘+p
  2. ext install Flatland Monokai Themeを実行

vscodeThemes
Markdown Theme Kit

GitHistory

  1. ⌘+p
  2. ext install githistoryを実行

Git History

Preview

  1. ⌘+p
  2. ext install preview-vscode

Markdownのプレビューを表示

Preview

Bookmarks

エディタ上にマークしたラインへジャンプする

  1. ⌘+p
  2. ext install Bookmarks

Bookmarks

関連リンク

Googleで、"visual studio code" VSCode "VS Code" 便利で検索するといろいろ使い方がわかる。

157
142
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
157
142

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?