SideBarEnhancements重命名后必须手动全局替换代码引用,因其仅操作文件系统、不解析AST或扫描文本;需用Ctrl+Shift+F在精确范围内搜索旧路径(如./utils.js),结合正则精准匹配import/require语句并分轮替换,替换后务必Save All且检查webpack配置、HTML脚本及JSON路径等隐藏引用。

SideBarEnhancements重命名后,必须手动全局替换代码引用
插件改完文件名,import、require、路径字符串里的旧名一个都不会动——这不是 bug,是设计边界。SideBarEnhancements 的 Batch Rename 只操作文件系统,不解析 AST,也不扫描文本内容。
常见错误现象:重命名 utils.js → helpers.ts 后,import { foo } from './utils.js' 仍存在,运行直接报错。
- 务必在重命名完成、侧边栏刷新(
Ctrl+R)后,立刻执行Ctrl+Shift+F打开「Find in Files」 - 「Where」填精确范围,比如
./src/**/*.ts,./src/**/*.js,避免漏掉配置或测试文件 - 查找内容用字面量更安全:
./utils.js;若需正则,记得转义点号:\.\/utils\.js - 替换前先点
Find All,确认所有匹配项都是真实引用,不是注释或字符串中的偶然出现
用正则精准匹配 import/require 路径,避开误伤
直接搜 utils.js 风险极高,可能把 console.log('old utils.js') 或 // fallback to utils.js 也替掉。得限定上下文。
安全写法示例(勾选 Regex 和 Whole Word):
查找:from\s+['"]\.\/utils\.js['"]
替换:from './helpers.ts'
说明:
-
from和require(逻辑不同,需分两轮操作;不能指望一个正则通吃 -
\s+容忍空格和换行,['"]匹配单双引号,\.转义点号 - 若项目混用
import和require,第二轮查:require\s*$$\s*['"]\.\/utils\.js['"]\s*$$ -
Whole Word在这里反而会失效(因为from后接空格),建议关掉,靠正则结构控制精度
跨文件替换后,必须手动 Save All,否则修改全丢
Sublime 的 Replace All 只把变更缓存在内存里,标签页出现星号 * 就是未落盘信号。关掉窗口、崩溃、甚至切到其他应用再切回,都可能丢失全部改动。
- Windows/Linux:按
Ctrl+K松开,再按Ctrl+B - macOS:按
Cmd+K松开,再按Cmd+B - 右下角状态栏若显示
RO(只读),替换会静默失败——先右键文件 →Permissions→ 去掉只读 - 大文件(>5MB)可能被跳过,右下角看编码是否为
UTF-8;GBK 或带 BOM 的文件需先右键 →Reopen with Encoding→UTF-8
为什么改完引用,运行还报错?检查三类隐藏引用
即使 import 和 require 都改了,仍有三类地方容易漏掉,且 Sublime 默认搜索不到:
-
webpack.config.js或vite.config.ts里的resolve.alias、externals等硬编码路径 - HTML 中的
<script src=".../utils.js">—— 默认Where不含*.html,要手动加 - JSON 配置(如
tsconfig.json的paths、package.json的main字段)—— JSON 文件默认编码可能不是 UTF-8,需单独确认 - Git diff 是最后一道防线:执行
git status看哪些文件真被改了,git diff快速扫一遍变更是否合理

















