Angular 2组件如何重构?有无支持该功能的IDE、插件或CLI命令?
解决Angular组件重构痛点:IDE/插件推荐&CLI重构展望
我太懂这种手动重命名的痛苦了!重构SPA模块时要改文件名、组件名、模板引用、模块导入……每一步都怕漏,真的怀念Eclipse重构Java类那种一键搞定的爽感。分享几个能帮你解决这个问题的工具,还有关于Angular CLI重构命令的现状:
一、支持Angular组件重构的IDE/插件
- VS Code + Angular Language Service:这应该是最常用的免费组合了。右键点击组件类名或文件名,选择「重命名符号」(或者直接按F2),它会自动帮你同步更新:组件类名、模板里的组件引用、
styleUrls的路径,甚至是模块declarations/exports里的注册项。虽然复杂场景下可能需要手动检查下边角引用,但日常开发足够用了。 - WebStorm/IntelliJ IDEA:如果能接受付费IDE,JetBrains家的这俩绝对是重构天花板。右键组件文件选「重构→重命名」,它会智能遍历整个项目,把所有相关的地方都更过来:包括组件选择器、路由配置、服务里的依赖注入、甚至是其他组件模板中的使用,完全不需要手动补漏,体验和Eclipse重构Java类几乎一模一样。
- Sublime Text + LSP-Angular:习惯Sublime的话,可以通过LSP-Angular插件接入Angular Language Service,这样也能实现基础的重命名重构功能,操作逻辑和VS Code类似,满足基本需求没问题。
二、Angular CLI重构命令的现状
你期待的ng refactor my-component new-fancier-name这种原生CLI命令,目前官方还没有推出。不过社区里有一些自定义的解决方案,比如利用Angular的Schematics来编写自己的重命名脚本,但需要一定的学习成本。好消息是,Angular团队一直在关注社区对重构功能的需求,GitHub上有不少相关的Issue和讨论,未来CLI加入原生重构命令的概率还是很大的,可以多留意官方更新。
内容的提问来源于stack exchange,提问作者hjbello
相关产品推荐
相关产品推荐

