UnityのC#エディタをVsCodeにして使う設定【Windows編】

unityのロゴ画像Unity
スポンサーリンク

2022-08-11 管理人追記

本記事内容は最新のUnityやVsCodeでは古くなって上手く行かないことが判明しました。
VsCode公式で紹介されている設定方法に1部加えたものを新たにまとめましたので、以下を参考にしてください。

参考

Visual Studio Code and Unity
Visual Studio Code can replace MonoDevelop as the editor for Unity
スポンサーリンク

UnityのエディタにVisual Studio Codeを使う理由

永らくUnityのエディタと言えばVisual Studio Community(以降、VSと略)を使ってきました。
VSは、無料で使えるソフトですが、起動や動作が重いです。加えてマイクロソフトアカウントが無いと1ヵ月間しか利用できません

VSは、単体でソフト開発もできる高機能な開発環境です。しかし、Unityのエディタとしてはスペックオーバーです。

Visual Studio Code(以降、VsCodeと略)は、VSと同じく無料で利用できるエディタ機能に特化したアプリです。
VsCodeは、アカウント操作も不要で動作も軽快なテキストエディタです。
デフォルトでは、VsCodeをUnityのエディタとして利用できませんが、機能拡張の追加Unity側の設定を少しすればVS同等で軽快な環境が手に入ります。

現時点(2022年5月)における、UnityのC#エディタとしては、VsCodeがベストだと思います。

以降、UnityのC#エディタとしてVsCodeを使うための設定を解説します。

UnityのC#エディタをVsCodeにして使う設定

VsCodeがまだインストールされていない方は以下公式サイトからインストーラをダウンロードしインストールを完了してください。(今すぐダウンロードボタンで大丈夫です)

Visual Studio Code – コード エディター | Microsoft Azure
ほぼすべての言語に対応し、任意の OS で動作する強力なコード エディター、Visual Studio Code を使用して、Azure で編集、デバッグ、デプロイを行います。

VsCode機能拡張を追加インストールする

VsCodeをインストールしたときにおすすめされる「Japanese Language Pack for Visual Studio Code」の機能拡張がすでにインストールされているものと仮定して進めます。

Japanese Language Pack for Visual Studio Codeは、メニューを日本語にするための機能拡張です。

追加インストールする機能拡張は、以下の4つです。

C#C#コードのハイライト表示やコード補完
C# XML Documentation Comments///でのコメント文を自動生成
Debugger for Unityデバッグ機能を提供
Unity Code SnippetsUnity関連のコード補完

VsCodeを起動したら、機能拡張ボタンをクリックします。

検索ボックスに順番に上記の機能拡張名をコピー&貼り付けして検索し、インストールしていきます。

「C#」機能拡張

「C# XML Documentation Comments」機能拡張

「Debugger for Unity」機能拡張

Debugger for Unityは非推奨になりました。
インストール自体は可能ですが、インストールするかはご自分で判断してください。

「Unity Code Snippets」機能拡張

Unity Code Snippetsで検索すると2つ出てきました???
どちらも試した所、Kleber Silvaさんの方がきちんとコード補完してくれましたのでこちらを選択してください。

機能拡張をインストール後、検索ボックスの文字を全て消して確認します。
4つともインストールされていれば完了です。

VsCodeの設定を変更する

コード補完を有効にするためにVsCodeの設定を変更します。

Ctrl + , (カンマ)でVsCodeの設定画面を開きます。
検索ボックスに「mono」と入力して表示される項目からOmnisharp: Use Global Monoという設定項目を探し出し、alwaysに変更します。

VsCodeの設定は以上です。

Unityの外部ツール設定を変更する

Unity側でVsCodeをエディタとして利用するための設定をします。

Unityで適当なプロジェクトを開きます。

Edit > Preferences… を選択します。

Preferencesウインドウが開きます。
External Toolsをクリックし、External Script Editor項目をVisula Studio Codeに変更します。

設定が終わったらPreferencesウインドウを閉じます。

コード補完の確認をしてみる

ここまでの設定でUnityのエディタとしてVsCodeを利用する環境が整いました。

最後に確認してみます。
一旦、VsCodeは終了しておきます。

適当なプロジェクトにC# Scriptを新規作成し、ダブルクリックします。

設定が問題なければVsCodeが起動しスクリプトが表示されます。

Unity独自のC#コードを入力してみます。
候補表示やコード補完がされたら成功です。

