vscode-markdown

vscode-markdown

Visual Studio Code的全能Markdown扩展

vscode-markdown是Visual Studio Code的全能Markdown扩展。它集成了丰富功能,如快捷键操作、自动目录生成、列表编辑、数学公式支持和GitHub风格Markdown。此扩展简化了Markdown文档的创建、编辑和预览流程,并支持HTML导出。通过多样化的自定义选项,vscode-markdown能满足各类用户需求,显著提升Markdown写作体验。

Visual Studio CodeMarkdown插件编辑器功能开发工具Github开源项目

Visual Studio Code的Markdown支持 <!-- 目录中省略 -->

版本 安装量 GitHub工作流状态 GitHub星标 GitHub贡献者

Markdown所需的一切(快捷键、目录、自动预览等)。

注意:VS Code自带基本的Markdown支持(如Markdown预览),更多信息请参阅官方文档

目录

功能

快捷键

<p><img src="https://yellow-cdn.veclightyear.com/835a84d5/225ddab0-64d7-4e34-b148-e66b7aa98b3d.gif" alt="切换加粗 gif" width="282px"> <br>(注:多个单词)</p> <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/dcc983c3-34be-440a-94fa-aa59e1c97967.gif" alt="检查任务列表" width="240px"></p>

完整的键绑定列表请参见键盘快捷键部分

目录

<p><img src="https://yellow-cdn.veclightyear.com/835a84d5/cfb3920e-63b9-467e-b7ad-8a7a00e3bcde.png" alt="目录" width="305px"></p>
  • 运行命令"创建目录"(在VS Code命令面板中)以插入新的目录。

  • 默认情况下,目录会在文件保存时自动更新。如需禁用,请更改toc.updateOnSave选项。

  • 目录的**缩进类型(制表符或空格)**可以按文件配置。在VS Code状态栏的右下角找到此设置。

    注意:请同时检查list.indentationSize选项。

  • 要使目录兼容GitHub或GitLab,请相应设置slugifyMode选项

  • 三种方法控制目录中显示哪些标题

    <details> <summary>点击展开</summary>
    1. 在标题末尾添加<!-- omit from toc -->以在目录中忽略它
      (也可以放在标题上方)

    2. 使用toc.levels设置。

    3. 你还可以使用toc.omittedFromToc设置从目录中省略某些标题(及其子标题):

      // 在你的settings.json中 "markdown.extension.toc.omittedFromToc": { // 使用相对于工作区的路径。 "README.md": [ "# 介绍", "## 同样被省略", ], // 或者对于独立文件使用绝对路径。 "/home/foo/Documents/todo-list.md": [ "## 羞耻清单(我永远不会做这些)", ] }

      注意

      • Setext风格的标题(用===---下划线)也可以被省略,只需在设置中放入它们的# ## 版本即可。
      • 省略标题时,确保文档中的标题是唯一的。重复的标题可能导致不可预测的行为。
    </details>
  • 轻松添加/更新/删除章节编号

    <img src="https://yellow-cdn.veclightyear.com/835a84d5/0a0de647-7043-426f-b0c8-b1ed738ced36.gif" alt="章节编号" width="768px">
  • 如果你看到意外的目录识别,可以在列表上方添加<!-- no toc -->注释

列表编辑

<p><img src="https://yellow-cdn.veclightyear.com/835a84d5/7bb5fab4-bd18-45f9-84b0-5c8451d1be46.gif" alt="回车键" width="214px"></p> <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/c14d005a-1ecc-424f-9f7b-3e54fb6608b7.gif" alt="制表符/退格键" width="214px"></p> <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/b011d739-ef79-4909-90c5-e112ae56a3d2.gif" alt="修复有序列表标记" width="214px"></p>

注意:默认情况下,此扩展会根据CommonMark规范为不同列表确定缩进大小。如果你更喜欢使用固定的制表符大小,请更改list.indentationSize设置。

