[Unity]Visual Studio Codeでの入力補助ができない場合の解決方法

Unity・Godot Engine

みなさん、こんにちは。
パノメゴン(@panomegon)です。

Unityのコードエディタとして、Visual Studio Codeを設定している方は多いと思いますが、そのままの状態だと、Unity独自の記述の入力候補が表示されないことがあります。

せっかくVisual Studio Codeを使用しているのに、インテリセンスが利用できないのは非常にもったいないです。
入力支援機能が使えるのと使えないのでは、プログラミング効率が大幅に変わってくることでしょう。

ということで、Visual Studio CodeでUnity開発する際に、入力補助機能が利用できるようにする方法をここに書いておきます。

前提

Unity及びVisual Studio Codeは、すでにインストール済みであるものとします。

現段階では、Visual Studio Codeでプログラムを書き、Unityが利用できているものの、入力補助がされないという状態です。

なお、僕の環境は、Linux Mint 21 Cinnamon Editionですが、他のOSでも大まかな流れは変わらないかと思います。

解決方法

主な作業内容としては、「Unity側の設定」「Monoなどのインストール」「Visual Studio Code側の設定」です。

Unityの設定

Unity側の設定で、コードエディタとしてVisual Studio Codeを選びます。
入力補助と直接は関係ないかもしれませんが、これによりUnityでC#のプログラムを書く際、Visual Studio Codeが標準のコードエディタとして開いてくれます。

Unityの「Preferences」を開き、「External Tools」というところから、既存のコードエディタを変更できます。

C#拡張機能のインストール

Visual Studio CodeにC#の拡張機能をインストールします。
Microsoftが公式にリリースしているやつです。

Visual Studio CodeでUnity開発する際に便利なVS Code拡張機能は他にもいくつかありますが、最低限これだけ入れておけば大丈夫です。

.NET Core SDKのインストール

Visual Studio CodeでUnityのC#コードを開くと、次のようなエラーメッセージが出ているので、「.NET Core SDK」をインストールします。

「Get the SDK」というところをクリックすると、ダウンロードページが開きます。

僕の場合、Linux Mintですので下記のコマンドでインストールできました。


sudo apt-get update
sudo apt-get install -y dotnet6

インストールしてから言うのもなんですが、UnityのコーディングではMonoを使用しますので、この「.NET Core SDK」が必要だったのかは正直わかりません。

ただ、エラーが出てたのが気になったので入れました。

Monoのインストール

現段階でVisual Studio Codeを開くと、先程のエラーは消えますが、また新たに別の警告が表示されていると思います。
この詳細のログを開くと、MonoのインストールとVisual Studio Codeの設定を変更するように書かれているはずです。

ということで、まずMonoのインストールを行います。

こちらのページからダウンロードできます。各自のOSに合ったものを選んでください。
https://www.mono-project.com/download/stable/

Linuxの場合はコマンドでインストールできます。

Visual Studio Codeの設定

最後にVisual Studio Codeの設定を変更します。
設定画面を開いてください。

「Use Modern Net」と検索をすると上のような画面が出てきます。

「Omnisharp: Use Modern Net」という部分のチェックを外しましょう。

これで一通りの作業は完了です。
UnityのC#ファイルをVisual Studio Codeで開き、Unity独自のコードを入力してみましょう。
入力補助がされるはずです。

最後に

ということで、Visual Studio CodeでUnityの入力補助をする設定を見てきました。
同じ悩みで困っていた方の参考になれば幸いです。

別途、自動整形の設定もしておくと、よりコーディングがしやすくなると思います。

以上です。
最後までありがとうございました。

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