个人博客自建指南(4.1 番外):VSCode 里的 Markdown 生产力配置
前言
第4篇我们用 VitePress 搭好了博客框架,写了第一篇 Markdown 文章。但那时候用的还是最原始的编辑方式:手打 # 标题、手写 1. 2. 3. 序号、手动对齐表格。
写了十几篇文章之后,这些重复劳动开始变得烦人了。尤其是写步骤型文章(比如树莓派烧录、Nginx 配置)时,序号改来改去、表格对不齐、目录要手写——这些琐事加起来,每次能多耗十分钟。
这篇就来解决这个问题。做完之后,你的 VSCode 将成为一台“Markdown 写作机器”,你只需要关心内容,格式和结构交给插件。
一、方案选择
| 方案 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
| 原生 VSCode,不装插件 | 零配置 | 无自动补全、无目录、无表格对齐 | ❌ |
| 只装一个 Markdown All in One | 覆盖 90% 高频需求 | 部分键位需手动修复 | ✅ 推荐 |
| 全套 Markdown 插件全家桶 | 功能最全 | 配置复杂,部分功能重叠 | ⚠️ 可选 |
Markdown All in One 一个插件就能覆盖你写博客时 90% 的重复劳动,而且配置简单,不会拖慢 VSCode 启动速度。唯一的代价是:有几个快捷键和 VSCode 原生功能冲突,需要手动修复。这篇会一并解决。
二、安装
在 VSCode 扩展商店搜索 Markdown All in One,作者 Yu Zhang,安装即可。
Markdown 预览:
vscode 中打开 .md 文件, 快捷键: ctrl+k → v , 即可打开预览窗口,查看排版效果。
三、功能拆解
3.1 目录生成(长文必备)
以前写一篇带小标题的长文,要在开头手写目录,改了标题还得同步改目录。现在光标放在文章开头,打开命令面板:
Ctrl+Shift+P → Create Table of Contents插件会自动扫描全文的 # ## ### 标题,生成带锚点链接的目录。之后修改了标题,执行 Update Table of Contents 即可刷新。
如果你写的是系列教程(比如“个人博客自建指南”这种多级标题的文章),还可以给标题自动编号:
Ctrl+Shift+P → Add section numbers效果:
## 1. 安装
### 1.1 下载
### 1.2 配置
## 2. 使用3.2 有序列表自动续号(步骤型文章神器)
写步骤时最烦的就是改了中间一项,后面的序号全要手动改。装了这个插件后,你只需要:
- 行首输入
1.,回车后自动变成2. - 如果要在第 3 步和第 4 步之间插入一项,直接在新位置按 End 到行尾回车即可,编辑器会自动生成下一个序号,整段自动重排
- 选中多行纯文本,一键转成有序列表(快捷键见 第四节“键位处理”)
对于经常写操作步骤的博客来说,这个功能省的时间最多。
3.3 任务列表
写待办事项时,Alt+C 可以快速勾选或取消勾选:
- [x] 写完这篇番外
- [ ] 部署到线上
- [ ] 提交 sitemap3.4 导出 HTML
如果你想把文章发给不看 Markdown 的人,可以:
Ctrl+Shift+P → Print current document to HTML生成一个带样式的 HTML 文件,可以直接用浏览器打开。
四、键位处理
安装完插件后,你会发现有几个快捷键按了没反应,或者触发了 VSCode 的其他功能。这是因为 Markdown All in One 想占用的几个键位,已经被 VSCode 原生占用了。
4.1 冲突清单
| 快捷键 | 插件意图 | 实际被谁占了 | 建议替代键 |
|---|---|---|---|
Ctrl+Shift+L | 切换列表(有序/无序/任务) | VSCode 原生:选中所有匹配项 | Ctrl+Shift+1 |
Ctrl+` | 行内代码 | VSCode 原生:切换终端面板 | Ctrl+Shift+` |
Ctrl+Shift+] | 升标题级 | VSCode 原生:展开代码折叠 | Ctrl+Shift+= |
Ctrl+Shift+[ | 降标题级 | VSCode 原生:折叠代码 | Ctrl+Shift+- |
4.2 一键修复
打开快捷键 JSON 文件:
Ctrl+K Ctrl+S → 右上角 {} 图标把以下内容粘贴进去,保存即可:
[
// Markdown All in One 键位修复
{
"key": "ctrl+shift+1",
"command": "markdown.extension.editing.toggleList",
"when": "editorTextFocus && editorLangId == 'markdown'"
},
{
"key": "ctrl+shift+`",
"command": "markdown.extension.editing.toggleCodeSpan",
"when": "editorTextFocus && editorLangId == 'markdown'"
},
{
"key": "ctrl+shift+B",
"command": "markdown.extension.editing.toggleCodeBlock",
"when": "editorTextFocus && editorLangId == 'markdown'"
},
{
"key": "ctrl+shift+=",
"command": "markdown.extension.editing.toggleHeadingUp",
"when": "editorTextFocus && editorLangId == 'markdown'"
},
{
"key": "ctrl+shift+-",
"command": "markdown.extension.editing.toggleHeadingDown",
"when": "editorTextFocus && editorLangId == 'markdown'"
}
]4.3 快捷键总览(以改建后为准)
修复完成后,以下是 Markdown 写作中所有常用快捷键,以最终生效的按键为准。与原版有冲突的,已标注改前/改后。
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 粗体 | Ctrl+B | 无冲突,原版可用 |
| 斜体 | Ctrl+I | 无冲突,原版可用 |
| 删除线 | Alt+S | 无冲突,原版可用 |
| 行内代码 | Ctrl+Shift+` | ⚠️ 原版 Ctrl+` 被终端占用,已改为 `Ctrl+Shift+` |
| 代码块 | Ctrl+Shift+B | ⚠️ 原版 无键位,已改为 Ctrl+Shift+B |
| 升标题级 | Ctrl+Shift+= | ⚠️ 原版 Ctrl+Shift+] 被折叠占用,已改为 Ctrl+Shift+= |
| 降标题级 | Ctrl+Shift+- | ⚠️ 原版 Ctrl+Shift+[ 被折叠占用,已改为 Ctrl+Shift+- |
| 切换列表 | Ctrl+Shift+1 | ⚠️ 原版 Ctrl+Shift+L 被选中匹配占用,已改为 Ctrl+Shift+1。选中纯文本后按一次转无序列表,再按一次转有序列表,循环切换 |
| 勾选/取消任务 | Alt+C | 无冲突,原版可用 |
4.4 记忆口诀
加粗斜体不变样(Ctrl+B / Ctrl+I)
行内代码加 Shift(Ctrl+Shift+`)
升降标题等号和减号(Ctrl+Shift+= / Ctrl+Shift+-)
列表切换用数字 1(Ctrl+Shift+1)4.5 引用块
Markdown All in One 没有提供独立的快捷键或命令。
最实用的操作方式是:
- 鼠标点击第一行行首
- 连续按 Alt+Ctrl+↓ 逐行向下添加光标,到达最后一行后松开
- 直接输入
> - 所有行首同时插入引用标记,几秒钟完成。
4.6 完整配置
安装插件后,大部分功能开箱即用。但我推荐微调几个设置,让它更贴合你的写作习惯。
打开 VSCode 设置(Ctrl+,),弹窗的右上角找到打开设置(json)的图标,点击进入编辑 settings.json:
{
// Markdown All in One 配置
"markdown.extension.list.indentationSize": "adaptive",
"markdown.extension.list.toggle.candidate-markers": ["1.", "-", "*", "+", "1)"],
"markdown.extension.orderedList.autoRenumber": true,
"markdown.extension.orderedList.marker": "ordered",
"markdown.extension.toc.levels": "2..6",
"markdown.extension.toc.unorderedList.marker": "-",
"markdown.extension.tableFormatter.enabled": true,
"markdown.extension.print.includeVscodeStylesheets": false,
"markdown.extension.print.theme": "light",
"markdown.extension.print.imgToBase64": false
}各配置项说明:
| 配置项 | 值 | 作用 |
|---|---|---|
orderedList.autoRenumber | true | 修改列表项时自动重排序号 |
orderedList.marker | ordered | 有序列表显示为 1. 2. 3.,自动编排序号 |
list.toggle.candidate-markers | ["1.", "-", "*", "+"] | 调整 Toggle List 循环顺序,将 1. 放在首位,纯文本按一次快捷键直接转为有序列表 |
toc.levels | "2..6" | 目录只包含 ## 到 ###### 标题,跳过 #(通常是文章标题) |
tableFormatter.enabled | true | 启用表格自动对齐 |
五、日常使用流程
装好插件、配好设置、修好键位后,你的写作流程变成这样:
5.1 写一篇长文(如“自建指南”系列)
- 写标题,光标放标题行,
Ctrl + Shift + -/Ctrl + Shift + =升降标题层级 - 写正文,随手用
Ctrl + B加粗关键词,Ctrl + I标术语,Ctrl + Shift + `标短命令或专业名词 - 选中多行,
Ctrl + Shift + 1给文段切换列表编号 - 选中多行,
Ctrl + Shift + B给文段转换为代码段 - 部署前,检查任务列表的完成状态
5.2 写一篇短笔记(如软件清单)
- 先写纯文本,选中后
Ctrl + Shift + 1转 有序/无序 列表 - 先写纯文本,选中后
Ctrl + Shift + B转 代码段
5.3 验证
打开任意一篇已有的博客文章,尝试:
- 选中几行纯文本,按
Ctrl+Shift+1,看是否转成有序列表 - 选中文本,按
Ctrl+B,看是否有加粗 - 选中几行纯文本,按
Ctrl+Shift+B,看否转成代码块 - 执行
Ctrl+Shift+P→Create Table of Contents,看目录是否生成
如果都正常,说明配置生效。
总结
这篇我们做了:
| 步骤 | 说明 |
|---|---|
| 安装 Markdown All in One | 覆盖 90% 的 Markdown 编辑痛点 |
| 修复键位冲突 | 把被 VSCode 占用的快捷键映射到 Ctrl+Shift+数字/符号 的安全区 |
| 配置 settings.json | 自动续号、目录级别、表格对齐 |
| 掌握快捷键 | Ctrl+B/I、Ctrl+Shift+1、Ctrl+Shift+B等 |
从此你在 VSCode 里写 Markdown,不再需要手动数空格、手动改序号、手动写目录。你只需要关心内容,剩下的交给插件。