2020版VSCode编写Unity C#脚本时Intellisense无法自动补全如何解决?
故障根因
该问题由VS Code 2020配套的1.25.x及以上版本微软C#扩展,和Unity默认生成的.csproj工程文件兼容性问题导致,2019版VS Code默认搭载的旧版C#扩展不存在该兼容冲突。
解决方案
方法1:降级C#扩展到兼容版本(优先级最高,操作最简单)
- 打开VS Code 2020的扩展面板,搜索
C#(微软官方出品的C#扩展) - 点击扩展卡片右下角的齿轮图标,选择「安装另一个版本」
- 选择1.24.4版本完成安装,重启VS Code即可生效
注意:需关闭VS Code自动扩展更新避免版本回弹:设置中搜索
extensions.autoUpdate,取消勾选对应选项即可。
方法2:调整Unity项目生成规则(无需修改VS Code配置)
- 打开Unity编辑器,依次进入「编辑」>「偏好设置」>「外部工具」
- 确认外部脚本编辑器已设置为当前使用的VS Code 2020版本
- 在「生成.csproj文件的选项」分类下,勾选所有和程序集相关的选项
- 点击「重新生成项目文件」按钮,等待生成完成后重启VS Code
- 打开C#脚本等待扩展加载完成后,验证自动补全功能是否恢复
方法3:手动指定OmniSharp版本(前两种方法无效时使用)
- 本地下载对应系统架构的OmniSharp v1.38.2版本文件
- 打开VS Code设置,搜索
omnisharp.path - 将该设置项的值修改为本地OmniSharp文件的绝对路径
- 重启VS Code后验证功能
有效性验证
完成配置后打开任意Unity C#脚本,输入transform.如果能自动弹出position、rotation等内置属性提示,说明Intellisense功能已恢复正常。
内容的提问来源于stack exchange,提问作者Meet Shah
相关产品推荐
相关产品推荐

