Visual Studio Code - 在所有 ES6 导入中应用重命名文件重构
Posted
技术标签:
【中文标题】Visual Studio Code - 在所有 ES6 导入中应用重命名文件重构【英文标题】:Visual Studio Code - apply rename file refactoring in all ES6 imports 【发布时间】:2016-10-11 09:41:32 【问题描述】:我已经使用 ES6 模块构建了 typescript 应用程序。
如何在不破坏引用重命名文件的 ES6 导入的情况下重命名表示模块的 ts 或 js 文件?
例如:
将 MyModule.ts
重命名为 RenamedModule.ts
-> 将所有文件中的 import * from './MyModule'
更改为 import * from './RenamedModule'
;
重命名文件时,是否有 VSCode 扩展或打字稿服务会在所有 ES6 导入中重命名模块路径?
编辑:
vote for this vscode feature on GitHub
【问题讨论】:
谁将此标记为离题?我相信这完全在范围内: • 程序员常用的软件工具;并且是 • 一个软件开发独有的实用、可回答的问题 重命名文件时使用webstorm
,它将重构您的整个项目并重命名所有导入和要求!它对打字稿也有很多支持。
@amirhoseinahmadi 我通常觉得当 OP 专门要求一个vscode中的解决方案。
【参考方案1】:
Vscode 现在支持此功能。很奇怪,当我对 js 文件进行文件重命名时,它不起作用。
但是,当我拖放文件时,vscode 会弹出一个对话框,询问我是否应该为我更新所有路径。有一个选项让它总是这样做,我选择了它。
之后,我尝试对 js 文件再次进行文件重命名,它重构了我的所有路径。我很想知道其他人是否有与我相同的经历。
【讨论】:
vscode 的这个功能非常糟糕。您建议的解决方法有时仅适用。你找到解决方案了吗,也许是一个扩展? 我遇到了同样的问题,我将javascript.updateImportsOnFileMove.enabled
设置为always
,如果我将文件从一个目录移动到另一个目录,它就不起作用...
几天前我刚刚拖动了一个包含文件的文件夹,它重构了我所有的路径。这是一个使用打字稿的 Angular 2+ 项目。【参考方案2】:
我只是在寻找同样的东西,发现了这个 VSCode 扩展:
move-ts
它很年轻,但似乎正在积极发展中。我在我的 Windows 机器上对其进行了测试,并立即遇到了使用反斜杠的问题。但是,已经有一个拉动请求来解决这个问题(不是我)。 一旦这个问题得到解决,我认为这可能就是你(我们)正在寻找的。 编辑:截至 2017 年 5 月 11 日,Windows 问题已修复。
关于 Typescript 本身here 的“重构移动文件”建议的讨论正在进行中,但似乎还处于早期阶段。 看来,在构建此功能之前,此功能不太可能包含在 VSCode 本身中,正如 open ticket for VSCode 解释的那样,它跟踪您在编辑中链接到的主要功能请求。
【讨论】:
【参考方案3】:使用一个名为“重命名”的插件 它可以在 Visual Studio Code 的插件部分下载。
您可以简单地使用大多数文本编辑器(例如 NotePad++)附带的 findRll 和替换
【讨论】:
以上是关于Visual Studio Code - 在所有 ES6 导入中应用重命名文件重构的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio Code 中查找和替换所有匹配项(在所有文件中)?
Visual Studio Code - 在所有 ES6 导入中应用重命名文件重构
visual studio code 重置所有设置(还原默认设置)
visual studio 和visual studio code 的区别是啥