You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为VS Code的CompletionItem的documentation属性启用Markdown?

解决VS Code扩展中CompletionItem文档支持Markdown的问题

核心解决方法:正确使用MarkdownString类型

VS Code 的 CompletionItem 的 documentation 属性原生支持 MarkdownString,无需复杂设置,关键是要正确导入并使用该类型。

1. 导入所需类型

确保从 VS Code API 中正确导入 MarkdownString:

import { CompletionItem, MarkdownString } from 'vscode';

2. 为CompletionItem设置Markdown文档

直接实例化 MarkdownString,将带格式的内容传入后赋值给 documentation 属性:

const myCompletion = new CompletionItem('exampleFunction');
// 直接传入Markdown格式的字符串
myCompletion.documentation = new MarkdownString(`
### 函数说明
这是支持**加粗**、\`代码块\`的Markdown文档:
- 参数:\`input\`(字符串类型,必填)
- 返回值:字符串,处理后的结果
`);

常见问题排查

  • VS Code无法识别MarkdownString类型:
    大概率是项目依赖的 @types/vscode 版本过低,执行以下命令更新:
    npm install @types/vscode --save-dev
    
  • 使用MarkupContent报错:
    MarkupContent 适用于更复杂的多格式场景,CompletionItem 的 documentation 并不直接兼容该类型,优先用 MarkdownString 即可满足需求。

额外技巧

  • 可以用 MarkdownString 的内置方法拼接内容,比如:
    const doc = new MarkdownString();
    doc.appendHeading('函数详情', 3);
    doc.appendText('用于处理字符串的工具函数\n');
    doc.appendCodeblock('exampleFunction("test");', 'typescript');
    myCompletion.documentation = doc;
    
  • 修改代码后记得执行Ctrl+Shift+P → Reload Window,确保扩展重新加载生效。

内容的提问来源于stack exchange,提问作者Martin Edelius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 21:50:24