最稳方式是用Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS)打开命令面板,输入Transform to Uppercase/Lowercase回车执行;该法不依赖快捷键配置、不被输入法劫持,且要求焦点在编辑器文本区并存在非空选区。

怎么触发大小写转换命令最稳?
直接用 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)打开命令面板,输入 Transform to Uppercase 或 Transform to Lowercase 回车执行。这是唯一不依赖快捷键配置、不被输入法或插件劫持的可靠路径。
别搜 Toggle Case 或 Change Case——前者是旧名残留,后者虽能用但容易拼错;也别输 Uppercase 少个 r,VSCode 不模糊匹配,输错就查不到。
常见失败现象:按了没反应 → 八成光标不在编辑器文本区,比如停在终端、搜索框、设置页里;或者根本没选中任何字符(只把光标放在单词上不算选中)。
为什么我配了快捷键却没反应?
VSCode 默认没绑定任何快捷键,Ctrl+Shift+U 和 Ctrl+Shift+L 是常见误传,不是出厂设置。你必须手动配置:
- 打开
Ctrl+K Ctrl+S进入键盘快捷方式 - 搜索
Transform to Uppercase,右键 →「添加快捷键」→ 按下组合键(如Ctrl+Alt+U) - 同理配
Transform to Lowercase,建议用对称组合(如Ctrl+Alt+L)
容易踩的坑:
-
Ctrl+U被撤销格式化占用,Cmd+U在 macOS 上常被输入法拦截 - 配完必须在快捷键面板里反向搜索该组合键,确认只有一条匹配,否则冲突会静默失效
- Vim 插件启用后,普通模式下这些快捷键完全不生效,得先进入可视模式(
v或V)
选中范围不对,转换结果就废了
这两个命令严格依赖两个条件:editorTextFocus(焦点在编辑器文本区) + 非空选区。状态栏右下角显示类似 2 lines, 17 chars 才算靠谱;如果显示 0 chars 或只有空格,说明选区无效。
安全批量选中的方法:
-
Alt+Click(Windows/Linux)或Option+Click(macOS)点选多个离散变量名 -
Shift+Alt拖动做列选择,适合左对齐的 key 列表或 const 声明块 -
Ctrl+F输入正则\b[a-zA-Z_][a-zA-Z0-9_]*\b,勾选「正则」「全字匹配」,再按Alt+Enter全选 —— 但注意:字符串和注释里的同名文本也会被选中
多光标时,每个光标独立执行转换;某个光标选区为空,那一处就跳过,不报错也不提示。
转换行为到底改什么?别指望它懂语义
Transform to Uppercase 底层调用 JavaScript 的 toUpperCase(),Transform to Lowercase 同理。它只做纯字符映射,不识别驼峰、不跳过引号、不区分变量名和字面量。
典型效果:
- 选中
getUserId→ 变成GETUSERID(不是GETUSERID,不拆词) - 选中
user_name→ 变成USER_NAME(下划线保留) - 选中
"UserName"(含引号)→ 变成"USERNAME"(引号一起转) - 含 Unicode 如
café→ 多数情况变成CAFÉ,但土耳其语i/I映射不兼容 ICU 规则
想反转大小写(A→a、b→B)?VSCode 原生不支持,Ctrl+U 是 toggle case,但它是逐字符翻转,不是“全转小写”,别混用。


