コメント

  1. Okei Tog より:

    お世話になります。
    「Unity講座」を読んで、Unityのプログラミングを勉強しています。
    こちらの講座のおかげで学習に役立っています。

    「UnityのC#エディタをVsCodeにして使う設定【Windows編】」の記事について質問させていただきます。

    「VsCodeの設定を変更する」の中で、”mono”と入力しても”Omnisharp: Use Global Mono”が表示されませんでした。
    (この部分を除いて設定いたしました。)

    「コード補完の確認をしてみる」のようにVsCodeを起動しました。
    起動時にVsCodeから下記のようなWarningが表示されました。
    “The .NET Core SDK cannot be located…..”
    そこで、.NET SDK をインストールし再起動し、再度同じようにVsCodeを起動しました。

    “OnCollisionEnter”は、補完されましたが、”transform”は補完されませんでした。

    “Omnisharp:Use Global Mono”が見つからない点と補完ができないケースについて、ご教示をお願いいたします。

    長文になり申し訳ございません。
    よろしくお願いいたします。

    p.s. 問い合わせフォームの「名前」は、メール表示名でよろしかったでしょうか。

    • dennou より:

      Okei Togさん、お早うございます。管理人です。

      VsCodeの設定項目に”Omnisharp: Use Global Mono”が見つからないという部分が一番気になります。
      Omnisharpは、機能拡張でいうと「C#」が対応しています。

      自分が対処するならまず「C#」機能拡張を一度アンインストールして再度インストール確認を試してみます。
      transformなどが補完されないという原因は、”Omnisharp: Use Global Mono”という項目が見つからないという事と関係があると思います。
      機能拡張は、名前で検索してもタイミングによっては同じ名称で複数表示される場合もあるので、一応マイクロソフトの以下の機能拡張が正しいものとなります。

      2020-05-31時点
      omnisharp

      わたしも補完が上手く行かない時がありました。
      その場合補完がうまくいかないプロジェクトは一旦あきらめて、新たにUnityでプロジェクトを新規作成してみる、という方法を試すとうまくいきました。(このあたりの兼ね合いがよくわたしも分かりません)

      それでもだめならVsCodeをまっさらな状態からやり直す方法も試してみる価値はあるかなと思います。

      参考(本ブログ内)
      Visual Studio Codeを完全にアンインストールする(Windows)

      > p.s. 問い合わせフォームの「名前」は、メール表示名でよろしかったでしょうか。

      ニックネーム、メール表示名、名無し…なんでもOKです。

  2. 匿名 より:

    こんばんは、Unityでプログラミングを始めようとしているものですが、私もOmnisharp: Use Global Mono”の設定項目が検索出来ませんでした。アンインストールなども試していますが上手く出来ません。

    ツールのバージョンなど教えて頂いてもいいでしょうか?

    それとは別にデバック機能などの使い方はどうすれば使えるのでしょうか?

    • dennou より:

      こんにちは。管理人です。
      わたしも新たに別のパソコンでVsCodeの機能拡張を入れて試してみましたら同じようにOmnisharp: Use Global Monoの設定項目が見つかりませんでした

      試しに.NET Coreをダウンロードしてインストール後、PC再起動 したら問題なくコード補完ができました。
      最新のVsCodeではOmnisharp: Use Global Monoの設定は必要なさそうです。

      試してみてはどうでしょうか?

      .NET Coreダウンロード先
      https://dotnet.microsoft.com/ja-jp/

      ダウンロードボタンをクリックして表示される「.NET SDK x64をダウンロードする」のリンクからダウンロードしてインストールしてみてください。

      デバック機能などの使い方についてはわたしも詳しくありません。
      以下サイトなどを参考になさってはどうでしょうか?

      【Visual Studio Code】Unity をデバッグできるようにする拡張機能「Debugger for Unity」

  3. kiryu より:

    こんにちは、
    unityの学習を始めようとしている者ですが、「Debugger for Unity」をインストールしようとした際に
    「この拡張機能は、メンテナンスされなくなったため、非推奨です。」と表示されます。
    インストールして問題ないでしょうか?

    • dennou より:

      こんにちは、kiryuさん。
      この記事を書いた当初「Debugger for Unity」は非推奨ではなかったと思いますが、現在は非推奨なんですね。
      インストール自体はできますが、セキュリティ上お使いのシステムに何かあっても責任は持ちませんよ、という意味の非推奨だと思います。
      インストールはご自分で判断してください。

      VsCodeをUnityで使う設定はUnityのバージョンにより変わってきているのでUnityを始めようとする方には環境構築が大変だと思います。

      VsCodeの公式サイトでは別の方法が示されています。(英語サイトですが…)
      https://code.visualstudio.com/docs/other/unity

      • kiryu より:

        kiryuです。素早い返信ありがとうございます。
        結局Visual Studio Communityを利用することにしました(マイクロソフトアカウントはあるので)。
        これからサイトを参考にさせていただくので、よろしくお願いします!

タイトルとURLをコピーしました