内联提示需同时满足全局开关开启、语言扩展支持、子配置启用、字体/主题兼容四条件。先确认inlayhints.enabled为true,再按语言启用对应子配置(如ts的parameternamehints、python的pylance三项提示),并调大字号、换默认主题排查渲染问题,最后验证语言服务器正常运行且代码无语法错误。

内联提示(Inlay Hints)不是“开了设置就自动显示”的功能,它需要同时满足全局开关、语言扩展支持、子配置启用、字体/主题兼容这四个条件——缺一不可,否则你永远看不到timeout:或→ string这类提示。
确认并开启全局 inlayHints.enabled 开关
这是所有内联提示的总闸门。VSCode 1.87+ 默认对 TS/JS 启用,但很多用户因插件覆盖或重置设置导致它实际为 false。不要只信“默认开启”这个说法。
- 快捷键
Cmd + ,(macOS)或Ctrl + ,(Windows/Linux)打开设置 - 搜索框输入
inlayHints.enabled,确保复选框被勾选(值为true) - 检查当前工作区的
.vscode/settings.json,确认没有"inlayHints.enabled": false这行硬性覆盖 - 该设置是 workspace 级别可覆盖的,多根工作区下容易漏看某个文件夹的本地配置
按语言启用对应子配置和扩展
不同语言的提示来源完全不同:TS/JS 依赖 TypeScript Server 配置,Python 完全靠 Pylance 插件控制,C/C++ 则需 clangd 正常运行。开错地方,提示照样不出现。
-
TypeScript / JavaScript:除全局开关外,还需检查
typescript.preferences.includeInlayParameterNameHints和typescript.preferences.includeInlayVariableTypeHints是否设为"all"(不是"none");JS 文件要配合 JSDoc 或在jsconfig.json中启用"checkJs": true -
Python:必须安装并启用
Pylance(不是仅安装,也不是“启用(预览)”),且手动开启三项子配置:python.analysis.inlayHints.functionReturnTypes、python.analysis.inlayHints.variableTypes、python.analysis.inlayHints.parameterNames,全部设为true -
C/C++:确保已安装
C/C++扩展(Microsoft 官方),并在c_cpp_properties.json中正确配置compilerPath;clangd 用户需确认其服务器启动成功,否则open(file=, mode=)类型提示不会渲染
排查字体、主题与渲染异常
提示“开了但看不见”,90% 是因为文字太小、颜色太淡、或被主题 CSS 覆盖。VSCode 不报错,只是静默失效。
- 临时把
editor.inlayHint.fontSize设为13(默认为0,即继承 editor 字号,某些主题下会缩到几乎不可见) - 切换到
Default Dark+主题测试——如果这时出现了提示,说明你当前主题的 CSS 把 inlay hint 样式吃掉了 - 开启
editor.inlayHint.padding(设为true),让提示左右带空格,避免紧贴代码导致视觉忽略 - 检查是否启用了高对比度模式或自定义 CSS 注入(如
vscode-custom-css插件),它们可能直接隐藏了.inline-hint元素
验证语言服务器是否真正就绪
内联提示不是编辑器自己猜出来的,它完全依赖语言服务器返回的语义信息。服务器挂了、没加载、或类型推导失败,提示就为空。
- 按
Cmd + Shift + P打开命令面板,执行Developer: Toggle Developer Tools - 切到 Console 标签页,搜索
Failed to start language server或error关键字 - 对 TS/JS:打开一个
.ts文件,查看右下角状态栏是否有TS Server正在运行的提示;没有则尝试Typescript: Restart TS Server - 对 Python:确认右下角 Python 解释器路径已识别(如
Python 3.12.4 64-bit),且 Pylance 状态栏图标为绿色(非灰色或警告三角)
最常被忽略的一点:内联提示不会在语法错误的代码段生效。比如 const x = foo(123, 少了个右括号,参数名提示大概率不触发——它依赖语言服务器能完整解析 AST,而不是简单正则匹配。写完一行再看提示,比边敲边等更可靠。











