一、文件删除策略
1. Safe delete (with usage search) 安全删除(检索引用)
作用
删除文件前,全局扫描项目所有代码,查找是否有地方引用了这个文件:
- Java 类:import 导入、实例化、继承、注解引用等
- md / 配置文件:代码里读取该文件路径、硬编码文件名引用
- 资源文件:xml、yml 中导入、静态资源加载
两种情况
- 找到引用:弹窗列出所有使用位置,不让你直接删,避免代码报找不到文件报错;
- 无任何引用:直接执行删除。
不勾选此选项
跳过引用检查,直接删除文件,哪怕代码里还在调用它,后续编译 / 运行会抛异常。
2. Search in comments and strings 在注释和字符串中检索
依赖「Safe delete」开启才生效,是安全删除的补充检索规则:
开启(勾选)
检索范围包含:
- 代码注释
// PROPERTY_API_DOCUMENTATION.md - 字符串字面量
String path = "PROJECT_API_DOCUMENTATION.md";只要注释 / 字符串里出现文件名,就判定为存在引用,阻止删除。
关闭(取消勾选)
只检索功能性代码引用(import、文件读取 API、资源导入标签等),忽略注释、普通文本字符串。 适用场景:只是注释里提过文件名,实际代码没有使用,想直接删掉文件。
组合策略推荐
组合 1:两个都勾选(图中默认,最稳妥)
适合绝大多数开发场景,彻底排查所有显性、隐性引用,删文件不会遗留无效代码。
组合 2:只勾选 Safe delete,取消 Search in comments and strings
注释 / 文案只是备注文件名,代码无实际读取逻辑,不想被注释干扰删除操作。
组合 3:两个都不勾选
直接物理删除文件,不做任何引用检查,适合确定文件完全废弃、无任何代码关联,追求快速删除。
补充:物理删除位置
点 OK 删除后:
- 本地文件移入系统回收站;
- Git 项目中文件标记为待删除,提交后才会从版本库移除。
二、文件重命名操作
1、左侧复选框组
1). Search in comments and strings
- 含义:在代码注释、字符串字面量里同步替换类名文本
- 例子:
勾选后注释、字符串里的// PersonController 提供人员接口 String name = "PersonController";PersonController也会一并改名;不勾选则只改代码逻辑引用。
2). Rename tests
- 含义:同步重命名测试类 / 测试方法
- 场景:如果有
PersonControllerTest测试类,勾选后测试类名、内部引用全部同步修改;不勾选测试代码保持原名。
3). Rename variables
- 含义:重命名所有引用该类的变量、字段、形参
- 例子:
勾选后变量、参数的类型会同步更新;取消则仅改类文件本身,变量类型报错。private PersonController personController; public void test(PersonController controller){}
2、右侧复选框组
1). Search for text occurrences
- 含义:全局纯文本检索匹配,项目所有文件(yml、xml、md、sql 等配置文件)里的类名字符串都会被替换
- 风险提醒:如果 yml、日志、注释里有无关文本和类名重名,会误改;仅单纯改 Java 代码时可取消。
2). Rename inheritors
- 含义:同步重命名子类、实现类
- 场景:如果有
class PersonControllerChild extends PersonController,勾选后子类内所有父类引用同步更新;取消会导致子类继承报错。
3、Scope(作用域)
Project Files:默认范围,整个项目所有文件执行替换- 下拉可切换:仅当前文件 / 当前模块 / 自定义目录;右侧
...按钮手动筛选包含 / 排除文件夹。
4、底部操作按钮
- Preview(预览)点击后弹出窗口,展示所有将要被修改的文件、代码行,可手动取消不需要改动的条目,推荐改名前先预览,避免误改配置 / 注释。
- Refactor(蓝色确认按钮)确认执行全局重命名重构,一次性替换所有勾选范围内的内容。
- Cancel取消本次重命名操作,不做任何修改。
5、业务使用建议(你的后端项目场景)
- 只改 Java 代码,不想动 yml、sql 里的文本:取消
Search for text occurrences; - 不想修改注释、日志字符串:取消
Search in comments and strings; - 存在单元测试、子类:保留
Rename tests、Rename inheritors勾选; - 任何改名操作,优先点
Preview核对改动范围,再点 Refactor