Code Spell Checker 默认不检查 Vue 文件中的变量名拼写,因其仅校验字符串、注释和普通文本;需将 cSpell.checkPrograms 设为 true(布尔值)、cSpell.enabledLanguageIds 包含 "vue" 和 "typescript",并正确配置 cSpell.ignorePaths 排除 node_modules 等路径,否则 userNmae 不会被标红。

VSCode 默认不检查 Vue 文件中的变量名拼写,cSpell.checkPrograms 必须设为 true(布尔值,不是字符串),且需配合语言 ID 和路径过滤才能生效。
为什么 Vue 中的 userNmae 没被标红?
Code Spell Checker 默认跳过所有语法标识符,包括 const userNmae、function getUsrData、class UsrService —— 它只查字符串、注释和普通文本。Vue 单文件组件里的 <script></script> 区域也属于“代码上下文”,不触发拼写校验,除非你显式开启解析能力。
-
cSpell.checkPrograms是开关,设成"true"(带引号)或null都无效,必须是布尔true -
cSpell.enabledLanguageIds必须包含"vue",否则即使开了checkPrograms,.vue 文件也不会被扫描 - Volar 插件会接管
.vue的语言服务,若它与 Code Spell Checker 冲突(如语言模式被覆盖),变量名可能仍不检测
如何让 setup() 里的 ref 变量名也被检查?
Code Spell Checker 能识别声明语句,但对组合式 API 的动态结构有局限:它能标红 const usreName = ref('') 中的 usreName,但不会检查 usreName.value 或解构后的 { usreName }。
- 确保
cSpell.enabledLanguageIds同时包含"vue"和"typescript"(Vue 3 + TS 项目) - 避免在
setup()中用let/var声明后重赋值,比如let userName; userName = ref('')—— 这种非初始化声明不会被提取 - 模板中
{{ usreName }}不会被检查,因为那是运行时求值,不属于“源码声明”
cSpell.ignorePaths 配置不当导致误报泛滥
没排除 node_modules 时,第三方库导出的变量(如 useQuerry 来自 @tanstack/vue-query)会触发大量“拼写错误”提示,掩盖真实问题。
立即学习“前端免费学习笔记(深入)”;
-
cSpell.ignorePaths必须用 glob 模式,"**/node_modules/**"有效,"node_modules"无效 - Vue CLI 项目建议加
"**/dist/**";Vite 项目额外加"**/.vite/**"和"**/coverage/**" - 如果用了别名(如
@/components),Code Spell Checker 不会自动解析,需确保真实路径在 ignore 列表中覆盖到位
最易被忽略的是语言 ID 的精确性:"vue" 和 "html" 不等价,漏掉 "vue" 就等于对整个 .vue 文件关掉了变量名检查——哪怕 JS/TS 部分都配置正确。


















