Safe Delete Refactoring
“安全删除”重构也建立在与“重命名”相同的“查找用法”框架上.
除此之外,为了支持“安全删除”,插件需要实现两件事:
*
RefactoringSupportProvider
在com.intellij.lang.refactoringSupport
扩展点中注册的接口,以及isSafeDeleteAvailable()
方法,该方法检查特定PSI元素的“安全删除”重构是否可用
* PsiElement.delete() 的方法 PsiElement 可以使用“安全删除”的子类. 删除PSI元素是通过从AST树中删除底层AST节点来实现的(这反过来又会导致从文档中删除与AST节点相对应的文本范围).
例:
实施一个
如果需要,可以进一步自定义如何为特定类型的元素执行安全删除(如何搜索引用等).
这是通过实现SafeDeleteProcessorDelegate
接口完成的.
例:
实施
Last modified: 11 May 2019