Visual Paradigm生成的.bak文件干扰VS Code加载Java类问题咨询
问题根因与解决方法
这是Visual Paradigm与VS Code Java语言服务的已知兼容问题,有大量同时使用两款工具开展UML类图+Java开发的开发者反馈过同款问题,核心原因和修复方案如下:
冲突原因
- Visual Paradigm默认会在源文件同目录生成后缀为
.bak的备份文件,备份文件命名格式为[原文件名].bak,如果备份对象是Java文件,就会生成类似Demo.java.bak的文件 - VS Code的Java语言扩展(Language Support for Java(TM) by Red Hat)扫描源码目录时,会错误将后缀带
.java的.bak文件识别为合法Java源码文件,索引过程中读取到不符合Java语法的备份内容就会出现索引卡死,最终导致同目录下所有Java类文件都无法正常加载,语法高亮、代码跳转、自动补全功能全部失效
修复方案
临时修复(单次生效)
删除当前目录下所有Visual Paradigm生成的.bak文件,按下Ctrl + Shift + P(Mac设备按Cmd + Shift + P)呼出VS Code命令面板,执行Java: Clean Java Language Server Workspace命令,重启语言服务后即可正常加载Java文件。
永久规避
方案1:修改Visual Paradigm备份配置
打开Visual Paradigm偏好设置,进入「备份」设置页:
- 关闭「自动备份到源文件所在目录」选项,将备份存储路径修改为统一的全局备份目录
- 或者将备份文件后缀修改为
.vp_bak,避免和Java文件命名规则混淆
方案2:配置VS Code忽略规则
在VS Code全局settings.json或者项目根目录的.vscode/settings.json中添加如下配置,让Java扩展自动忽略所有bak文件:
"files.exclude": { "**/*.bak": true }, "java.import.exclusions": [ "**/*.bak" ]
如果项目使用Git进行版本管理,也可以在项目.gitignore文件中添加*.bak规则,避免备份文件被提交到代码仓库的同时,VS Code也会自动识别忽略规则。
内容的提问来源于stack exchange,提问作者dreambucket13
相关产品推荐
相关产品推荐

