VS Code(Unity环境下)OmniSharp IntelliSense无法正常工作
VS Code + Unity IntelliSense 失效:OmniSharp 提示 'cmd' 未找到且加载超时
问题现象
配置VS Code与Unity配合使用IntelliSense时,OmniSharp运行异常,报错信息如下:
Starting OmniSharp server at 1/21/2023, 4:57:42 PM Target: c:\Users\user\Unity Projects\Kinda Better Minecraft\Kinda Better Minecraft.sln OmniSharp server started. Path: c:\Users\user\.vscode\extensions\ms-dotnettools.csharp-1.25.2-win32-x64\.omnisharp\1.39.2\OmniSharp.exe PID: 7388 [STDERR] 'cmd' is not recognized as an internal or external command, operable program or batch file. [ERROR] Error: OmniSharp server load timed out. Use the 'omnisharp.projectLoadTimeout' setting to override the default delay (one minute).
IntelliSense完全无法工作,输入无效代码也无错误提示,重装VS Code、.NET SDK后问题依旧。
解决方案
1. 修复系统环境变量PATH
报错里的'cmd' is not recognized是核心问题,cmd.exe默认在C:\Windows\System32目录下,需确保该路径在系统环境变量中:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」列表中找到
PATH,检查是否包含C:\Windows\System32 - 若缺失,点击「新建」添加该路径;若已存在但被修改,恢复正确路径
- 重启VS Code(或直接重启电脑)后重新测试
2. 延长OmniSharp项目加载超时时间
加载超时可能是项目较大导致,可调整超时设置:
- 打开VS Code设置(快捷键
Ctrl+,) - 搜索
omnisharp.projectLoadTimeout,将默认的60秒改为120或180秒 - 按下
Ctrl+Shift+P,输入OmniSharp: Restart OmniSharp重启服务
3. 让Unity重新生成项目文件
Unity的解决方案文件可能存在异常:
- 打开Unity编辑器,进入
Edit → Preferences → External Tools - 确认「External Script Editor」选择的是VS Code
- 点击「Regenerate project files」,等待Unity重新生成.sln和.csproj文件
- 回到VS Code重新加载项目
4. 匹配Unity与.NET版本
OmniSharp对.NET版本适配要求严格:
- 打开Unity的
Edit → Project Settings → Player → Other Settings → Configuration,查看「.NET Runtime」版本 - 确保已安装对应版本的.NET SDK/Framework:
- 若用.NET Framework 4.x,安装对应的.NET Framework开发包
- 若用.NET Core/.NET 5+,安装对应版本的.NET SDK
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

