想把代码块移到另一个文件?vscode 一键移动!

2023 年 9 月,vscode 支持了

一键把一段代码从一个文件移到另一个文件,且同步更新所有引用和 import

话不多说,大家看官网的 GIF,问题我会在后面指出

操作流程

第一步,点击变量,看到灯泡

第二步, 点击灯泡,选择 Move to file

第三步,选择一个文件,比如 hero.model.ts

第四步,查看 git 变化,路径会自动更改,代码也会移到目标文件

第五步,解决问题

  • 查看目标文件里之前是不是 import 过要移动的代码,这里就是 HeroBase,如果有,把 import 删掉。 这应该是个 bug,不过幸好影响范围不那么大,一次操作只有一个文件可能有问题。
  • import 不会自动去重,比如

如果把 bar 移到 b.ts 里,会出现 x 的重复 import

  • 另一个似乎不影响的小问题,要移动的代码下面的注释也没了,移过去的地方也没有。不过如果注释下面还有代码,这个注释就不会动。

实话说,有了这个功能,移动代码,会省事很多,但目前使用还是建议测试下再提交代码!

其他的重构技巧

选中变量名或文件名, F2 重命名,也会自动同步修改所有引用!

如果想先预览下,Shift+Enter

当然,这个是不是真的能替换所有引用,跟你的项目和框架也有些关系。 像 Angular template 上的变量,经常就无法自动更新。

重构里面的其他选项

选中一段代码,右击,点击 重构或 Refactor

你就能看到一堆重构技巧!

尽情享受!

发布原文

相关推荐
yuanyxh10 小时前
Mac 软件推荐
前端·javascript·程序员
万少10 小时前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
某人辛木11 小时前
Web自动化测试
前端·python·pycharm·pytest
Kagol11 小时前
Superpowers GSD gstack AgentSkills深度测评
前端·人工智能
excel12 小时前
JavaScript 字符串与模板字面量:从表象到本质理解
前端
京东云开发者12 小时前
当AI成为导演-如何用AI创作动漫短剧
前端
李白的天不白13 小时前
使用 SmartAdmin 进行前后端开发
java·前端
乘风gg13 小时前
🤡PUA AI Coding 工具 的 10 条终极语录
前端·ai编程·claude
学Linux的语莫13 小时前
Vue 3 入门教程
前端·javascript·vue.js
怕浪猫14 小时前
第一章、Chrome DevTools Protocol (CDP) 详解
前端·javascript·chrome