Nodachisoft Nodachisoft logo, Katana Sword Icon
  
@あまじ✎ 2021年12月25日に更新

Unity + VSCode でコードの補完が出来ない(インテリセンスが効かない)のを修正

Unity + VSCode でコードの補完が出来ない(インテリセンスが効かない)のを修正

概要

新しく Unity 2020.3 LTS + VSCode の環境を作ってコーディングするとき、 VSCode でコードの補完(Intellisense)が効かなかったのを解消したので、解消の内容をメモしておきます。

稼働確認

ソフトウェア バージョン
Unity Unity2020.3 LTS
OS Windows 10 Home
VSCode 1.63.2

症状

Unity と連携してコーディングするのに適している、VSCode の Extension として 以下をインストール済み。

インストール済みVSCode Extension

この状態で、Unity からコードを開いても、Intellisense(コードの補完などが効かない)

例えば、適当に新しいスクリプと(cs ファイル)を作成して、 void Start() メソッドの中で this.game と打ち Ctrl + Space で、 this.gameObject が候補として表示されてくれるはずなのに、表示されない。

以下は、候補が表示された場合(理想)。

理想

修正

Unity 上からちゃんと VSCode でプロジェクトとして開きます。 (Unity から VSCode を開くことが事前に関連付けされているものとします)

Unityからvscodeのプロジェクトを開く

Asset -> Open C# Project

一部抜粋ですが、VSCode の「出力」タブに以下のようなエラーが表示されていました。

errormessage
[warn]: OmniSharp.MSBuild.ProjectManager
        Failed to load project file 'c:\myunityproject\Assembly-CSharp.csproj'.
c:\myunityproject\Assembly-CSharp.csproj
c:\Users\amaji\.vscode\extensions\ms-dotnettools.csharp-1.23.17
  \.omnisharp\1.37.17\.msbuild\Current\Bin
  \Microsoft.Common.CurrentVersion.targets(1217,5):
    Error: The reference assemblies for .NETFramework,Version=v4.7.1 were not found.
    To resolve this, install the Developer Pack (SDK/Targeting Pack)
    for this framework version or retarget your application.
    You can download .NET Framework Developer Packs at
    https://aka.ms/msbuild/developerpacks

[fail]: OmniSharp.MSBuild.ProjectManager
        Attempted to update project that is not loaded:
         c:\myunityproject\Assembly-CSharp.csproj

エラーを確認すると、「.NETFramework の Version=v4.7.1 が見つからないよ」とのこと。

ということで、公式からダウンロード&インストールします。

Microsoft 社公式 - .NET Framework Version 4.7.1 ダウンロードページ - https://dotnet.microsoft.com/en-us/download/dotnet-framework/net471

ダウンロードページ

右下の Download .NET Framework 4.7.1 Developer Pack をインストール。

インストール後、再度 Unity 上から Asset -> Open C# Project でプロジェクトを開くと、ちゃんと補完が効くようになりました。

めでたし、めでたしです。

参考

  • なし

変更履歴

日付 変更概要
なし
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(5件)です!

Unity の C# コードで System.Type.GetType が null を返してしまう

Unity の C# コードで System.Type.GetType が null を返してしまう

#Unity#.net✎ 2022-1-11
Unity の C# コードで System.Type.GetType が null を返してしまう
目次
Unity + VSCode でコードの補完が出来ない(インテリセンスが効かない)のを修正
Unity + VSCode でコードの補完が出来ない(インテリセンスが効かない)のを修正
概要
概要
稼働確認
稼働確認
症状
症状
修正
修正
参考
参考
変更履歴
変更履歴
Nodachisoft © 2021