Ctrl+Shift+Enter自动补全语句结构,如if、for、function等,插入缺失的花括号、分号并定位光标;在TypeScript中还可补全interface或type完整结构,需光标位于关键词后且未输入成员。

Ctrl+Shift+Enter 补全语句时,别再手动敲分号或大括号了
WebStorm 会根据上下文自动补全缺失的语法结构。比如写完 if (x > 0) 按下这个组合键,它会自动补成 if (x > 0) { } 并把光标放在花括号内;写 return x 后按它,会自动加上分号(如果启用了分号插入)并换行。
- 默认只对支持的语句生效(如
if、for、function、return等),不是所有表达式都响应 - 如果没反应,检查是否在代码块中间(比如已写了左花括号),此时 WebStorm 认为“无需补全”
- 在 TypeScript 中,它还能补全
interface或type的完整结构,但需光标落在关键词后、未输入任何成员时
Alt+Enter 修错别字、补 import、转 const/let,一招多用
这不是“快速修复”菜单的快捷入口,而是上下文感知的智能操作触发器。光标停在哪,它就针对哪块代码提建议。
- 写错函数名(比如
conosle.log),光标放上去按它,立刻提示 “Change to console” - 引入未声明变量(如用了
lodash但没 import),它会列出可选的包并生成import语句 - 在
var x = 1上按它,可一键转成const x = 1,但注意:若变量后续被重新赋值,会转成let - 在 JSX 中写
className拼错成class,它也能识别并建议修正
Ctrl+Alt+O 清理 import 时,小心删掉“看似没用”的动态引用
这个操作不只是删掉未使用的 import,还会按字母序重排、合并同类项、甚至把命名导入转成解构形式(取决于设置)。
- 动态
import()不会被识别为引用,所以对应模块的静态import可能被误删 - 类型导入(
import type { X } from './x')默认不参与清理,除非开启 “Remove unused imports for types” - 如果项目用了
eslint-plugin-import的no-unused-vars规则,清理后可能和 ESLint 报错冲突,建议保持两者配置一致
Ctrl+Shift+F10 运行当前文件,但 JS/TS 文件得先配好运行配置
直接运行一个 .ts 文件不会自动调用 tsc 编译再执行,WebStorm 只是找匹配的运行配置。
- 第一次按会弹窗让你选配置类型:Node.js、Jest、TypeScript Compiler 等
- 若选 Node.js,它默认用
node直接跑,意味着你得确保该文件已编译(或用了ts-node) - 推荐配一个
ts-node配置:脚本路径填node_modules/.bin/ts-node,参数加--files,这样单文件运行才真正免编译 - 对
.test.ts文件,它可能默认走 Jest,而不是 Node —— 这取决于文件名模式匹配规则,不能只看扩展名
WebStorm 快捷键不是背下来就能快,关键在理解它背后触发的是哪个意图识别逻辑。比如 Alt+Enter 本质是“告诉我当前这坨代码还能怎么改”,而不是“帮我修错”。光标位置、光标前后的 token 类型、当前文件的语言服务状态,共同决定弹出什么选项。很多人卡在“按了没反应”,其实是光标没停在 WebStorm 能推理出意图的位置。


















