选Transform to Lowercase命令,它是VSCode原生支持、最直白稳定的全转小写功能,不需插件、不依赖语言模式,仅作用于选中文本且只转换ASCII字母,其余字符原样保留。

直接用 Transform to Lowercase 命令,不用装插件、不依赖语言模式,选中后执行就生效。
选哪个命令?别被别名绕晕
VSCode 内置的大小写转换命令有多个等效名称,但底层都是同一个动作。你只需要认准以下任一写法(大小写不敏感,拼对关键单词就行):
-
Transform to Lowercase—— 最推荐,命名最直白,所有版本都稳定支持 -
Change Case to Lowercase—— 同样有效,是同一命令的别名 -
editor.action.transformToLowercase—— 这是命令 ID,只在 JSON 快捷键配置或扩展开发里用,日常不用记
别搜 Toggle Case 或 Ctrl+U,那是逐字符翻转(A→a,b→B),不是“全转小写”。也别输错成 Lowercas 或 Lowecase,VSCode 不会模糊匹配。
为什么按了没反应?八成卡在这几个地方
这个命令极其轻量,出问题几乎全是操作上下文不对:
- 没真正选中文本 —— 光标停在单词上不算,必须高亮至少一个字符(哪怕只选一个字母)
- 焦点不在编辑器里 —— 快捷键和命令面板只在
editorTextFocus下生效,终端、搜索框、设置页、文件树里都无效 - 输入法处于中文状态 —— 尤其搜狗、百度输入法常劫持
Ctrl+Shift+P,切到英文再试 - 用了 Vim 插件且处于普通模式(Normal mode)—— 此时快捷键被拦截,得先按
v进入可视模式再操作
如果配了自定义快捷键(比如 Ctrl+Alt+L),打开「键盘快捷方式」设置搜一下,看是否被其他命令覆盖(VSCode 会标黄提示)。
多行、带符号、驼峰命名怎么处理
Transform to Lowercase 的行为非常确定:只改 ASCII 字母,其余一切照旧。
- 多行选中 → 每行独立转换,不跨行合并,换行符保留
- 含连字符、下划线、数字、空格 → 全部原样保留,比如
HTTP_STATUS_CODE变成http_status_code,userName123变成username123 - 驼峰命名如
getUserId→ 变成getuserid,它不识别词界,不会变成getuser_id或get-user-id - Unicode 字符(如法语
café)→ 行为取决于系统 locale,可能变成CAFÉ或CAFÉ;中文、日文字符完全不动
如果你要的是下划线 ↔ 驼峰互转,这不是这个命令的职责,得用插件(如 Snake Case to Camel Case)或正则分步处理。
想实现“按一次就反转”?原生做不到
VSCode 没有 toggleCase 原生命令。所谓“反转”,比如把 USERNAME 变回 username,再按一次又变回去,靠内置功能只能手动来回切两个命令。
真需要一键反转,只有两个靠谱选择:
- 装
change-case扩展,绑定它的changeCase.toggle命令,支持无选中时自动识别当前单词并翻转 - 自己写两条快捷键(
Ctrl+Alt+U和Ctrl+Alt+L),靠肌肉记忆切换 —— 简单、零依赖、不引入额外逻辑
别指望用正则替换救急:\L 这类修饰符在 VSCode 查找替换里不支持,强行写 $0 或 \l$1 会直接当普通字符串处理。


















