VS Code Unity C#自动补全异常:需手动触发且删除光标后内容
Unity C#代码补全异常问题
问题现象
- 在Unity项目的C#文件中,光标位于单词后方输入内容时,无法自动触发代码补全,必须手动按下
Ctrl+Space才能调出补全列表 - 按下
Tab或Enter确认补全选项时,光标后方的原有单词会被意外删除 - 该问题仅出现在C#文件中,JS、Python等其他语言文件无此异常,已排查确认问题源于C#相关扩展

解决步骤
- 重置C#扩展配置
打开VS Code的设置面板,搜索C#相关配置,找到Csharp: Reset Settings选项并点击重置,之后重启VS Code和Unity项目。 - 更新或重装C#扩展
打开VS Code扩展面板,找到Microsoft官方的C#扩展,先检查并安装可用更新;若更新无效,卸载扩展后重新安装,再重启VS Code。 - 重启并清除OmniSharp缓存
按下Ctrl+Shift+P打开命令面板,输入C#: OmniSharp: Restart OmniSharp,等待语言服务重启完成;如果问题依旧,找到OmniSharp缓存目录(Windows:%USERPROFILE%\.omnisharp,Mac/Linux:~/.omnisharp),删除该目录后重新启动VS Code。 - 重新生成Unity项目的C#工程文件
打开Unity编辑器,依次点击Edit > Preferences > External Tools,确认External Script Editor选择的是VS Code,勾选Generate .csproj files for:下的所有选项,点击Regenerate project files,之后重新打开项目的C#文件。
内容的提问来源于stack exchange,提问作者Zeyad Shaban
相关产品推荐
相关产品推荐

