输入 console. 之后什么都不弹,只跳出一堆文档里的英文单词。换台机器打开同一个项目就正常,问题显然不在代码。

先看窗口右下角的语言模式。显示 Plain Text 的话,编辑器根本没把它当 JavaScript 处理,补全自然只剩词库匹配。点一下切成 JavaScript,提示立刻回来。

语言服务有没有在跑

JS 和 TS 靠内置的 tsserver,一般不用装东西。Python 需要 Pylance,C++ 需要 C/C++ 扩展,补全质量差得不是一点。装完在输出面板里选对应的语言服务,看有没有报错。

大型项目里,jsconfig.json 或 tsconfig.json 决定哪些文件进入索引。缺了这个文件,跨文件的函数跳转和参数提示都会失灵,只能补全当前文件里的变量。

设置里被关掉的几项

  • editor.quickSuggestions 设成 false,打字时完全不弹。
  • editor.suggestOnTriggerCharacters 关掉后,输入点号不出候选。
  • 工作区处于受限模式,扩展被禁用,提示退回纯文本级别。

还有一种少见情况:文件没保存,语言服务还在解析旧内容,补全里出现的是上一版的变量名。按一下保存就好,不是插件坏了。

补全不准怎么调

参数提示慢,多半是项目太大、node_modules 没排除。搜索配置里加上 exclude,索引体积能降一个量级,响应明显变快。团队统一 TypeScript 版本,也能避免同一文件在不同机器上提示不一致。

顺序别弄反:先查语言模式,再查扩展是否在跑,最后才翻设置。多数时候问题就在第一步。