vscode开启单词拼写建议需同时满足三项:editor.wordbasedsuggestions设为true、语言模式非plain text、未被其他suggest过滤项屏蔽;它独立于语言服务器,但受localitybonus影响排序。

VSCode 默认就开启基础单词拼写建议(word-based suggestions),但容易被其他设置覆盖或压制,真正起效需要手动确认三项:editor.wordBasedSuggestions 必须为 true、当前语言模式不能是 Plain Text、且没被 editor.suggest.showWords 以外的过滤项屏蔽。
editor.wordBasedSuggestions 设为 true 才触发拼写补全
这个设置控制 VSCode 是否基于当前文档已出现的单词做上下文补全(比如你写过 handleClick,再输 hand 就会提示它)。它和语言服务器无关,纯文本也生效,但默认值在某些版本里是 false。
- 必须显式设为
true,不是布尔值true就够——要写进settings.json,GUI 设置里找不到开关 - 若同时启用了
editor.suggest.showMethods或editor.suggest.showClasses等,而当前上下文没有方法/类,拼写建议可能被挤掉,导致“看不见” - 它不依赖扩展,但会被插件劫持:比如某些 Snippet 插件把
Tab绑定到自己的逻辑,拼写建议弹出来后按Tab却不采纳
Plain Text 模式下拼写建议完全失效
右下角状态栏显示 Plain Text 时,editor.wordBasedSuggestions 彻底不工作——这不是 bug,是 VSCode 的设计:它只在识别为代码语言(如 JavaScript、Python)时才启用单词索引。
- 常见场景:新建文件未保存(.txt 后缀)、.vue 文件被识别为 HTML、.pyi 文件没配好语言模式
- 验证方式:输一个重复单词(如两次
username),再删掉第二次的e,看是否弹出建议;没弹出就先按Ctrl+Shift+P→Change Language Mode→ 选对语言 - 注意:即使文件后缀正确,如果项目根目录缺
jsconfig.json或tsconfig.json,JS/TS 文件也可能退化为 Plain Text 行为
拼写建议和语言服务器补全共存但互不干扰
单词补全是独立通道,和 Pylance、TypeScript Server 提供的类型/签名补全并行运行。但它们共享同一个建议框,顺序和可见性由 editor.suggest.localityBonus 和 editor.suggest.preview 影响。
- 若你只看到函数名、看不到拼写词,大概率是
editor.suggest.localityBonus设得太高(默认true),它优先展示“靠近光标”的符号,而拼写词来自全文档 - 想强制拼写词靠前?加配置:
"editor.suggest.localityBonus": false,但代价是类型补全可能变弱 - 拼写建议不会出现在字符串或注释里——这是硬限制,
editor.quickSuggestions.strings关或开都不影响它
真正卡住拼写建议的,往往不是设置没开,而是语言模式错位或插件静默拦截。先看右下角,再查 settings.json 里那行 editor.wordBasedSuggestions,最后禁用插件验证——三步下来,90% 的“不提示”问题就定位清楚了。











