🧐

VSCodeでUsing Cinemachine; に警告が出るから検証してみた

2021/11/23に公開

Unity 2020.3.16f1でVSCodeを使おうとしたときに

using Cinemachine;
using UnityEngine.UI;

型または名前空間の名前 'Cinemachine' が見つかりませんでした (using ディレクティブまたはアセンブリ参照が指定されていることを確認してください) [Assembly-CSharp]csharp(CS0246)

というエラーが出ていてCinemachineやTextの補完が効かない状態でした

ネットで調べてみると"Visual Studio Code Editor"のバージョンを1.1.2に下げれば解決できたのですが、どのバージョンからCinemachineやUnityEngine.UIを認識できなくなるのか検証してみました

検証のたびにProjectフォルダ内の.csprojファイルを削除し、Assetsメニュー→Open C# ProjectからVSCodeを起動しています

Api Comatibility Level .NET Standard 2.0にて検証

  • 1.1.2 ✔
  • 1.1.3 ❌
  • 1.1.4 ✔
  • 1.2.0 ❌ このバージョン以前は"External ToolsにGenerate .csproj files for:"が無い
  • 1.2.1 ❌
  • 1.2.2 ❌
  • 1.2.3 ✔
  • 1.2.4 ❌

UnityでVSCodeのインテリセンスが効かないときの対処法

https://zenn.dev/rikusen/articles/17b337fad3b0276a74b2

途中でこちらの記事を見つけてApi Comatibility Level を見直したら初期設定のままの.NET Standard 2.0になっていたのでもう一度検証し直してみます

Api Comatibility Level .NET 4.xにて検証

  • 1.1.2 ✔
  • 1.1.3 ✔
  • 1.1.4 ✔
  • 1.2.0 ❌
  • 1.2.1 ❌
  • 1.2.2 ❌
  • 1.2.3 ✔
  • 1.2.4 ❌

Api Comatibility Levelを変えたら1.1.3で警告が出なくなったのはビックリ!
各バージョンで対応がこまめに変わってるのでこの"Visual Studio Code Editor"開発者の方々は中々大変そう...

現状(2021/11/23時点)では使える中で一番新しい1.2.3を使うことにしました

Discussion