将Markdown打印为HTML

  • 命令Markdown:将当前文档打印为HTMLMarkdown:将文档打印为HTML(批处理模式)

  • 兼容其他已安装的Markdown插件(如Markdown脚注)。 导出的HTML应该看起来与VS Code内部相同(由于API限制,某些主题颜色除外)。

  • 使用注释<!-- title: 你的标题 -->(在第一行)来指定导出HTML的标题。

  • 指向.md文件的纯链接将被转换为.html

  • 如果你想与他人分享文档,建议使用浏览器(如Chrome)将导出的HTML打印为PDF。

GitHub风格的Markdown

  • 表格格式化工具

    <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/7dfceb4a-4618-4641-a055-169d3233699c.gif" alt="表格格式化工具" width="246px"></p>

    注意:在Linux上,键绑定是<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd>。参见Visual Studio Code键绑定

  • 任务列表

数学公式

<p><img src="https://yellow-cdn.veclightyear.com/835a84d5/1ce6a619-24bf-462c-8357-e906283b7388.png" alt="math" width="544px"></p>

请使用Markdown+Math获得专门的数学支持。请确保禁用此扩展的math.enabled选项。

自动补全

提示:也支持completion.root选项

  • 图片/文件(遵循search.exclude选项)

    <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/61ecf29f-b5eb-4b06-82c3-8da8d6e86093.png" alt="image completions" width="351px"></p>
  • 数学函数(包括katex.macros选项)

    <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/21b83c3c-90f8-4508-b649-f09f3ab9c640.png" alt="math completions" width="154px"></p>
  • 引用链接

    <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/03c953d3-d71a-4b36-97a0-58e2a99b1dc0.png" alt="reference links" width="301px"></p>

其他功能

  • 在选中文本上粘贴链接

    <p><img src="https://yellow-cdn.veclightyear.com/835a84d5/d0666665-0567-43ae-94e2-d36955b5059b.gif" alt="paste link" width="342px"></p>
  • 添加"关闭预览"快捷键,允许您使用与"打开预览"相同的快捷键(<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>V</kbd><kbd>Ctrl</kbd> + <kbd>K</kbd> <kbd>V</kbd>)关闭预览标签页。

可用命令

  • Markdown All in One: 创建目录
  • Markdown All in One: 更新目录
  • Markdown All in One: 添加/更新章节编号
  • Markdown All in One: 移除章节编号
  • Markdown All in One: 切换代码段
  • Markdown All in One: 切换代码块
  • Markdown All in One: 将当前文档打印为HTML
  • Markdown All in One: 将文档打印为HTML
  • Markdown All in One: 切换数学环境
  • Markdown All in One: 切换列表
    • 它将循环使用列表标记(默认为-*+1.1),可通过list.toggle.candidate-markers选项更改)。

键盘快捷键

