VSCode悬停卡片边框由editorHoverWidget.border控制,需在workbench.colorCustomizations中用十六进制或rgba值配置,须配合背景色与阴影才能显效。

vscode hover卡片边框由 editorHoverWidget.border 控制
VSCode 的悬停卡片(比如鼠标悬停在函数、变量上弹出的类型/文档提示)默认没有明显边框,它的外轮廓颜色完全由 editorHoverWidget.border 这个 color token 决定。它不是「hover.border」或「tooltip.border」——这两个 key 不存在,设了也没用。
这个配置项只在 workbench.colorCustomizations 中生效,且必须是十六进制(如 "#4a5568")或带 alpha 的 rgba(如 "rgba(74, 85, 104, 0.8)"),不支持英文色名("gray" 会被忽略)。
- 如果没看到边框变化,先确认你改的是
editorHoverWidget.border,不是editorHoverWidget.background或其他 hover 相关字段 - 该边框仅出现在悬停卡片本身,不影响参数提示(parameter hints)、补全建议(suggestion widget)等其它浮层
- 若同时启用了语义高亮(
editor.semanticHighlighting),边框颜色不会被覆盖,但卡片内文字颜色可能受 token 高亮影响
为什么改了 editorHoverWidget.border 还没效果?
常见失效原因不是配置写错,而是卡片根本没渲染出「可描边」的区域:
- 悬停卡片背景是纯透明(
editorHoverWidget.background未设置或为"transparent"),导致边框被“吃掉”——建议同步设一个浅色背景,如"#1e1e1e" - 你正在看的是参数提示(
editor.parameterHints.border),它用的是独立 token,和 hover 卡片无关 - 某些主题(尤其是高对比度主题)会强制重置
editorHoverWidget.border,此时需在workbench.colorCustomizations中显式覆盖 - VSCode 版本低于 1.70,该 token 尚未稳定支持(2026 年主流版本均已支持)
推荐配置组合(直接复制进 settings.json)
单独设边框容易被忽略,搭配背景和阴影更可靠:
"workbench.colorCustomizations": {
"editorHoverWidget.border": "#4a5568",
"editorHoverWidget.background": "#1e1e1e",
"widget.shadow": "rgba(0, 0, 0, 0.3)"
}
注意:widget.shadow 是悬停卡片的投影,不是边框,但它能强化卡片的“浮起感”,让边框更易察觉。如果你用深色主题,editorHoverWidget.border 建议比背景色稍亮;浅色主题则相反。
真正难调的不是颜色值,而是边框是否在视觉上“成立”——它依赖背景、阴影、圆角(VSCode 固定为 4px,不可配)三者协同。别只盯着 border 改,否则容易陷入“明明写了却看不见”的循环。


















