Project Icon

vscode-markdown

Visual Studio Code的全能Markdown扩展

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

Visual Studio Code的Markdown支持

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

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

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

目录

功能

快捷键

切换加粗 gif
(注:多个单词)

检查任务列表

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

目录

目录

  • 运行命令"创建目录"(在VS Code命令面板中)以插入新的目录。

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

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

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

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

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

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

    章节编号
  • 如果你看到意外的目录识别,可以在列表上方添加<!-- no toc -->注释

列表编辑

回车键

制表符/退格键

修复有序列表标记

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

将Markdown打印为HTML

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

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

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

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

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

GitHub风格的Markdown

数学公式

math

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

自动补全

提示:也支持completion.root选项

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

    image completions

  • 数学函数(包括katex.macros选项)

    math completions

  • 引用链接

    reference links

其他功能

  • 在选中文本上粘贴链接

    paste link

  • 添加"关闭预览"快捷键,允许您使用与"打开预览"相同的快捷键(Ctrl + Shift + VCtrl + K V)关闭预览标签页。

可用命令

  • 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选项更改)。

键盘快捷键

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

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

支持的设置

表格
名称默认值描述
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保存时自动更新目录

常见问题

问:错误"找不到命令'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文件中生效。

问:这个扩展覆盖了我的一些键绑定(例如Ctrl + BAlt + C

您可以使用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和所有其他贡献者


相关

我的更多扩展

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

问小白

问小白是一个基于 DeepSeek R1 模型的智能对话平台,专为用户提供高效、贴心的对话体验。实时在线,支持深度思考和联网搜索。免费不限次数,帮用户写作、创作、分析和规划,各种任务随时完成!

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

Trae

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号