最新版的 Visual Studio Code 对 Markdown 的支持已显著提升,其在预览方面的体验甚至可以与 Markdown Preview Enhanced 插件相比。本文将介绍一些优化方法,帮助用户提升在 VSCode 中编写 Markdown 文档的体验。

官方使用说明:https://code.visualstudio.com/docs/languages/markdown

预览常规设置

打开 VSCode 的 markdown.preview 设置,可以看到一些设置选项,如字体、字号、行高等。

使用 CSS

VSCode中Markdown 预览实际上是一个网页,因此可以通过自定义 CSS 来优化其显示效果。

打开 markdown.styles 设置,可以添加 CSS 文件路径。支持两种文件路径:

  1. 相对路径。相对路径是相对于资源管理器中打开的文件夹进行解释的。如果没有打开的文件夹,则相对于 Markdown 文件的位置解释它们。
  2. CSS 文件的 HTTPS URL。

数学公式预览优化

打开 vscode 自带的开发者工具,可以看到所有数学公式都有 class="katex"

目前存在的问题是数学公式太小,于是可以在工作区本地创建 CSS 文件,内容为:

.katex {
font-size: 1.25em !important;
}

然后将该文件路径添加到 markdown.styles 设置中,即可优化公式显示效果。

我也创建了该 CSS 文件的 HTTPS URL:https://blog-static.cnblogs.com/files/blogs/825243/vscode-markdown-style.css

图片大小调整

一种方案是使用 HTML 标签:

<img src="assets/xxx.png" style="width:80%;" />

另一种方案是通过 CSS 设置:

img{
width: 80%;
padding-left: 10%;
}

这段代码将所有图片的宽度设置为段落宽度的 80%,并向右移动 10%,从而实现居中显示。基于此,可以进一步细化设置,如下所示:

img[src*="#w100"] {
width: 100%;
} img[src*="#w80"] {
width: 80%;
} img[src*="#w60"] {
width: 60%;
} img[src*="#w50"] {
width: 50%;
} img[src*="#w30"] {
width: 30%;
} img[src*="#w20"] {
width: 20%;
} img[src*="#w10"] {
width: 10%;
}

此时,可以通过在 Markdown 中使用特定格式来调整图片大小:

![img.png](assets/xxx.png#w60)

编辑器体验优化

为了优化在 VSCode 中编写 Markdown 的体验,在用户 settings.json 中使用如下配置:

"[markdown]": {
"editor.minimap.enabled": false, // 关闭编辑器右侧的小地图以减少视觉干扰
"editor.glyphMargin": false, // 关闭字形边距以获得更简洁的编辑界面
"editor.renderWhitespace": "all" // 显示所有空白字符,方便查看和编辑空格、制表符等
}

图片粘贴

VSCode 的 Paste Image 插件和内置的 copyFiles 功能可以简化图片粘贴操作。

Paste Image 插件设置如下。此时使用 Ctrl+Shift+V 可以把剪切板上的图片保存到工作区的 assets 文件夹中,并在 md 文件中插入图片路径。

VSCode 的 markdown.copyFiles 设置如下。

此时使用 Ctrl+V 快捷键也可以保存剪切板上的图片到工作区的 assets 文件中,并在 md 文件中插入路径。区别在于:

  1. VSCode 内置的 copyFiles 功能还可以粘贴图片和音频文件。
  2. Paste Image 插件保存的图片可以自动生成 Y-MM-DD-HH-mm-ss 的文件名,而 copyFiles 功能则不行。

因此建议这两种方法配合使用。

格式化

markdownlint 插件提供了格式化 Markdown 代码功能,并会对不规范的 markdown 代码进行警告。建议在用户 settings.json 中使用如下配置

"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
"editor.formatOnSave": true,
},
"markdownlint.config": {
"MD012": false,
"MD018": false,
"MD024": false,
"MD025": false,
"MD033": false,
"MD036": false,
"MD041": false,
"MD045": false,
},

Pangu-Markdown 插件补充了格式化功能,如在中英字符之间插入空格。使用方法为右键点击 Pangu Format。

代码补全与快捷功能

Markdown All in One 插件可以补全 markdown 代码,包括 LaTeX 函数代码。同时也提供了一些编辑 Markdown 的快捷功能。

Better Markdown & Latex Shortcuts 插件提供了一些编辑 LaTeX 公式的快捷键。

功能拓展

Markdown Footnotes 插件让 VSCode 的 markdown 预览支持脚注功能,例如:

这是一个脚注 [^1]

[^1]: 脚注 1

Markdown Image Size 插件提供了调整图片大小的拓展语法。但是该语法应用并不普遍,因此不推荐使用。

导出 PDF 和 Word 文档

Markdown Preview Enhanced 插件支持导出为 PDF 和 Word 文档。其利用 Chrome (Puppeteer) 导出 PDF 文件使用说明为 https://www.cnblogs.com/cjyyx/p/18272365

Markdown Preview Enhanced 插件导出的 PDF 显示效果并不好,因此我更推荐使用 Typora 软件导出。

博客写作

博客园 cnblogs 客户端Zhihu On VSCode 插件都提供了比较好的博客写作体验。

Markdown Publisher For CSDN/JIANSHU/ZHIHU/JUEJIN/WECH 插件支持 Markdown 文档多平台一键发布,但目前使用体验较差。

