栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

解决VSCode无法显示Unity代码提示的真正解决办法

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决VSCode无法显示Unity代码提示的真正解决办法

解决VSCode无法显示Unity代码提示的真正解决办法
  • 前言
    • 不提示原因
  • 尝试解决问题
    • 步骤1:验证是否正确打开工程目录
    • 步骤2:验证工程是否指定正确
    • 步骤3:检查和安装对应的.NET开发者版本
    • 代码提示有了,但找不到UnityEngine.UI等类
    • gameobject什么的只能.出一个智能引用
  • 其他相关
    • 利用控制台定位问题
    • 推荐撸Unity用的VScode插件

前言

作为一个程序猿最头大的问题大概就是重装系统了…但偏偏时间久了项目一多,Python,Java,DotNet,AndroidSDK,Qt等等一系列环境版本配置的乱七八糟,导致出各种无头绪的报错…崩溃!

这里记录个我是如何在重装系统后正确解决VSCode代码提示问题的。

不提示原因

其实在网上搜罗了一圈以后,发现无非也就是几种情况会导致没有代码提示:

  1. 没有使用VSCode打开工程目录
  2. 没有指定正确的sln工程配置文件
  3. 系统中没有安装对应的.NET开发者版本(大多数人遇到的问题)
  4. Package Manager的VScode插件版本不对

这个问题似乎纠结了许多网友,给出的解决方式要么看命要么根本不对症。在此整理一下终极解决方式以及我探索出的实际解决方法。

尝试解决问题 步骤1:验证是否正确打开工程目录

使用vscode 写unity文件无法自动提示代码(新手向错误)
如果你只打开的单独的cs文件而工程目录没有正确的跟进去,VSCode是找不到Unity的Library文件夹的。

你可以查看VSCode左侧的资源管理器,查看列表当中是否有sln文件。如果有继续往下看。

步骤2:验证工程是否指定正确

VSCode无法进行Unity C#智能提示,代码补全以及方法跳转等功能的解决方案!

按下键盘的Ctrl/Command + Shift+ P快捷键,选定工程目录下的sln文件。
至此,如果你以前是有代码提示的,稍等几秒等待自动加载完成以后你可以重试一下是否有代码提示功能。

步骤3:检查和安装对应的.NET开发者版本
  1. 用VSCode打开你工程目录下的.csproj文件。
  2. 找到Project->PropertyGroup->TargetFrameworkVersion这条数据,如下图:
  3. 记住你的版本号,到这下载对应版本号的开发者版 .NET Framework 。
    https://docs.microsoft.com/zh-cn/dotnet/framework/deployment/deployment-guide-for-developers
    这里我看到有的帖子说要改这个版本号,其实不然。如果你改了下次你创建新工程的时候还需要如此操作,且这种方法不见得就能够生效。
  4. 以我的为例,我的是4.7.1,那么就戳这个连接进去,跳到下载页面。
  5. 注意你需要下载Developer版本的,如果是Runtime版本很可能安装的时候会提示你已经安装了当前或更高版本的.NET从而拒绝你安装。当然稳妥方式都装一遍…
  6. 装完以后,重开VSCode。你期待的代码提示就会出现了!
代码提示有了,但找不到UnityEngine.UI等类

这个问题很好解决,我这里用的是2019.3.11f1版本。原因是这个版本的UI库文件挪位置了,而Unity新推出的Unity Package Manager插件没跟上步伐导致的…官方的坑!

步骤1:点开Unity的 Package Manager,找到右Visual Studio Code Editor,选择1.2.0以后的版本,然后点击右下角的升级按钮。(注意如果你用的2019,插件不要用太新的版本.否则还是会出现.不出来的情况.)
步骤2:保存并关闭Unity和VSCode,到工程目录下删除所有的*.sln和*.csproj文件。
步骤3:重新打开Unity和这个工程,刚被删除的这两个文件将会被重新创建,届时这个故障就解决了。
如果你不想重启unity和vscode参照这个帖子https://blog.csdn.net/weixin_45476117/article/details/108911678

gameobject什么的只能.出一个智能引用

这里还是Unity Package Manager的插件惹的祸,我这里用1.2.0可以但是升级到1.2.3就出现这个问题.建议降级到低版本尝试.

其他相关 利用控制台定位问题

如果你发现按照上面一波操作以后问题依旧没有解决,这时候就需要你自己寻找故障所在了。这里提供一个方法来帮助你快速准确的找到自己的故障点所在。

1.留意你的VSCode控制台输出面板,通常在这里会弹出启动报错信息。仔细阅读输出的报错信息,大部分错误都会有告诉你解决问题的方式。看不懂的话取去翻译一下根据步骤来,不要盲目相信神论,找到问题的根本才是解决BUG的真谛…
由于我这里已经解决好了环境问题,所以没有提示出找不到Unity类等错误信息,左侧的大纲也能够正常显示出来了。如果你的输出控制台有一大堆报错也不用慌,其实找到关键问题就都迎刃而解了。

推荐撸Unity用的VScode插件

这是VSCode官方推荐的几个社区插件,这里复制过来安利一下
引用地址: https://code.visualstudio.com/docs/other/unity

C#
这个几乎是必装的插件,用于支持C#的一些日常sao操作.

  • .NET Core的轻量级开发工具。
  • .强大的C#编辑支持,包括语法突出显示,IntelliSense,转到定义,查找所有引用等。
  • 对.NET Core(CoreCLR)的调试支持。注意:不支持Mono调试。桌面CLR调试的支持有限。
  • .在Windows,macOS和Linux上支持project.json和csproj项目。

Unity Code Snippets
神器一件,这个工具可以帮助你快速的撸出OnTriggerEnter() OnApplicationQuit() 等等的代码片段,几乎全覆盖,去官网看下

感谢观看,好使了别忘一键三连哦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/951341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号