VSCode怎么开启悬停显示Markdown格式文档_VSCode增强代码注释【体验】

大晨同学_6772

大晨同学_6772

2026-05-27

212人浏览

原创

vscode 默认不渲染 jsdoc 中的 markdown 是因 hoverprovider 仅返回纯文本,需语言服务返回 markupcontent;typescript v4.9+ 支持,但要求使用 /* / 注释、启用 "noerrortruncation": true,并在扩展中用 vscode.markupcontent 指定 kind: 'markdown'。

vscode怎么开启悬停显示markdown格式文档_vscode增强代码注释【体验】

VSCode 默认不显示 Markdown 格式文本的悬停提示,所谓“悬停显示文档”不是指渲染整个 .md 文件,而是指在代码中引用或注释 Markdown 内容时(比如 JSDoc 里的 @example、@description 块),让鼠标悬停能解析并渲染其中的 Markdown 语法(加粗、列表、链接等)。

为什么 hover 不显示 Markdown 格式内容

VSCode 的原生悬停(HoverProvider)默认只返回纯文本,即使 JSDoc 注释里写了 **bold** 或 - item,也会原样输出,不解析。这不是 bug,是语言服务未启用 Markdown 渲染路径。

常见现象包括:

  • 鼠标悬停看到 /** @param {string} name - **required**, must be non-empty */,但 **required** 没加粗
  • TypeScript 接口字段注释含列表,悬停后变成一行乱码,无换行或缩进
  • 使用 vscode-language-server 自定义 LSP 时,Hover.contents 直接传字符串,没包装成 MarkedString 或 MarkupContent

开启 JSDoc/TS 注释的 Markdown 悬停渲染

关键不在 VSCode 设置,而在语言服务层是否返回带格式的 MarkupContent。TypeScript 官方语言服务自 v4.9 起已支持,但需满足两个条件:

  • js/tsconfig.json 中启用 "noErrorTruncation": true(非必需但推荐,避免截断长注释)
  • 注释块必须用 /** */(而非 /* */ 或 //),且符合 JSDoc 规范(如 @param 后紧跟空格和描述)
  • VSCode 设置中确保 editor.hover.enabled 为 true(默认就是)

示例有效注释:

/**
 * Creates a user with validation.
 * 
 * @param name - **required**, length > 2
 * @param tags - list of categories, e.g.:
 *   - `admin`
 *   - `guest`
 */
function createUser(name: string, tags: string[]) {}

悬停时 **required** 会加粗,- `admin` 会渲染为带缩进的列表项。

wechat-article-extraction-mp-weixin-qq-com news-webpage-cleaning blog-post-parsing metadata-extraction-title-author-date multiple-output-formats-markdown-json-plain-text batch-processing-support
wechat-article-extraction-mp-weixin-qq-com news-webpage-cleaning blog-post-parsing metadata-extraction-title-author-date multiple-output-formats-markdown-json-plain-text batch-processing-support

基于三引擎设计,从微信文章、新闻和博客网页提取干净内容,支持标题作者日期元数据,多格式和批量处理。

下载

自定义扩展中返回 Markdown 格式悬停

如果你在写 VSCode 扩展并实现 HoverProvider,别直接返回字符串,要用 vscode.MarkupContent 并指定 kind: 'markdown':

provideHover(
  document: vscode.TextDocument,
  position: vscode.Position,
  token: vscode.CancellationToken
): vscode.ProviderResult<vscode.hover> {
  return new vscode.Hover({
    language: 'markdown',
    value: '**Example**: `console.log("hello")`'
  });
}
</vscode.hover>

注意:value 字段必须是纯 Markdown 字符串,不能含 HTML;路径解析、图片加载等不受支持——悬停区域不执行网络请求,也不读取本地文件。

容易踩的坑:

  • 传 { language: 'plaintext', value: '...' } → 渲染为纯文本,Markdown 语法失效
  • 用 MarkedString(已废弃)→ 在新版本 VSCode 中可能被忽略或降级为文本
  • 在 provideHover 里异步加载外部 .md 文件再解析 → 悬停超时(默认 500ms),返回空或 fallback 文本

Markdown 文件本身的悬停预览 ≠ 代码注释悬停

别混淆这两个功能:

  • README.md 里悬停图片路径(如 ![logo](./logo.png))→ 这是 Image Preview 扩展或内置图像悬停能力,和 JSDoc 无关
  • index.ts 里写 /** @see [API docs](https://ex.com) */ → 这才是本文讨论的「代码注释中的 Markdown 悬停」
  • 二者底层机制完全不同:前者是编辑器对特定文件类型 + 特定语法模式的静态识别;后者依赖语言服务器对 JSDoc AST 的解析与富文本封装

最常被忽略的是:TypeScript 用户以为开了 markdown.preview.enabled 就能影响代码悬停——其实完全无关。那个设置只控制 .md 文件的右侧预览窗,对 .ts 编辑器内的 hover 零影响。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode markdown

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1295

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2732

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1929

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2587

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1818

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1242

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

474

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程