VSCode中Ruby文件def+TAB补全异常,如何恢复正常?
解决VSCode中Ruby文件def+TAB补全异常的方法
禁用Emmet对Ruby文件的自动补全
当前生成的<def></def>是Emmet的HTML标签补全行为,说明Emmet错误地在Ruby文件中触发了。打开VSCode设置(快捷键Ctrl+,/Cmd+,),搜索Emmet: Include Languages,删除其中Ruby相关的配置项;或者直接在settings.json中添加:"emmet.excludeLanguages": ["ruby"], "emmet.includeLanguages": {}确保Emmet不干扰Ruby文件的补全逻辑。
检查并清理代码片段
按下Ctrl+Shift+P/Cmd+Shift+P,输入Configure User Snippets并选择ruby.json,查看是否存在def相关的自定义片段。如果有生成HTML标签的异常片段,直接删除即可。同时检查工作区级别的代码片段,避免局部配置影响全局补全。重置Ruby扩展配置
找到已安装的VSCode Ruby或Ruby扩展,点击扩展详情页的设置图标,选择Reset Settings,恢复扩展的默认补全行为。重置VSCode全局设置(终极方案)
若以上方法都无效,可尝试重置全局设置:- 关闭VSCode
- 找到用户设置文件夹:
- Windows:
%APPDATA%\Code\User - macOS:
~/Library/Application Support/Code/User - Linux:
~/.config/Code/User
- Windows:
- 备份
settings.json后删除原文件,重启VSCode后重新配置必要的个性化设置。
内容的提问来源于stack exchange,提问作者Xeniouska
相关产品推荐
相关产品推荐

