Cmd+. 无反应因拼写检查未启动,需确认状态栏显示Spell标识、cSpell.enabled为true、文件语言模式匹配;用户词典不生效多因JSON语法错误或字段位置错误;误报变量名可通过wordsOnlyCheckInCommentsAndStrings或ignoreRegExpList过滤。

Cmd+. 快捷键没反应,先确认拼写检查是否真在运行
快捷键失效往往不是键位冲突,而是底层检查根本没启动。右下角状态栏必须显示 Spell 或语言标识(如 en、zh),否则说明插件未激活或语言服务未加载。
检查三处硬性条件:
-
cSpell.enabled必须为true(不是字符串"true",也不是被注释掉) - 当前文件的语言模式要匹配:比如 JSX 文件得设为
javascriptreact,不是javascript;Markdown 文件得是markdown,不是plaintext - 如果用了 VSCode 1.89+ 内置拼写(非 Code Spell Checker),它只支持
plaintext、markdown、text三类,其他语言默认不查——此时必须装 Code Spell Checker 并禁用内置的editor.spellcheck
cSpell.userWords 不生效?检查 JSON 语法和字段位置
手动往 settings.json 加词时,两个低级错误最常导致静默失败:
- 字段名写错:
cSpell.userword(少个s)或cSpell.userWords被塞进editor对象里(正确位置是根级) - JSON 语法破溃:数组末尾多逗号、单词没用英文双引号包裹、中文引号混入(如“React”)、或用了单引号
验证方式:打开命令面板(Cmd+Shift+P),运行 Developer: Toggle Developer Tools,看 Console 是否报 Invalid cSpell configuration 类错误。
项目级词典 vs 用户级词典:添加新词时文件路径决定落点
VSCode 不会统一往用户词典写词——它优先按项目结构路由:
- 项目根目录存在
cspell.json→ 右键「Add to Workspace Dictionary」会写入该文件 - 项目根目录存在
.vscode/settings.json且含cSpell.words→ 新词加进这个数组 - 以上都不存在 → 才 fallback 到用户级
settings.json的cSpell.userWords
想强制走用户词典?别依赖右键菜单,直接编辑用户 settings.json,往 cSpell.userWords 数组里 push 单词,确保格式合法。
拼写检查误报变量名?靠 ignoreRegExpList 或内联注释精准过滤
驼峰命名(如 getUserName)被标红,不是插件太蠢,是你没关语法感知过滤。Code Spell Checker 默认查所有文本,包括代码标识符。
推荐两种做法:
- 全局限制范围:设
"cSpell.wordsOnlyCheckInCommentsAndStrings": true,只扫注释和字符串,最安全 - 按语言精细控制:在
cSpell.languageSettings里配ignoreRegExpList,例如 JavaScript 下加"\b[a-z][A-Za-z0-9]*\b"(慎用,可能漏掉真实拼写错误) - 临时绕过:在某行变量声明前加
// cspell:ignore-next-line,或整块忽略用/* cspell:disable */
真正容易被忽略的是:这些正则一旦写错(比如忘了转义 ),整个规则就失效,但不会报错——你只能靠反复测试波浪线是否消失来验证。


















