SideBarEnhancements 的 Batch Rename 菜单项不显示是因 Sublime 未识别合法操作范围:需显式添加文件夹到项目、重启编辑器、启用 enable_batch_rename、同级多选、避开系统受控路径;输入后缀只填 ts(非 .ts);模板中 {{name}} 含原扩展名,应配合过滤器或限定文件类型;atomic_save 需设为 false 避免保存异常;改名后需手动刷新侧边栏与重载文件;macOS 大小写重命名在 APFS 下实为覆盖;命令行改后缀更可靠,须先预览范围、处理空格路径、正确使用字符串替换语法。

SideBarEnhancements 的 Batch Rename 菜单项为什么没出现
不是插件没装好,是 Sublime 没识别出合法操作范围。常见原因有:
没通过 Project → Add Folder to Project… 显式添加目录,仅拖拽文件夹进窗口无效;
插件已安装但未重启 Sublime,或 ST4 某些版本需手动执行 Package Control: Satisfy Dependencies;Packages/User/SideBarEnhancements.sublime-settings 中缺少 "enable_batch_rename": true 这一行;
多选的文件不在同一层级目录下(跨子目录不支持);
路径位于 C:\Program Files\ 或 macOS 的 /System 等受控位置,系统静默拒绝写入。
输入新后缀时填 ts 还是 .ts
只填 ts,不是 .ts。插件会自动补点;填 .ts 会导致生成 ..ts,文件名直接损坏。
模板里也不能写死扩展名,比如 {{name}}.ts 看似合理,但若原文件是 utils.js,结果会变成 utils.js.ts——因为 {{name}} 包含原扩展名。
正确写法是:{{name|replace:'.js':''}}.ts(需插件支持该过滤器),或更稳妥地:只选中 .js 文件,再用 {{name}}.ts。
改完后 Sublime 标签页还是旧文件名,怎么同步
这不是 UI 卡顿,是 Sublime 内部路径缓存未同步,最危险的坑在于 atomic_save 默认开启:
打开 Preferences → Settings,在右侧用户设置中加入 "atomic_save": false,否则重命名后保存会写回旧路径或新建同名文件;
重命名完成后,已打开的标签页不会自动更新标题和内容,需手动按 Ctrl+R(Windows/Linux)或 Cmd+R(macOS)刷新侧边栏;
已打开的文件不会自动重载,需右键标签页 → Revert,或关闭后重新双击打开新文件名;
macOS 上若重命名仅改变大小写(如 FILE.TXT → file.txt),APFS 默认为 case-insensitive,实际是覆盖而非重命名,无提示。
命令行批量改后缀比插件更可靠的关键点
命令行不是“更高级”,而是更透明、可验证、可复现:PowerShell(Windows)示例:Get-ChildItem *.js | Rename-Item -NewName { $_.Name -replace '\.js$', '.ts' };Bash(macOS/Linux)示例:for f in *.js; do mv "$f" "${f%.js}.ts"; done;
执行前务必先确认范围:ls *.js 或 Get-ChildItem *.js,别在工程根目录盲目运行;${f%.js} 是 Bash 参数展开,删结尾 .js;PowerShell 不支持该语法,必须用 -replace 或 $_.BaseName;
含空格路径必须加引号:"$f",否则 file name.js 会被拆成两个参数,mv 报错。

















