Inline Suggestion需启用editor.inlineSuggest.enabled并确保语言服务器就绪;Inlay Hints需开启inlayHints.enabled及对应语言的子选项;Parameter Hints需editor.parameterHints.enabled且光标在括号内触发。

内联提示(Inline Suggestion)和内联类型提示(Inlay Hints)是两个完全独立的功能,开关、触发逻辑、依赖条件都不同——开错一个,另一个照样不显示。
如何确认并启用 Inline Suggestion(灰色行内补全)
这个功能不是“自动弹出”的代码补全,而是编辑器在光标后直接渲染一段灰色可预览文本,按 → 或 Tab 接受,Esc 取消。它和传统下拉菜单(IntelliSense)共存但互不干扰。
-
editor.inlineSuggest.enabled必须设为true(全局或工作区设置均可) - 必须有语言服务器支持:TypeScript/JavaScript 用内置 TS Server;Python 需 Pylance 启用
python.languageServer为Pylance;其他语言如 Go、Rust 等需对应 LSP 扩展已就绪 - 它不会在注释、字符串、正则字面量里出现;也不响应
Ctrl+Space,只随输入自然触发(比如输完arr.后等几毫秒) - 如果没反应,打开开发者工具(
Developer: Toggle Developer Tools),看 Console 是否报Failed to start language server—— 这比关掉设置更常见
如何排查 Inlay Hints(参数名/类型标注)不显示
这类提示出现在代码行内(如 open(file=, mode=) 或 const x = foo(123) // number),不是补全,是语义标注,容易被当成“没生效”。
- 先确认
inlayHints.enabled是true(注意不是editor.inlayHints.enabled,少editor.前缀会无效) - TypeScript/JS:检查
typescript.preferences.includeInlayParameterNameHints和typescript.preferences.includeInlayVariableTypeHints是否为"all"或"literals"(不能是"none") - Python:Pylance 必须启用,且三个子项都要开:
python.analysis.inlayHints.functionReturnTypes、python.analysis.inlayHints.variableTypes、python.analysis.inlayHints.parameterNames - 字体太小或主题对比度低会导致“看不见”,临时加一句
"editor.inlayHint.fontSize": 13就能验证
为什么 parameterHints(括号内参数浮层)没出来
这是第三个独立功能,快捷键是 Ctrl+Shift+Space(Windows/Linux)或 Cmd+Shift+Space(macOS),不是靠输入自动弹的,很多人误以为它该“自动出现”。
-
editor.parameterHints.enabled必须为true - 光标必须严格落在函数名后的左括号内,例如
fetch(|)或fetch(|(括号未闭合也行),fetch().then(|)里则不会触发 - 延迟由
editor.parameterHints.delay控制,默认 0 毫秒,设成 500 可避免误触;设成 -1 则禁用自动弹出,只能手动唤 - 若项目无
jsconfig.json或tsconfig.json,TS/JS 的重载签名可能无法解析,提示就只剩基础参数名
这三个功能名字相近、位置都在代码行附近,但底层机制完全不同:Inline Suggestion 是补全建议,Inlay Hints 是类型/语义标注,Parameter Hints 是函数签名浮层。改错一个配置,另外两个照常工作——也照常失效。最容易忽略的是语言服务器实际是否就绪,而不是设置开了没开。