<details> <summary>表格</summary>
按键命令
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>B</kbd>切换粗体
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>I</kbd>切换斜体
<kbd>Alt</kbd>+<kbd>S</kbd>(Windows系统)切换删除线<sup>1</sup>
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>]</kbd>切换标题(升级)
<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>[</kbd>切换标题(降级)
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>M</kbd>切换数学环境
<kbd>Alt</kbd> + <kbd>C</kbd>勾选/取消任务列表项
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>V</kbd>切换预览
<kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>K</kbd> <kbd>V</kbd>切换侧边预览

<sup>1. 如果光标在列表/任务项上且没有选中文本,删除线将应用于整个项目(行)</sup>

</details>

支持的设置

<details> <summary>表格</summary>
名称默认值描述
markdown.extension.completion.respectVscodeSearchExcludetrue提供文件路径补全时是否考虑search.exclude选项
markdown.extension.completion.root提供文件路径补全时的根文件夹(当路径以/开始时生效)
markdown.extension.italic.indicator*使用*_包裹斜体文本
markdown.extension.bold.indicator**使用**__包裹粗体文本
markdown.extension.katex.macros{}KaTeX宏,例如{ "\\name": "expansion", ... }
markdown.extension.list.indentationSizeadaptive为有序和无序列表使用不同的缩进大小
markdown.extension.list.toggle.candidate-markers[ "-", "*", "+", "1.", "1)" ]使用数组切换有序列表标记,例如["*", "1."]
markdown.extension.orderedList.autoRenumbertrue在编辑时自动修复列表标记
markdown.extension.orderedList.markerorderedone:始终使用1.作为有序列表标记
markdown.extension.preview.autoShowPreviewToSidefalse打开Markdown文件时自动显示预览
markdown.extension.print.absoluteImgPathtrue将图片路径转换为绝对路径
markdown.extension.print.imgToBase64false打印为HTML时将图片转换为base64
markdown.extension.print.includeVscodeStylesheetstrue是否包含VS Code的默认样式
markdown.extension.print.onFileSavefalse文件保存时打印为HTML
markdown.extension.print.themelight导出HTML的主题
markdown.extension.print.validateUrlstrue打印时启用/禁用URL验证
markdown.extension.syntax.decorationstrue删除线代码段添加装饰
markdown.extension.syntax.decorationFileSizeLimit50000如果文件大于此大小(字节/B),则不渲染语法装饰
markdown.extension.syntax.plainThemefalse无干扰主题
markdown.extension.tableFormatter.enabledtrue启用GFM表格格式化器
markdown.extension.toc.slugifyModegithubTOC链接生成的Slugify模式(vscodegithubgitlabgitea
markdown.extension.toc.omittedFromToc{}按项目文件列出要省略的标题(例如{ "README.md": ["# Introduction"] }
markdown.extension.toc.levels1..6控制在目录中显示的标题级别
markdown.extension.toc.orderedListfalse在目录中使用有序列表
markdown.extension.toc.plaintextfalse仅纯文本
markdown.extension.toc.unorderedList.marker-在目录中使用-*+(用于无序列表)
markdown.extension.toc.updateOnSavetrue保存时自动更新目录
</details>

常见问题

问:错误"找不到命令'markdown.extension.onXXXKey'"

  • 在大多数情况下,这是因为VS Code在您首次打开Markdown文件时需要几秒钟来加载此扩展。(您会在状态栏上看到"正在激活扩展..."的消息。)

  • 如果等待很长时间后仍然看到此"找不到命令"错误,请尝试重启VS Code。如果需要,重新安装此扩展:

    1. 卸载此扩展。
    2. 关闭并重启VS Code。(重要!)
    3. 重新安装此扩展。
  • 如果这还不能解决问题,请随时在GitHub上开启一个新问题。如果您能向我们报告任何可疑的错误信息会更好:这通常在VS Code的菜单栏帮助 > 切换开发人员工具 > 控制台中。

  • (作为最后的手段,如果您完全不需要列表编辑功能,可以选择通过VS Code的键盘快捷方式编辑器删除onXXXKey键。)

问:支持哪些Markdown语法?

对于其他Markdown语法,您需要从VS Code市场安装相应的扩展(例如Mermaid图表表情符号脚注上标)。安装后,它们将在VS Code和导出的HTML文件中生效。

问:这个扩展覆盖了我的一些键绑定(例如<kbd>Ctrl</kbd> + <kbd>B</kbd><kbd>Alt</kbd> + <kbd>C</kbd>

您可以使用VS Code的键盘快捷方式编辑器轻松管理键绑定。(此扩展提供的命令以markdown.extension为前缀。)

问:扩展无响应,导致延迟等问题(性能问题)

根据经验,性能问题很可能是由其他扩展引起的(例如,某些拼写检查扩展)。

如果您禁用所有其他扩展(在VS Code命令面板中执行Developer: Reload with Extensions DisabledExtensions: Disable All Installed Extensions for this Workspace),然后仅启用此扩展再次尝试,就可以验证这一点。

要找出根本原因,您可以安装我们的开发版本debug.vsix),并按照VS Code官方的说明创建CPU配置文件。然后请在GitHub上开一个issue,并附上该配置文件(.cpuprofile.txt)。

更新日志

有关更多信息,请参阅CHANGELOG

最新开发版本

这里下载,请点击最新的通过事件以下载构建产物。

有两个版本:markdown-all-in-one-*.vsix是常规构建,而debug.vsix用于创建详细的CPU配置文件。

要安装,请在VS Code命令面板(ctrl + shift + p)中执行Extensions: Install from VSIX...

贡献

特别感谢协作者@Lemmingh和所有其他贡献者


相关

我的更多扩展

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多