写在前面

如果你还没有安装编辑器/初次使用Unity,请按照下面的步骤配置。正常情况下可以直接得到最完整的编辑器配置
啊角度来说就一句话在使用UnityHub安装的时候,勾选Visual Studio Community
这样UnityHub就会一步到位帮你配置好了

如果你和笔者是一样的Vsc党,或者原本是使用的是Visual Studio Code而不想重装,则继续看下文

针对Visual Studio Code 的配置方案

最无脑的办法:先用UnityHub安装VS,它会给你配好环境
然后下载VSC,并在UnityEditor里面把默认编辑器设置为VSC就好了hhh(二五仔行为)

微软自己的官方指南配置VSC 微软官方指南 :https://code.visualstudio.com/docs/other/unity
或者推荐麦扣老师的教程 https://www.bilibili.com/video/BV19741167zU
文字版: https://www.bilibili.com/read/cv9764864?spm_id_from=333.999.0.0

还是不能补全/或者补全功能残缺

其实这部分才是本文重点,那么请跟我逐步解决问题

启用omnisharp服务

这一点两个教程都蜜汁没有提到(或者我忽略了),但其实这个是大多数补全失败的原因
vscode里unity的智能提示依赖于c#插件里的omnisharp服务的,而该服务要是未安装或者版本不对应,补全就会失败
omnisharp服务正常,此时vscode左下角有小火焰的图标,点击下它,此时就可以使用omnisharp来开启智能提示了

检查.NET版本

edit->project setting->player->other settings->configuration->Api compatibility level
把这玩意改成.NET 4.X 有的时候UnityEditor会默认为2.X,如果你的电脑中的版本对不上或者omnisharp服务对不上那就GG

打开edit->project setting->player直接在右上角搜索Api compatibility level就可以快速找到它了

另外,确保对应的.NET服务被打开,在电脑中的控制面板->程序->程序和功能->启用或关闭Windows功能 检查
如果对应的.NET的服务未被打开,启用它

打开项目下的Assembly-CSharp.csproj 将TargetFrameworkVersion改为你现在对应的版本

上述的操作实质上是对着对应的问题解决,可以自行看omnisharp服务的报错log

加载整个项目

有时你打开代码文件,VSC默认加载的是单一的文件,这时候就不能补全了,于是在VSC的打开文件夹中打开你的项目文件

Vs Code 的 omnisharp.useGlobalMono

在VSC的首选项->设置中搜索omnisharp.useGlobalMono,把它改成Always