Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
92
Help us understand the problem. What is going on with this article?
@riekure

UnityでVisual Studio Codeを使用できるようにするまでの手順

動作確認環境

  • Windows 10
  • Unity 2018.3.1f1 Personal

Visual Studio Codeとは

  • 通称「VSCode」。
  • Microsoft社が開発したオープンソースのテキストエディタ。
  • 軽量で高速、低消費電力。
  • デバッグ機能付き。
  • Gitをサポート。
  • IntelliSenseをサポート。

VSCodeをインストールする

Visual Studio CodeをOSのバージョンに合わせてインストールします。
Download Visual Studio Code - Mac, Linux, Windows
今回は、事前にインストールしていたので省略します。

スクリプトを開くエディタをVSCodeに変更する

「Edit」→「preferences」→「External Tools」→「External Script Editor」を変更すると、使用したいエディタが起動するようになります。
(変更前のdevenv.exe(Community)は、Visual Studio 2019 Communityです。)
preferences.png
preferences2.png
今回は、VSCodeに変更します。
これで、Unityでスクリプトを選択すると、VSCodeが起動するようになります。

VSCodeでC#を書けるようにする

VSCodeで起動するようになりましたが、入力補完も何もありません。
このままだと開発効率が悪いです。

C#の拡張機能を導入

C#の拡張機能を導入します。

vscode_extensionC#.png

.NET CLI toolsをインストール

vscode_extensionC#2.png

The .NET CLI tools cannot be located. .NET Core debugging will not be enabled. Make sure .NET CLI tools are installed and are on the path.

というエラーが出ました。
「Get .NET CLI tools」ボタンを押して、.NET CLI toolsをインストールします。
インストールしても、エラーが消えなかったので、PCを再起動しました。
そしたらパスが通ったようでエラーが出なくなりました。

.NETFramework,Version=v4.5をインストール

vscode_extensionC#3.png

フレームワーク ".NETFramework,Version=v4.5" の参照アセンブリが見つかりませんでした。これを解決するには、このフレームワーク バージョンの SDK または Targeting Pack をインストールするか、SDK または Targeting Pack をインストールしているフレームワークのバージョンにアプリケーションを再ターゲットしてください。アセンブリはグローバル アセンブリ キャッシュ (GAC) から解決され、参照アセンブリの代わりに使用されるため、アセンブリが目的のフレームワークに正しくターゲットされない場合もあります。

が出力されるようになりました。
これは、 Visual Studioでの作業が必要です。

「ツール」 →「ツールと機能を取得」をクリックします。
ツールと機能を取得.png
「.NET Framework 4.5 Targeting Pack」を選択して、インストールしてください。
net_framework4.5.png
これでやっと、入力補完ができたり、参照の検索ができるようになりました。

VSCodeでデバッグできるようにする

デバッグできないと、これまた開発効率が悪いので、VSCodeでデバッグできるようにします。

Debugger for Unityの拡張機能を導入

debuggerForUnity.png
Debugger for Unityの拡張機能を導入します。
C#の拡張機能と同じ方法でインストールします。

デバッグする方法

ブレイクポイントを設定します。
止めたい行をダブルクリックすれば、設定できます。
debug.png
プレイクポイントを設定したら、▶ボタンを押します。
最後にUnity側でゲームの再生ボタンを押して、ブレイクポイントで止まればOKです。
debug2.png

Unity 関連のスニペットを使えるようにする

Unity 関連の補完を強くします。
MonoBehaviour Snippets という拡張ツールをインストールします。
image.png

https://marketplace.visualstudio.com/items?itemName=zrachod.mono-snippets
の gif が非常に分かりやすいです。

MonoBehavior の関数だけでなく、MonoBehavior を継承したクラスの作成や、Editor の拡張クラス、Debug.Log なども一瞬で書くことができます。
参考文献:【Visual Studio Code】Unity 関連のスニペットを使えるようにする「Unity Code Snippets」

クラスやメソッドなどのコメントを書きやすくする

C# XML Documentation Comments をインストールしてください。
image.png
クラスやメソッドの1行上で、 スラッシュ3つ(///)と入力すると、 XML 形式のコメントを挿入することができます。

クラスの場合は、

/// <summary>
/// 
/// </summary>

メソッドの場合は、引数や戻り値に合わせて自動的に、

    /// <summary>
    /// 
    /// </summary>
    /// <param name="x"></param>
    /// <param name="y"></param>
    /// <returns></returns>

のようなコメントを自動生成することができます。

終わりに

Visual Studioに比べて、VSCodeの入力補完が弱い気がしました。
自分の設定次第かもしれないので、もう少しVSCodeで頑張ってみようと思います。

MonoBehaviour Snippets のおかげで、少しマシになりました。
EditorConfig for VS Code は、dot-net 系をサポートしていないので省略しています。

他に良い拡張機能があったら教えて下さい。

参考文献

Visual Studio Codeで「フレームワーク .NETFramework,Version=v4.5 の参照アセンブリが見つかりませんでした。」と表示される時の対処方法 - ニワトリ再生産
【Unity】Unity 2018.2で「C# プロジェクト Assembly-Csharpは、このコンピューターにインストールされていない」が出たので、その対処 - テラシュールブログ
【Visual Studio Code】Unity 関連のスニペットを使えるようにする「Unity Code Snippets」

92
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
riekure
2021年から週一ぐらいで投稿する(のが理想)。投稿内容は Unity(C#) / Python / Ruby / Java / AWS など。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
92
Help us understand the problem. What is going on with this article?