Sublime Text原生不支持UPPER_SNAKE_CASE转换,需安装EasyTransform插件实现:调出命令面板→输入“Transform: To UPPER_SNAKE_CASE”执行;该插件轻量稳定,支持缩写识别与多种分隔符,优于正则临时方案。

Sublime Text 没有内置 UPPER_SNAKE_CASE 转换功能
默认安装的 Sublime Text 不提供「选中文字 → 转为 UPPER_SNAKE_CASE」的一键操作。这不是配置遗漏,而是原生不支持——它只内置了 snake_case、camelCase、PascalCase 等几种基础转换,UPPER_SNAKE_CASE(即全大写+下划线)被排除在外。
用插件 Package Control 安装 EasyTransform
最轻量、最稳定的方案是安装 EasyTransform 插件。它不依赖 Python 环境,不修改核心逻辑,且支持精确匹配单词边界(避免把 getURL 错转成 GET_U_R_L)。
- 按下
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),调出命令面板 - 输入
Package Control: Install Package并回车 - 搜索
EasyTransform,点击安装 - 安装完成后,选中文本,再按
Ctrl+Shift+P,输入Transform: To UPPER_SNAKE_CASE即可执行
手动触发时注意字符范围和分隔逻辑
EasyTransform 的转换行为依赖于你选中的内容是否含空格、连字符或大小写变化。它会自动识别单词边界,但以下情况需手动干预:
- 选中
userLoginId→ 正确转为USER_LOGIN_ID - 选中
user-login-id→ 也会转为USER_LOGIN_ID(支持短横线作为分隔符) - 选中
XMLParser→ 转为XML_PARSER(保留缩写大写组合) - 但若选中
parseXMLData→ 可能变成PARSE_XMLDATA(误将XMLData当作一个词),此时建议先用Ctrl+Alt+Shift+P触发Transform: Split CamelCase预处理
不想装插件?用正则替换临时救急
适用于单次、小范围转换,不推荐日常使用(易出错、不可逆、不处理缩写):
Find: ([a-z])([A-Z])|([A-Z])([A-Z][a-z]) Replace: $1$3_$2$4
然后全选 → Ctrl+H 打开替换面板 → 粘贴上述内容 → 勾选 Regular Expression → 点击 Replace All → 再全选 → Ctrl+K Ctrl+U(转为大写)。
这个正则只能处理常见驼峰,对 iPhone、URLParser 等边界 case 无能为力;而且一旦多点一次 Replace All,就可能产生双下划线 USER__LOGIN__ID。
真正稳定可用的路径只有 EasyTransform。别在正则里反复调试边界条件,插件已覆盖 95% 的真实命名场景。唯一要记住的是:每次更新 Sublime 后,如果发现命令消失,重装一遍 EasyTransform 就行——它不绑定特定版本,但偶尔因缓存未加载。










