必须用 Ctrl+Shift+F 打开全局查找面板,在 Where 框填如 src/*/.js 限定.js文件范围;替换前需确认勾选 Whole Word 或用负向断言防误匹配;Replace All 后务必 Ctrl+Shift+S 保存全部,否则修改丢失。

用 Ctrl+Shift+F 限定后缀范围再替换
想只改 .js 文件里的某段代码,不能靠 Ctrl+H(它只作用于当前文件),必须用全局查找面板。快捷键是 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS),打开后在 Where 框里填明确的路径+后缀模式,比如:src/**/*.js 或 ./src/*.js。别留空或只写 .,否则会扫整个磁盘根目录,慢且危险。
常见错误现象:点了 Replace All 却发现 .ts 或 .json 文件也被动了——大概率是 Where 没设对,或者忘了关掉 Regex 导致正则跨文件误匹配。
- 路径通配符支持
**(递归子目录),但需勾选Regular Expression才生效 - 排除目录用逗号分隔,如
src,-node_modules,-dist - 若项目没加载为“Project”,
Where框可能灰显或只显示Open Files,先执行Project → Add Folder to Project…
正则模式下安全匹配变量名或路径
直接搜 user_id 可能干掉 username 或 JSON 字符串里的 "user_id"。得用上下文锚定,避免误伤。
Sublime 的 \b 对下划线不敏感,\buser_id\b 会匹配到 username。更稳的写法是手动加边界判断:
- 用
(?(负向先行断言 + 负向后行断言) - 或退一步:勾选
Whole Word+ 输入user_id(前后加空格),但注意别漏掉行首/行尾/括号边界的场景 - 路径类替换如
require('./utils.js')→require('./utils.ts'),建议用require\(\'.\/([^)]+)\.js\'\)匹配,替换为require('./$1.ts')
替换后必须 Save All,否则改动丢失
Sublime 不自动保存批量替换结果。点完 Replace All 后,所有被改的文件标签页右上角会出现星号(*),但内容仍停留在内存里。关掉窗口或重启,所有修改直接丢进虚空。
这是最常被忽略的操作断点,尤其当文件很多、你只记得“已经替完了”。
- 务必按
Ctrl+Shift+S(Windows/Linux)或Cmd+Shift+S(macOS)执行Save All - 如果某个文件被其他进程占用(如 Webpack 正在监听),保存会失败,但 Sublime 不弹错误提示,只在状态栏闪一下“Permission denied”——得盯着看
- Git 用户建议先
git status确认哪些文件真被改了,再决定是否提交
改后缀文件的内容替换要分两步走
先改磁盘文件名(如 utils.js → utils.ts),再改代码里对应的引用路径,这两步不能混。用 Ctrl+Shift+F 在全项目搜 .js,出来的结果里有些是字符串字面量、有些是模块路径,得人工区分。
例如:搜 config.js,可能命中 const data = require('./config.js');(该替),也可能命中 if (ext === 'js') { ... }(不该替)。
- 先用
Where: *.js找出所有.js文件,用 SideBarEnhancements 批量重命名(注意填ts,不是.ts) - 再用
Where: project+Regex搜require\(\'.\/[^)]+\.js\'\)或import [^;]+ from \'[^\']+\.js\',逐条确认替换 - 改完后检查 TS 编译:
tsc --noEmit,看是否报Cannot find module——说明引用路径没同步更新

















