autocomplete-plus 候选列表高度由 css 的 max-height 和 font-size 共同决定,无直接配置项;调整需修改 styles.less 中 .suggestion-list .list-group 的 max-height 及 .list-item 的行高或内边距,并注意插件、主题、字体缩放等干扰因素。

autocomplete-plus 的候选列表高度由 CSS 控制,不是配置项
Atom 没有 maxSuggestions 或类似配置来直接限制代码提示列表显示多少行——它靠 CSS 的 max-height 和 font-size 共同决定可见项数量。改设置界面里的选项(比如 confirmOnBlur)不影响高度,只影响交互行为。
调整显示行数的实操方法:改 styles.less
打开 Atom → Stylesheet…(或编辑 ~/.atom/styles.less),添加以下规则即可控制最大可见行数:
-
.autocomplete-plus .suggestion-list .list-group是整个候选列表容器,设max-height: 240px可大致对应 8–10 行(取决于字体大小) -
.autocomplete-plus .suggestion-list .list-item控制单个条目高度,设line-height: 1.6或padding: 4px 8px可微调紧凑度 - 若想固定显示 6 行,推荐:
.autocomplete-plus .suggestion-list .list-group { max-height: 180px; }(假设font-size: 14px+ 默认 padding)
为什么改了没反应?常见干扰项
列表高度被覆盖是高频问题,优先检查:
- 是否装了
atom-ide-ui或nuclide?它们会接管补全 UI,自定义 CSS 失效;临时禁用可验证 - 当前语法主题(Syntax Theme)是否重写了
.suggestion-list样式?在开发者工具中右键提示框 →Inspect Element,看 computed styles 里max-height是否被覆盖 -
autocomplete-plus设置页中的Minimum Word Length设得过大(如 5),导致短词不触发,误以为“列表没出来”
字体大小和缩放会直接影响实际行数
同一 max-height 值下,font-size 从 12px 改到 16px,可视行数可能从 12 行降到 7 行。更麻烦的是系统 DPI 缩放(如 Windows 125%)会让 Atom 渲染时把 font-size 当作非整数值处理,造成行高抖动。稳妥做法是:
- 在
Settings > Editor中显式设Font Size为整数(如14) - 避免用百分比缩放,改用
Window: Zoom In/Out(Ctrl+= / Ctrl+-)做临时调整 - 高 DPI 屏幕建议关闭
Use Hardware Acceleration(Settings > Core),否则列表滚动可能卡顿或截断
真正起作用的永远是 CSS 的 max-height 和实际渲染出的行高,而不是某个开关或数字配置项;每次换主题或升级插件后,都值得再进开发者工具确认一下样式是否还生效。











