webstorm拼写检查是后台自动运行的静态分析,非快捷键触发;需在settings→editor→inspections中启用typo并配置作用范围,悬停提示才能准确识别问题类型。

拼写检查不是靠快捷键触发的
WebStorm 的拼写检查(Typo)是后台持续运行的静态分析,不依赖快捷键启动或刷新。你不会按某个组合键“打开拼写检查”,它默认就开着——问题在于它查什么、在哪查、为什么没标红你写的 seperate。
常见误解是:既然有拼写提示,那一定和 Ctrl+Space 补全或 Alt+Enter 修复一样,属于可触发动作。实际不是:Typo 是 Inspection 类型检查,和语法错误同级,由编辑器自动扫描并标记,唯一可控的是它的作用范围和开关状态。
为什么 userNmae 被标红,但 'recieve' 不标红
这是 WebStorm 默认策略导致的典型错觉:它对不同上下文区别对待。
-
userNmae是变量名,归类为“标识符”,默认启用Spelling检查(注意不是Typo),所以会标红 -
'recieve'是字符串字面量,归类为“自然语言文本”,走的是Typo检查路径——但该检查默认只启用在 Comments 和 Strings 中,且受技术词典过滤 - 如果你在
package.json里写了"name": "my-app",这个name是 JSON key,不在默认检查范围内,除非手动开启Check keys in JSON/YAML files
真正要调的不是快捷键,而是 Inspection 设置
想让拼写检查“管用”,必须直击源头:Settings → Editor → Inspections → Spelling → Typo(或 Spelling,取决于版本)。
- 确认
Typo已勾选,Severity 设为Typo(黄色波浪线) - 点右侧
Options,确保勾选:Check strings、Check keys in associative arrays(PHP)、Check keys in JSON/YAML files、Check HTML - 如果项目含 Vue/JSX,还要单独检查
JavaScript → Spelling是否启用(它独立于全局Typo) - 右下角状态栏看当前文件类型(如
JSON),若类型不对,Typo可能压根不生效
关不掉?先看波浪线到底是谁画的
关了 Typo 还有波浪线,大概率不是拼写问题,而是其他检查伪装成拼写提示:
- 悬停看提示文字:开头是
Typo:或Spelling mistake:才是真拼写;如果是ESLint:或Identifier 'xxx' is not in camel case,得去 ESLint 配置里改camelcase规则 -
JavaScript → Probable bugs → Equality operator会把==标成红色波浪线,提示 “Use === instead”,视觉上极像拼写报错 -
Editor → General → Typing → Show suggestions as you type开启后,打字中途弹出拼写建议浮层,这不是 inspection,得去 Typing 设置里关
最稳妥的做法永远是:鼠标悬停在波浪线上,看第一行提示——它说了算。别猜,也别盲目关设置。











