问题表述
vscode 无法自动补全代码或检错, 插件失灵.
导致该状况的原因很多,但按照以下方案操作能解决99%的问题。
建议收藏此文以备不时之需!
1 首先确定插件都已安装
插件列表:
Debugger for Unity
Unity Tools
Unity Colde Snippets
C#
…
2 确保开发环境健全
- 开发环境不完整也会导致该问题。也有可能是项目创建的.net版本和开发环境的.net版本不符导致的。
- 不要以为你安装了相同版本的.net环境就可以了,必须是 开! 发! 包!
解决办法
-
使用文编编辑器打开项目根目录中扩展名为csproj文件
-
Ctrl + F 搜索"TargetFrameworkVersion"关键字,可以看到"<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>"这条信息
这说明你的电脑里缺少4.7.1版本的.net Framework,不同电脑默认版本可能不同 -
去【微软官网】下载相应的版本. 需要注意到要下载develop pack(开发包)版本, 不要下载普通版本.否则没用
-
重启vscode
3 vs code编辑器设置
- 进入 vscode编辑器 同时按下ctrl + shift + P
- 在弹出的输入框中输入:OmniSharp: select project
- 手动选择项目文件即可
4 非常重要的一个解决办法
最近发现很多时候vscode无法完成自动补全是因为ominisharp发生了版本错误,也就是说omnishap在升级的过程中可能会与你的vs code的其他版本插件产生不太愉快的交流,所以你需要保持omnisharp保持最新版本或某个无排斥的版本
- 控制台,然后点击ouput栏,将输出类型改为ominisharp log。windows版快捷键ctrl + shift + u ;mac版跨借鉴cmd + ctrl + u
- 在vs code 的setting.json 文件中搜索ominisharp,将他的path参数改为latest
{
"[csharp]": {
"editor.defaultFormatter": "bilal-arikan.csharp-auto-formatter"
},
"omnisharp.path": "latest"
}
重启vs code 即可大功告成