vue2项目中vetur重构需严格限定范围:全局替换须设*.vue过滤,f2重命名仅限块内,灯泡提示依赖eslint与vetur双重验证,extract功能基本不可用,手动拆分更可靠。

Ctrl+Shift+H 做全局替换前必须限定范围
Vue2 项目里大量使用 v-bind:、v-on:、v-model.sync 等指令,批量替换成缩写(如 :、@、v-model)是常见需求,但直接 Ctrl+Shift+H 全局扫容易出错。
- 务必在 Include files 输入框填
**/*.vue,避免误改.js或.ts中的字符串字面量 - 正则启用时,
v-bind:(\w+)→:$1是安全的,但要勾选.*图标并逐条预览——尤其注意是否匹配到了v-bind:style="{...}"里的内部内容 - 改完立刻执行
git diff --no-index或至少看一眼变更列表,重点检查<template></template>是否出现未闭合标签或属性值被截断 - 不要跳过本地运行
npm run serve验证:某些模板表达式里嵌套了v-bind:(比如<div v-bind:>),这类动态绑定不能简单替换 <h3>F2 重命名只在 <script> 区生效,且依赖 Vetur 正确识别</script> </h3> <p>你在 <code><script></script>里定义了一个data()返回的userName,想统一改成fullName?F2 只对这部分有效,<template></template>里的{{ userName }}不会联动更新——Vetur 不提供跨区块语义重命名。

