首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IDE -在lib/桶之间移动文件时自动更新导入

IDE -在lib/桶之间移动文件时自动更新导入
EN

Stack Overflow用户
提问于 2020-05-02 08:54:36
回答 1查看 396关注 0票数 4

我们正在使用nrwl/nx将我们的类型记录项目拆分成更小的库,但是重构是一个真正的痛苦。

例如,当我们将单个文件从一个app/lib移动到一个新的lib时,必须更新整个项目中的import语句,并且必须尊重tsconfig路径映射和桶文件。

下面是一个包含代码和详细描述的GitHub测试项目:nx-重构

还有一个分支重构,它具有预期的重构结果。

我们使用IntelliJ Idea和VsCode。然而,他们似乎都没有正确处理这个案件。在任何一个IDE中,我们都找不到适合这种情况的扩展。

我想这种重构是相当普遍的,因此我感到惊讶,他的不支持。

有人能推荐一个扩展、另一个IDE/编辑器或工具来处理这种情况吗?

参考文献:

  • IntellIJ在移动文件时不处理桶:#WEB-44288
  • VsCode 也一样

EN

回答 1

Stack Overflow用户

发布于 2021-08-07 09:12:31

由于#WEB-44288还没有修复,所以我想出了一个解决办法。

如果你经历过这个问题,请看IntelliJ问题#WEB-44288

其思想是在新桶中创建一个空文件,然后使用移动模块成员

详细信息(例如,在nx-重构中):

  • 在目标桶index.ts文件中添加export * from './lib/file-to-move';
    • 注意:此语句当前将显示一个错误忽略错误。

  • 现在打开我们要移动的源文件:libs/lib-a/src/lib/file-to-move.ts
    • 将光标设置为顶级符号( TO_MOVE常量),然后按F6以打开移动模块成员对话框。
    • To:路径设置为目标文件(我们刚才在index.ts文件中引用的):[..]/lib-b\src\lib\file-to-move.ts
    • 提示:要选择所有成员,请单击CTRL并按空格选择所有复选框
    • Refactor

  • 现在所有的导入都被正确地更新了。
  • 最后清理:
    • 删除原始源文件:libs/lib-a/src/lib/file-to-move.ts
    • 并删除源桶文件中的导出:libs/lib-a/src/index.ts
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61556751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档