Sublime Text无一键删注释功能,需用正则分两步删除:先//.*$删行内注释,再/\*\*?[\s\S]*?\*/删块注释;注意限定文件类型、避开URL/字符串、人工抽检关键位置。

Sublime Text 里没有“一键删注释”的原生功能
别被插件名或论坛帖子骗了——Ctrl+/ 是切换注释,不是清除;Find → Find in Files 配正则能批量删,但默认不带“安全过滤”,误删 // 开头的字符串或 URL 很常见。
用正则查找替换最稳妥(支持多语言)
核心是区分“真注释”和“假注释”:比如 http://example.com 不能当注释删,/* comment */ 末尾的 */ 也不能单独匹配。推荐分两步走:
- 先删行内注释:
Find What填//.*$,勾选Regular Expression和Across Files(如果需要),Replace With留空 - 再删块注释:
Find What填/\*[\s\S]*?\*/,同样勾选正则,注意加?实现非贪婪匹配,否则会跨函数甚至跨文件吞掉大段代码 - JavaScript/TypeScript 用户额外注意:
template literal里的`// not a comment`不会被上面两条匹配到,安全;但若用了/*在字符串里(极少见),仍可能误伤
Python 或 Java 文件建议加文件类型限定
直接全局替换容易波及配置文件、JSON 或 Markdown 中的伪注释。操作前先确认当前视图语言:
- 右下角点击语言名(如
Plain text)→ 选Python或Java - 或者用
Find in Files时,在Where栏填*.py或src/**/*.java - 块注释在 Python 里本不存在,但有人用三引号模拟,此时
"""comment"""不会被/\*.*?\*/匹配,得另写正则"""[\s\S]*?"""或'''[\s\S]*?''',且要手动确认是否真为文档字符串
删完必须人工抽检三处
正则再准也是机器,以下位置最容易出问题:
- HTTP URL 含
//的行尾部分,例如fetch('https://api.com/v1') // v1 endpoint→ 删完变fetch('https://api.com/v1'),没问题;但const url = 'https://a.com//b'; // comment→ 可能错删成const url = 'https://a.com' - SQL 字符串里含
--(PostgreSQL 注释风格),Sublime 默认不识别,需额外加--.*$规则,且仅限.sql文件启用 - 删除后检查缩进是否错乱,尤其块注释包裹的是缩进代码时,
/*\n console.log(1);\n*/替换为空会导致空行塌陷,影响可读性
真正麻烦的从来不是怎么删,而是删完哪几行该留、哪几行其实藏着调试逻辑——别跳过 eyeball check。