在 VSCode 中编写 Markdown 的进阶指南的更多相关文章

  1. vscode中使用markdown

    vscode中使用markdown vscode 是微软推出一款轻量级的文本编辑工具,类似于sublime,由于其拥有丰富的插件,安装使用也非常简单,所以深受广大程序员的喜爱. markdown 是一 ...

  2. vscode中使用markdown(转)

    vscode 是微软推出一款轻量级的文本编辑工具,类似于sublime,由于其拥有丰富的插件,安装使用也非常简单,所以深受广大程序员的喜爱. markdown 是一种可以使用普通文本编辑器编写的标记语 ...

  3. 在VSCode中使用Markdown

    前言 最近在学习使用Markdown语法,尝试使用了"MarkdownEditor"."Sublime Text3"."VSCode"这三种 ...

  4. VsCode中编写python环境配置

    1. VsCode中编写python环境配置 1.1. 前言 有过开发经验都知道idea一系列的软件虽然功能比较多,但比较容易卡,电脑不好还真容易上火,这里我想要入门python,还是选了款vscod ...

  5. 如何在vscode中编写.net core 项目(vscode)

    1.下载拓展  .NET Core Extension Pack  (作者:保哥) 这个里面将需要的插件都打包了小白一键下载就好了 2.下载扩展   vscode-solution-explorer ...

  6. vscode中安装使用markdown 插件

    linux中好用的IDE    vscode是微软推出的一款好用免费的IDE,可以快速部署开发环境,所说配置有些繁琐,但是瑕不掩瑜.它同时支持很多种拓展的编辑器,MarkDown只是其中的一种. 安装 ...

  7. 【树莓派】在vscode中连接树莓派并编写代码

    在树莓派里编写代码的话会比较麻烦因此可以在vscode中通过ssh连接树莓派并且编辑代码 参考: vscode通过ssh连接树莓派实现远程开发 VSCODE 远程开发树莓派 使用vscode打造pyt ...

  8. VScode中配置C++运行环境

    目录 VScode中配置C++运行环境 1. 哪些插件 2. 配置开始 3. 编写代码并运行 VScode中配置C++运行环境 关于安装mingw的教程,网络上已经有很多了,这里不再赘述,下面就看VS ...

  9. linux系统下如何在vscode中调试C++代码

    本篇博客以一个简单的hello world程序,介绍在vscode中调试C++代码的配置过程. 1. 安装编译器 vscode是一个轻量的代码编辑器,并不具备代码编译功能,代码编译需要交给编译器完成. ...

  10. 使用vscode 编写Markdown文件

    markdown简单语法参考下面简单事例: # 一级标题 1. 有序列表1 >1. 有序列表1 >>- *test1* >>- **test2** >>- * ...

随机推荐

  1. vue+vant+js实现购物车原理小demo(基础版)

    电商毕业设计里的一个购物车demo,拿vue+vant需要写的核心计算代码只有12行.效果图: main.js: Vue.use(Stepper); .vue文件 <template> & ...

  2. zabbix-server-pgsql docker镜像说明

    0 说明 zabbix-server-pgsql在docker hub的官方说明,供查阅 1 Environment Variables 1.1 基本变量 When you start the zab ...

  3. 01、Java 安全-反序列化基础

    Java 反序列化基础 1.ObjectOutputStream 与 ObjectInputStream类 1.1.ObjectOutputStream类 java.io.ObjectOutputSt ...

  4. ansible系列(24)--ansible的loop循环语句

    目录 1. loop循环语句 1.1 使用循环批量安装软件 1.2 使用循环批量启动服务 1.3 使用循环批量创建用户 1.4 使用循环批量拷贝文件 1. loop循环语句 在写 playbook 的 ...

  5. Splashtop 免费60天 大赠送

    这两天又是双11,又是 EDG 夺冠,可谓喜事连连.热闹不断.我们也给大家准备了一份长达两个月的免费福利,快乐加倍嗷. 福利详情: 1.分享这篇文章(不要设置分组可见). 2.发送您的 Splasht ...

  6. next-元数据创建、更新 SEO 优化

    在创建Next.js项目时,根页面会自动生成一个metadata对象,其中包含标题和描述等关键信息.每当页面被访问时,这个metadata对象会被读取并应用到HTML的默认配置中,确保页面的基本信息得 ...

  7. [kernel] 带着问题看源码 —— 进程 ID 是如何分配的

    前言 在<[apue] 进程控制那些事儿>一文中,曾提到进程 ID 并不是唯一的,在整个系统运行期间一个进程 ID 可能会出现好多次. > ./pid fork and exec c ...

  8. bond网卡

    目录 一.bond概述 1.1.bond的优点 二.bond模式 2.1.mode=0 2.2.mode=1 2.3.mode=2 2.4.mode=3 2.5.mode=4 2.6.mode=5 2 ...

  9. 可视化学习:使用极坐标参数方程和SDF绘制有趣的图案

    前言 本文将介绍如何使用极坐标参数方程和上一篇文章提到的距离场SDF来绘制有趣的图案. 说到曲线和几何图形的绘制,我们知道图形系统默认支持的是通过直角坐标绘制,但是有些曲线呢,不太容易使用直角坐标系来 ...

  10. MySQL查询某个字段含有字母数字的值

    1.正则表达式(REGEXP) 查询MySQL表中某个字段含有字母和数字的值,可以使用正则表达式(REGEXP)来匹配这样的模式.在MySQL中,正则表达式是一个强大的工具,可以用来搜索和匹配字符串中 ...