VS Code搭配Unity使用时Intellisense无法正常工作如何解决?
VS Code 适配Unity开发IntelliSense失效修复方案
按以下顺序排查,90%以上的同类问题都能解决:
基础扩展校验
- 只保留两个必要官方扩展,其余第三方Unity/C#相关扩展先全部禁用排查冲突:
C# for Visual Studio Code(基于OmniSharp的版本,若安装了C# Dev Kit可先禁用,该套件和部分Unity版本存在兼容问题)Unity Tools官方扩展
- 不要安装来源不明的代码补全、Unity辅助类扩展,这类扩展经常会打断OmniSharp的正常加载流程。
Unity端配置(绝大多数失效问题都是这步没做对)
- 打开Unity编辑器,进入
Edit > Preferences > External Tools - 外部脚本编辑器下拉项选择
Visual Studio Code,不要选带版本后缀、或者路径指向错误的VS Code实例 - 找到
Generate .csproj files for配置块,将下属所有可勾选的选项全部勾选:包含Embedded packages、Local packages、Registry packages、Git packages、Player projects - 点击配置块旁的
Regenerate project files按钮,等待文件生成完成后再关闭偏好设置窗口 - 打开Unity包管理器,确认已安装
Visual Studio Editor官方包,不要使用已经废弃的Visual Studio Code Editor旧包,包版本无需追新,和你当前Unity大版本匹配即可。
VS Code端配置校验
- 打开项目时必须选中Unity项目根目录(即包含
Assets、ProjectSettings文件夹的层级),不要单独打开单个脚本文件、或者Assets子文件夹,否则OmniSharp无法读取项目配置文件,只能提供当前文件内的文本提示。 - 打开项目后观察VS Code左下角状态栏,找到OmniSharp的火焰状图标:
- 如果图标显示加载错误,点击图标查看输出日志:提示找不到.NET SDK的话,安装对应Unity版本适配的SDK即可——Unity 2021及更早版本适配.NET Core 3.1/.NET Framework 4.8,Unity 2022及以后版本适配.NET 6,不要安装过高版本的.NET SDK,会出现兼容问题。
- 如果提示项目加载失败,回到Unity端重新生成csproj文件,再按
Ctrl+Shift+P(macOS为Cmd+Shift+P)调出命令面板,执行OmniSharp: Restart OmniSharp重启语言服务。
- 打开VS Code设置,搜索
omnisharp.useModernNet,如果使用的是2022以前的Unity版本,将该选项设置为false后重启OmniSharp。
重装无效时的残留清理
如果已经试过重装软件还是失效,按以下步骤清掉残留配置:
- 完全关闭Unity和VS Code进程
- 进入Unity项目根目录,删除所有
.csproj、.sln后缀的文件,同时删除项目下的.vscode文件夹 - 清理OmniSharp本地缓存:Windows系统删除
C:\Users\你的用户名\AppData\Local\Temp\VSCode目录下的OmniSharp相关文件夹,macOS系统删除~/Library/Caches/VisualStudioCode下的对应缓存目录 - 确认你使用的是官方安装版VS Code,安装时勾选了
添加到系统PATH选项,不要使用便携版、修改版VS Code。
操作完成后重新打开项目,等待10秒左右让OmniSharp完成项目加载,IntelliSense即可正常识别Unity API、跨文件类型、生命周期方法等内容,不会仅提示当前文件内已输入的文本。
内容的提问来源于stack exchange,提问作者TFR
相关产品推荐
相关产品推荐

