sidebarenhancements 的 batch rename 点不出来,是因为未进入项目上下文:必须通过 project → add folder to project… 显式添加目录,拖入或双击无效;需重启 sublime 并在用户设置中启用 "enable_batch_rename": true;右键仅在侧边栏多选时出现该选项,单文件只有 rename;后缀填 ts(不带点),否则生成 ..ts 损坏文件名;atomic_save 必须设为 false 防止标签页路径错乱。

SideBarEnhancements 的 Batch Rename 为什么点不出来
不是插件没装好,而是 Sublime 没进入「项目上下文」:必须通过 Project → Add Folder to Project… 显式添加目录,拖进窗口或双击打开都不算。装完 SideBarEnhancements 后需重启 Sublime,且要在用户设置 Packages/User/SideBarEnhancements.sublime-settings 中手动加这一行:"enable_batch_rename": true。右键菜单只在侧边栏多选文件时出现 Batch Rename,单个文件右键永远只有 Rename。
输新后缀时填 ts 还是 .ts
必须填 ts,不能带点。插件会自动补上点号;如果填 .ts,结果是 ..ts,文件名直接损坏。这个错误无法撤销,且无任何提示——插件静默失败,原文件不动,但你可能以为改成功了。更危险的是,若目标文件已存在(比如 utils.ts 已存在),utils.js 重命名会失败,同样不报错、不提醒。
PowerShell 或 Bash 命令改后缀前必须确认三件事
- 先运行
Get-ChildItem *.js(Windows)或ls *.js(macOS/Linux),确认匹配范围,别在工程根目录盲目执行 - 含空格路径必须用引号包裹变量:
"$f",否则file name.js被拆成两个参数,mv报错 - Bash 的
${f%.js}是参数展开,删结尾.js;PowerShell 不支持该语法,得用$_.Name -replace '\.js$', '.ts',混用会直接报错
改完后 Sublime 标签页还显示旧名字,不是 Bug 是配置问题
根源在默认开启的 "atomic_save": true。文件磁盘名已变,但编辑器仍持旧句柄,此时保存会写回错误路径,甚至覆盖其他文件。解决方法是打开 Preferences → Settings,在右侧用户设置中加入:"atomic_save": false。验证是否生效:重命名后看标签页标题是否立刻变成新名;若仍是旧名+星号(*),说明没生效。这一步常被跳过,却是避免数据错乱的关键。











