Code Spell Checker 默认不检查 import 路径,因其专检自然语言文本,而路径属特殊语法 scope;需调高 diagnosticLevel、调整 ignoreRegExpList 并确保语言模式正确,或改用 ESLint、tsc、cspell CLI 等更可靠的语义验证方式。

Code Spell Checker 默认不检查 import 路径,这是设计使然
你看到 import { foo } from './utilis' 里 utilis 没标红,不是插件坏了,而是它默认跳过路径字符串——因为路径常含缩写、驼峰、特殊分隔符(如 @scope/pkg),强行校验误报率极高。插件只检查被语法高亮识别为 string 或 comment 的纯自然语言文本,而大多数语言扩展(如 TypeScript)会把 from '...' 中的字符串标记为 string.quoted,但路径部分常被进一步划为 string.quoted.path 或 meta.import,Code Spell Checker 默认不覆盖这些子 scope。
想让路径拼写被检查?得手动放宽 scope 限制
需要修改 cSpell.diagnosticLevel 和 cSpell.languageId 配合语法 scope 白名单。直接改 settings.json:
"cSpell.diagnosticLevel": "Hint", "cSpell.enabledLanguageIds": ["typescript", "javascript", "json"], "cSpell.languageId": "en", "cSpell.allowCompoundWords": true, "cSpell.ignoreRegExpList": [ "^[a-zA-Z0-9_\-@/\.]+$" ]
关键点:
-
cSpell.diagnosticLevel: "Hint"让它对非标准 scope 也尝试扫描,而非只报Error级别问题 - 删掉默认的
cSpell.ignoreRegExpList里屏蔽路径的正则(如^\.?/.*$),或显式排除掉你关心的路径格式 - 确保当前文件语言模式正确:.ts 文件右下角必须显示
TypeScript,不是Plain Text;Vue 文件需用 Volar,否则<script setup>里的from字符串压根不被解析
更可靠的方式:用正则全局搜索路径拼写错误
依赖插件检查路径既不稳定又难调试,实际项目中建议用 VS Code 原生搜索替代:
- 按
Ctrl+Shift+F打开全局搜索 - 输入正则:
froms+['"]([^'"]*?)['"]或import.*?['"]([^'"]*?)['"] - 勾选
.*(正则模式),在“文件中包含”填.ts,.js,.jsx,.tsx - 结果里手动扫一眼路径名:比如
utlis、serivce、componet这类高频 typo 一目了然 - 配合
Ctrl+Click跳转验证路径是否存在,比等插件标红更快
CI/CD 里做导入路径防错,别用插件
Code Spell Checker 是编辑器 UI 层工具,无法集成进构建流程。真要拦截路径错误,得用静态分析工具:
-
eslint-plugin-import的no-unresolved规则,能报Cannot find module './utlis' -
typedoc或tsc --noEmit在编译期发现路径不存在 - 提交前加 husky hook:
npx cspell "**/*.{ts,js,jsx,tsx}"—— 注意这里要用cspellCLI,不是插件,且需在cspell.json里显式启用"enableGlobDot": true才能匹配隐藏路径
路径拼写检查本质是「语义验证」,不是「文字校对」;靠单词库匹配永远不如文件系统真实存在性判断来得准。别在配置上反复折腾 scope,优先用语言服务器和构建工具兜底。


















