VSCode无限制自动导入建议数量的独立配置,真正可调的是补全面板可见条目数、字体密度及语言服务候选总量;关闭typescript/javascript.preferences.includePackageJsonAutoImports可从源头减少导入建议。

VSCode 本身不提供“限制自动导入建议数量”的独立配置项,所谓“自动导入建议太多”,其实是补全列表整体条目被撑满的结果——真正可调的是补全面板的可见条目数、字体密度,以及语言服务返回的候选总量。
为什么改了 editor.suggestMaxVisibleSuggestions 还是看到一堆 import?
因为 TypeScript/JavaScript 的自动导入建议(比如从 lodash 或 @types/node 里补全)由语言服务器生成,不受 editor.suggestMaxVisibleSuggestions 限制条目数的逻辑“过滤”,而是直接塞进候选池。一旦候选总数超过你设的上限,面板就只显示前 N 条,但 import 类建议往往排在前面,导致看起来全是 import。
- 检查是否启用了
typescript.preferences.includePackageJsonAutoImports(默认"auto"),它会让 TS 服务主动扫描package.json依赖并注入大量 import 候选 - 设为
"off"可大幅减少自动导入建议:在settings.json中加"typescript.preferences.includePackageJsonAutoImports": "off" - JS 用户同理,对应配置是
javascript.preferences.includePackageJsonAutoImports - 这个开关比调面板高度更治本——它从源头减少候选量,而非只裁剪显示
editor.suggestMaxVisibleSuggestions 真实作用和推荐值
它不控制“哪些建议该出现”,只决定补全面板最多渲染几条。设得太小(如 5)会导致 import 建议占满全部位置,连变量名都看不到;设得太大(如 20)又拉长面板,滚动成本上升。
- 默认
12是平衡点,适合 1920px 宽屏 - 超宽屏(3440px+)可试
16或18,配合editor.suggestLineHeight: 24提升可读性 - 设为
0表示不限制渲染条目数,但实际仍受面板最大高度(约屏幕高度 60%)限制 - 注意:这个值对 TabNine、Pylance 等接管渲染的插件无效
字体与行高必须配对设置才生效
editor.suggestFontSize 和 editor.suggestLineHeight 必须同时写入 settings.json,UI 设置界面里单独改一个基本没用——插件或工作区设置会覆盖它。
- 想看清函数签名里的
callback: (err: Error, data: T) => void?设editor.suggestLineHeight为24或26 - 设
editor.suggestFontSize为14能提升文字可读性,但单页条目数会下降 - 二者过小:参数名挤在一起,
Promise<string[]>看不清;过大:一页只剩 5–6 条,翻页频繁 - macOS 启用系统级“缩放”时,这两个配置可能失效,优先调
window.zoomLevel
真正容易被忽略的是:自动导入建议的多少,80% 由语言服务开关决定,不是补全面板能“截流”的。先关掉 includePackageJsonAutoImports,再微调面板密度,比硬扛着一堆 import 候选去调高度靠谱得多。


















