Unity for Visual Studio Code

広告:超オススメUnity Asset
  広告:超オススメUnity Asset

VS CodeをUnityのC#コードエディタとして利用する手順

Visual Studio Code as the editor for Unity

インストール

  1. Unityのバージョンは最低でも2021。
  2. Visual Studio Code(VS Code)をインストール
  3. 前述のMicrosoft製「Unity for Visual Studio Code」をインストール。機能拡張のインストール法などは「Extension Marketplace」。

前述の通り、この機能拡張に必要な C#C# Dev Kitなど依存関係にある機能拡張も同時にインストールされる。

Unity側のセットアップ

Window > Package ManagerからPackagesのところを「Unity Registry」にして「Visual Studio Editor」が2.0.20 以降になっていることを確認。

01

※ この↑スクリーンショットは古いままになっている状態です。右下の「Update to 2.0.22」を押すとアップデートされます。

※ Visual Studio Code Editorというのもありますが、これは古いもののようです。

Unity側のパッケージ「Visual Studio Editor」が古いままになっていると、VS Codeでそのプロジェクトを開いたときに右下にこのようなアラートが出ます。

Unity パッケージ ‘Visual Studio Editor’ のバージョンが古すぎます。Unity のパッケージ マネージャーでバージョン 2.0.20 以降に更新してください。

05

Unityの外部エディタとしてVS Codeを設定

Unity > Settings で環境設定を開き、「External Tools」の「External Script Editor」で「Visual Studio Code」を選択。

02

これでもう外部エディタとしてVSコードの設定が行えたので、スクリプトファイルをダブルクリックしてみると、VS Codeが立ち上がります。

そのプロジェクトフォルダを信用するかといったダイアログが出るので、当然今まで信頼して作業してきたフォルダでしょうから「Yes, I trust」の方を選択。

03

その後、gitに許可するかどうかなど聞かれる場合もあるので、Macのログインパスワードを入力して許可。

「C#機能拡張を使用する」を選択して、ウィンドウを再読み込み。初回設定後、Unityから.csファイルをダブルクリックして起動した場合と、ファイルメニューからフォルダを開くでプロジェクトフォルダを開いた場合とで挙動が変わる?ようなので要注意。

追記:ここの其の壱も参考に。

VS Codeデバッガー

上記のUnity パッケージ「Visual Studio Editor」が古いままだとデバッガーが使えない。「Debugger for Unity」を使う方法がネット上で見つかるが、2022年以前の記事はレガシーな方法の模様。

Unity パッケージ「Visual Studio Editor」が古いままの状態でデバッガーを見ると「実行とデバッグ」と表示されるが、

06

これも2.0.20へアップデートすると、「Attach to Unity」という項目とともにデバッガー画面が表示される。

07

その横の再生ボタンが「デバッグの開始」ボタン。Unity Editorは自動再生されない?ので自分で再生(方法あるかも)。そしてデバッグを停止するボタンがないぞ、と思ったら「切断」というプラグを外したようなアイコンがデバッグ停止。

VS Codeは起動も速いけど、デバッガーもかなり身軽に動いてくれる。

VS Code側の設定

起動するとある程度使えそうですが、まず膨大な .meta ファイルが表示されてしまっているので、以下の手順で非表示に。

  1. Code > 基本設定 > Settings(⌘(cmd) + ,)でSettingsを開く
  2. 「exclude」で検索
  3. Files: Exclude で「Add Pattern」を押し、「**/*.meta」と入力してOK

瞬時にEXPLORERから .meta ファイルが非表示になると思います。

04

コード補完

Visual Studio for Macでは気にせずコード補完をしてくれたけど、VS Codeではコード補完がうまく動いてくれないという場合、.Net Install Toolの「.NET Runtimeがすでにインストールされており、それを使いたい」というところの対処をしてみるといいかも。

Troubleshooting Issues with the .NET Install Tool」の「Manually Installing .NET」のMac部分の記述

    "dotnetAcquisitionExtension.existingDotnetPath": [
        {"extensionId": "msazurermtools.azurerm-vscode-tools", "path": "/usr/local/share/dotnet/dotnet"}
    ]

をコピペして、settings.json(.vscode)の一番最後にカンマを打った後、追記してみるといいかも。

08

実際にpathの後のパス /usr/local/share/dotnet/dotnet をFinderでみてdotnetがちゃんとあることも確認。

 

 

他にもUnityのコード編集に便利そうなVS Code用機能拡張があったら、Unityタグ、 VS CodeタグをつけてMEMOしておこうと思います。