配置:win7下 vscode 配置unity 插件,并实现自动补全C#代码
本文解决的问题:.Net Framework版本不匹配导致无法自动补全C#
安装插件:
C#
C# extension
Debugger for Unity
Unity Tools
自动补全:
版本:win7 + unity2019.3.0f
第一步:确保OmniSharp工具选中的是正确的sln:
从unity打开一个C#文件,在vscode界面内:
- ctrl+shift+P
- 输入Omni
- 从自动补全中选择“OmniSharp:select project”
- 选择当前unity对应的sln。
第二步:
打几行代码,测试一下自动补全功能,若成功则完毕。做梦
如果不成功,注意Logout。如果发现 “.Net FrameWork,Version=vXX”字样,则存在以下两个选项:其他的问题我就不知道了
- 不安装新.Net FrameWork,直接更改项目的配置为当前电脑.Net FrameWork的版本。
- 依据项目要求的版本安装新.Net FrameWork。
以下详细叙述过程:
配置成功的关键,是Assembly-CSharp-Editor.csproj和Assembly-CSharp.csproj文件(下文会提到)中TargetFrameworkVersion标签内的版本号与你拥有的版本一致。
选项1:
#写在最前:经过实测,选择v3.5的版本虽然能实现自动补全,但可能导致大量标红的下划线。非要这么选我也拦不住你,来吧
a. 查询当前已安装.Net FrameWork版本:在资源管理器中输入“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework”。
选择你想要的版本,如“v4.5”。
b. 回到vscode中打开的C#文件,注意资源管理器,可以看到两个文件《Assembly-CSharp-Editor》和《Assembly-CSharp》,
分别打开并修改标签,修改为你选择的版本号。
< TargetFrameworkVersion >v4.5< /TargetFrameworkVersion>
c. 关闭vscode,再次从unity打开一个C#文件。检查是否成功。
选项2:
a. 如果没有对文件进行任何修改,只进行了“OmniSharp”一步,那么在Logout中看到的netframework版本就是unity要求的。比如v4.5.1。
先检查你是否已经拥有这个版本:
C:\Program Files (x86)\Reference
Assemblies\Microsoft\Framework.NETFramework
如果你拥有v4.5.1,但标签中要求v4.5,那么也可以修改标签为v4.5.1,而不去下载对应版本。
b. 否则,从这个网站下载:.Net FrameWork安装包下载网址
依照向导安装完毕。若文件夹下出现对应版本号的文件夹,则安装成功。
c. 关闭vscode,再次从unity打开一个C#文件。无意外的话已经能自动补全。
如果经过这番折腾还是不行,我也布吉岛了…………