VSCode悬停提示字体大小不由editor.fontSize控制,因其属工作台UI层;有效方法是设window.zoomLevel全局缩放,或手动注入CSS覆盖.monaco-editor .hover-flyout样式。

VSCode 没有原生配置项控制悬停提示(hover)字体大小,editor.fontSize 和 editor.hover.fontSize 都不生效——后者根本不存在。
为什么改了 editor.fontSize 悬停文字还是那么小?
因为悬停提示(如鼠标悬停显示函数签名、类型定义、JSDoc 文档)属于工作台 UI 层,不是编辑器文本渲染的一部分。它不受 editor.* 系列配置影响,只响应全局缩放或 CSS 注入。
-
editor.fontSize仅控制代码行内字体,对.hover-flyout完全无效 - 搜索 settings.json 里的
hover.fontSize或类似 key,结果必为空 - 某些插件(如 Pylance、TypeScript Server)会接管 hover 内容渲染,进一步绕过默认样式链
真正有效的两种方式:优先用 window.zoomLevel,再考虑 CSS
如果你只是想让悬停文字更清晰可读,window.zoomLevel 是最稳妥的选择——它会影响整个 UI,包括菜单、侧边栏、补全面板和 hover 提示。
- 在
settings.json中设置"window.zoomLevel": 0.5(放大 1.5×)或1(放大 2×),值为整数更稳定 - 避免使用非整数缩放(如
0.75),高 DPI 下易导致文字模糊或布局错位 - 该方式无需重启 VSCode,修改后保存即生效(部分旧版本需重开窗口)
- 缺点是所有 UI 元素等比放大,侧边栏、图标、状态栏也会变大
精准控制悬停字体:必须手写 styles.css
若你坚持只调 hover 字体、不动其他 UI,唯一办法是注入自定义 CSS,覆盖 .hover-flyout 的样式规则。
- 关闭 VSCode,找到用户 styles.css 路径:
Windows:%APPDATA%\Code\User\styles.css
macOS:$HOME/Library/Application Support/Code/User/styles.css
Linux:$HOME/.config/Code/User/styles.css - 创建该文件(若不存在),写入以下内容(注意
!important不可省略):.monaco-editor .hover-flyout { font-size: 16px !important; line-height: 1.4 !important; } - 重启 VSCode 才能生效;若失效,检查是否被插件主题强制重置(比如某些高对比度主题会硬编码最小字号)
- 这个选择器也同时影响参数提示(
.parameter-hints),如需区分,可单独加权:.monaco-editor .hover-flyout { font-size: 16px !important; }
真正难的不是加一行 CSS,而是每次 VSCode 升级后,DOM 结构可能微调,.hover-flyout 类名虽稳定,但嵌套路径或父容器类可能变化——这意味着你得定期验证样式是否还生效。


















