プラスプラス開発者ブログ

岩手県盛岡市のシステム開発会社「株式会社プラスプラス」の開発者ブログです。

Unity + VSCode のコード補間が効かない 2020/03

いつでも睡眠不足「軽く熊」です。
もうすぐ春ですが冬眠したいです。

VSCode のインテリセンス(コード補完機能)の調子悪いですね。

3月6日頃にアップデートされた VSCode エクステンション C# 1.21.13…。
このバージョンから C# エクステンションの名称が変更されたので
Debugger for Unity 2.7.2 が連携できなくなってしまったようです。

こんなエラーが出てしまいます。

'Debugger for Unity' 拡張機能を有効できません。
この拡張機能は、無効になっている 'C#' 拡張機能に依存しています。
拡張機能を有効にしてウィンドウを再読み込みしますか。

現時点で C# 1.21.14、Debugger for Unity 2.7.5 と
アップデートされていますが、動作が安定させられていません。

新しいアップデートを待っている時間は無いので
ダウングレードして前の環境に戻してしまいます。

VSCodeエクステンション・タブを開き「…」をクリックして
メニューを表示します。
そして「拡張の自動尾更新を無効にする」を選択してから作業開始です。

  1. Debugger for Unity を選択して「無効にする」をクリック。
  2. C# を選択して「無効にする」をクリック。(必ず後に実行する)
  3. VSCode を再起動。
  4. こちらから C# 1.21.12 をダウンロードします。
  5. エクステンション・タブを開き「…」の「VSIX からのインストール」を選択。
  6. C# 1.21.12 の VSIX を選択して「有効にする」をクリック。
  7. Debugger for Unity を選択してアンインストール。
  8. VSCode を再起動。
  9. Debugger for Unity を再インストール。

なぜか「UnityEngine.UI」への参照が正しく動作しませんが、
これでインテリセンスは動作するようになりました。

最終的に下記の構成で動作しています。
VSCode 1.42.1
・エクステンション C# 1.21.12
・エクステンション C# Extensions 1.3.1
・エクステンション Debugger for Unity 2.7.5
 ※「別のバージョンをインストール」から 2.7.2 するのもアリ。