webstorm无默认大小写切换快捷键,需手动在keymap中为“convert case”子项(如upper case)绑定快捷键(如ctrl+shift+u),其转换依赖分隔符识别,驼峰/下划线式易出错;批量重命名必须用shift+f6重构而非convert case。

WebStorm 没有默认快捷键能直接切换大小写,Ctrl+Shift+U 按了没反应是正常现象——功能存在,但快捷键未绑定;排序行也必须手动触发,没有“自动按字母排”的隐式行为。
怎么给 Convert Case 绑定快捷键
不配就只能鼠标点五次:编辑 → 转换案例 → 选“大写”或“驼峰式”。配了之后一键生效,推荐固定用 Ctrl+Shift+U(Windows/Linux)或 Cmd+Shift+U(macOS):
- 按
Ctrl+Alt+S(macOS 是Cmd+,)打开设置 - 左侧选
Keymap,右上角搜convert case - 展开后能看到
Upper Case、Lower Case、To Camel Case等子项 - 右键任一选项 →
Add Keyboard Shortcut→ 按下组合键 → 点 OK - 如果提示冲突,比如
Ctrl+U已被“滚动到顶部”占用,就别硬占,换Ctrl+Alt+U
驼峰式 / 下划线式转换为什么总出错
这类转换不是语义识别,而是基于分隔符(_、-、空格、大写字母边界)做机械切分,所以结果常和直觉不符:
- 对
XMLHttpRequest执行“下划线式”,得到x_m_l_http_request,因为 WebStorm 把每个大写字母都当分隔点 - 对
user_name_2转“驼峰式”,结果是userName2,不是userName_2——下划线被吃掉了,数字直接接在后面 - 对
my-component.js转“驼峰式”,变成myComponentJs,.js后缀也被参与转换 - 光标放在单词中间但没选中?它会自动把整个标识符当作用域,不是 bug,是设计如此
想批量改变量名,别用 Convert Case
比如要把所有 user_id 改成 userId,Convert Case 只改当前选中内容,不会更新引用、不会跨文件、不校验作用域。真要批量重命名,必须用重构:
- 双击选中变量名(比如
user_id) - 按
Shift+F6(重命名重构) - 输入新名
userId→ 回车 - WebStorm 自动扫描并更新所有引用,包括 import、调用处、JSX 中的属性名等
按字母顺序排序代码行
这个操作不依赖选区结构,但也不自动发生——必须显式触发,且只对当前选中行或整个文件生效:
- 选中多行 → 右键 →
Sort Lines,或走菜单:编辑 →排序行 - 没选中时,它会对整个文件排序(慎用!尤其含注释、import 顺序、配置块时)
- 排序是纯字典序,
z.js会排在app.js前面,不按文件类型或逻辑分组 - 没有“反向排序”的快捷键,得手动进菜单选
反转行
真正容易被忽略的是:Convert Case 和 Sort Lines 都不保存历史、不支持撤销跨操作(比如先转驼峰再排序,不能一键撤回两步),一旦误操作,得靠 Ctrl+Z 一步步倒退。建议批量处理前先 Ctrl+D 备份当前文件,或确保 Git 已暂存干净状态。











