重构:如何替换类型(并更新导入)



即,当前我们在代码库中使用npm包@old-package中的类型OldType

我们想用我们自己的类型NewType替换它,它可以通过@new-package导入。

示例

旧进口

import {
AnyImport,
OldType,
AnotherImport
} from '@old-package';

应更新为:

新进口

import {
AnyImport,
AnotherImport
} from '@old-package';
import { NewType } from '@new-package';

我们如何在IntelliJ中进行重构,以便正确更新导入语句?

注:

  • 我认为简单的替换RegEx是行不通的,因为旧的导入可能是多行中的一个
  • 我检查了IntelliJ迁移功能,但这似乎只适用于Java代码
  • 我检查了"结构搜索和替换"功能,但无法使其适用于我的案例

由于这是一个开关操作,如果可以在另一个IDE中或通过命令行工具等完成,也可以。

目前不支持/实现导入的结构化搜索(相关功能请求:IDEA-285199)。您可以尝试网络上提供的一些解决方案,请参阅https://www.npmjs.com/package/refactor-imports?activeTab=readme,例如

最新更新