VSCode中需手动绑定快捷键或通过命令面板调用editor.action.transformToUppercase/editor.action.transformToLowercase实现大小写转换,仅作用于选中文本或当前行;下划线转驼峰需插件Snake Case to Camel Case;titlecase按单词首字母大写,不适用于缩写变量名。

VSCode 里 editor.action.transformToUppercase 和 editor.action.transformToLowercase 怎么用
这两个命令不是默认绑定快捷键的,得自己配。直接按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输“Transform to Uppercase”回车,就能把选中的单词变大写;同理搜“Lowercase”可变小写。适合临时改常量名、SQL 关键字或日志字符串。
常见错误现象:没选中任何文本就触发,结果整行被转——因为 VSCode 默认对当前光标所在行生效;如果光标在空行或空白处,可能什么也不发生。
- 务必先选中目标文本,哪怕只选一个词
- 多行同时选中时,每行独立转换,不会跨行合并处理
- 中文、数字、符号保持原样,只影响 ASCII 字母
怎么一键把 user_name 转成 userName(下划线转驼峰)
VSCode 原生不支持下划线 ↔ 驼峰互转,但装一个轻量插件就能解决:Snake Case to Camel Case(作者:bradgashler)。装完后右键选中文本,菜单里就有“Convert to camelCase”和“Convert to PascalCase”,也可设快捷键。
使用场景:改 Python/Go 变量名后同步到前端 JS,或统一 API 字段命名风格。
- 插件会自动跳过开头的下划线(如
_private_field→privateField) - 连续下划线(
first__second)会被当作单个分隔符处理 - 不支持反向转换(驼峰→下划线)——这个得换另一个插件,比如
CamelCase to Snake Case
editor.action.transformToTitlecase 为什么转出来怪怪的
这个命令本质是“首字母大写”,规则是:把每个单词首字母大写,其余小写。所以 HTTP_STATUS_CODE 会变成 Http_Status_Code,而不是你想要的 HttpStatusCode。
它适合标题、注释里的普通英文短语,不适合变量名转换。
- 遇到全大写缩写(如
ID、URL、API)会错误拆解为Id、Url、Api - 带连字符的(
web-hook)也会被当两个词处理 - 如果真需要智能缩写保留,得用正则替换:
\b([a-z])([a-z]*)→$1$2配合手动调整,或者用插件
自定义快捷键做驼峰/下划线批量转换(不用插件)
可以靠 VSCode 的 keybindings.json + 正则替换实现,但要注意:这是模拟行为,不识别语义,只认字符模式。
例如,给“下划线转小驼峰”配快捷键:
[
{
"key": "ctrl+alt+c",
"command": "editor.action.replaceAll",
"args": {
"find": "(^|_)([a-z])",
"replace": "$2",
"isRegex": true,
"restrictFind": "selection"
},
"when": "editorTextFocus && editorHasSelection"
}
]
说明:这只能处理简单情况(user_name → userName),但对 user_id_type 会错成 userIdType(正确),而 _private_flag 会变成 privateFlag(也合理);但 XML_HTTP_REQUEST 就完全无能为力。
- 正则无法区分缩写和普通单词,别指望它懂
JSON应该保持大写 - 所有替换都基于当前选区,未选中=不生效
- 改完记得检查边界情况:开头下划线、数字混入(
item_2_name)、大小写混合(USER_Name)
created_at 又有 updatedAt,这时候光靠快捷键没法自动判断意图,得人盯一眼。


















