VS Code 配置 Markdown 环境

@TOC(VS Code 配置 Markdown 环境)

1. 背景

总之就是在学习一个系列教程的时候,需要短期地做个笔记

Typora收费,Effie文艺,mdbookgitbook又太大,还是基于VS Code

2. 插件

Markdown All in One,主要是在编辑器起作用,常用的快捷键如下:

lua 复制代码
+------------------+----------------------------+
| Key              | Command                    |
+------------------+----------------------------+
| Ctrl/Cmd + B     | Toggle bold                |
| Ctrl/Cmd + I     | Toggle italic              |
| Ctrl + Shift + ] | Toggle heading (uplevel)   |
| Ctrl + Shift + [ | Toggle heading (downlevel) |
| Ctrl/Cmd + M     | Toggle math environment    |
+------------------+----------------------------+

Markdown Preview Enhanced

主要是为了渲染Markdown,以及导出PDF文件

Markmap

根据Markdown生成思维导图

vscode-pdf

VS Code当中查看PDF

啊,对,有必要说一句,VS Code的插件得好好管理一下,要不然启动巨慢,而且很卡

一般而言我是禁用所有插件,主要是为了偶尔右键单击打开某单个文件进行编辑,提高这个场景下的启动速度

但是插件还是要用的,不过的在工作区启用

例如我在某个文件夹做笔记,那么当我在VS Code中打开这个文件夹后,找到需要使用的插件,右键单击选择启用(工作区)

这样就可以使得这个插件只在该文件夹起效,开其他文件还是禁用,提高响应速度

以及尽量不要删除打开文件夹的历史记录,否则该文件夹下启用的插件在再次打开该文件夹时会保持禁用,因为记录他们启用的配置数据与历史记录好像在一起放着

3. 导出

为了能够导出PDF,需要安装一个Prince或者Pandoc,安装过程可以参考这个^1^和这个^2^

具体操作就是在MarkdownMarkdown Preview Enhanced右键单击,然后选择Pandoc或者Prince导出

3.1 Pandoc

如果使用Pandoc的话,貌似还得有xlatex什么的。总之我之前配过latex,导致我也不太清楚从头开始要怎么配。

在用这个的时候,我调了下字体,但没成功,查教程^3^也没用

关于导出的设置,也有一些调整的东西,可以参考这个^4^和这个^5^

在这里放个导出模板吧:

yaml 复制代码
---
title: title
author: author
date: date

output: 
    pdf_document: 
        latex_engine: xelatex
        # toc: true
        # number_sections: true
        # pandoc_args: []

toc:
  depth_from: 1
  depth_to: 9
  ordered: false

toc-depth: 9

classoption: UTF8
fontsize: 14pt
# documentclass: article
documentclass: extarticle
# documentclass: ctexart
geometry: margin=2cm
# colorlinks: true

header-includes:
  # - \usepackage{graphicx}
  # - \setkeys{Gin}{width=0.8\textwidth}
  # - \usepackage{amsmath}
  # - \allowdisplaybreaks
  - \setcounter{tocdepth}{9}
  - \setcounter{tocdepth}{9}

mainfont: SimSun
sansfont: SimHei
monofont: Consolas
CJKmainfont: SimSun
# CJKmainfont: DengXian
CJKsansfont: SimHei
CJKmonofont: Consolas
# CJKoptions: BoldFont
# CJKoptions: ItalicFont
# CJKoptions: BoldItalicFont
---

3.2 Prince

这个的话,需要改一下CSS,因为默认的配置显示的中文很奇怪,参考这个^6^

我改完后感觉列表的缩进似乎有点太多了,于是参考这个^7^改了一下

总之,Ctrl+Shift+P调出命令面板,输入Markdown Preview Enhanced: Customize Css,然后我调的大概是这个样子:

css 复制代码
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

.markdown-preview.markdown-preview {
  // modify your style here
  // eg: background-color: blue;
  /* prince设置参数 */
  &.prince {
    /* 添加页码 */
    font-family: Microsoft YaHei;
    // 调整字体,默认的字体看上去有些奇怪
    @page {
      @bottom {
        font-family: Microsoft YaHei;
        content: counter(page) " / " counter(pages)
      }
    }
    // 添加页脚,并设置字体
    ul {
      padding-left: 0.2cm;
      margin-left: 0.2cm;
    }
    // 更改无序列表的缩进,默认缩进空白太多
  }
}

4. 目录

目录是在生成的PDF文件的前几页,带超链接跳转的,这个是目录

书签是侧边栏的那个,一般默认生成的PDF都是带书签的,各级标题就是书签,不过好像一般只支持到六级标题

这个生成方式,一般还是Markdown Preview Enhanced

光标锚定文档的开头,Ctrl+Shift+P调出命令面板,输入Markdown Preview Enhanced: Create Toc,然后就会生成一堆东西,可以参考这个^8^

然后,用Prince导出是可以改CSS的,貌似也有通过这个方法来生成目录的,但是看起来很复杂,我没有仔细研究,可以参考这个^9^

5. 导图

思维导图就是用Markmap自动生成的,但是有点神奇

就是,在VS Code当中,不会显示图片

但是当导出成为HTML之后,就有图片了,而且相比于文字来说还比较大

反正我也只是在VS Code里面简单看两眼,问题不大

不过为了配合思维导图的显示效果,在写Markdown的时候要注意一些问题,可以参考这个^10^

摘录如下:

  • 凡是下方有分支的,都写作标题。
  • 凡是想在思维导图上显示的,都写作标题、引用、单行代码、代码块、数学公式中的一个。
  • 不想在思维导图上显示的,即正文部分。

Footnotes

  1. VSCode:"princexml" is required to be installed+vscode中如何使用md文件 - 风中狂笑 - 博客园

  2. pandoc 安装与使用 - 知乎

  3. latex - From Markdown to PDF: how to change the font-size with Pandoc? - Stack Overflow

  4. 【LaTeX】Pandoc调用xelatex从.md文件生成含自选中文字体的PDF文件_! latex error: unicode character 鏈?pandoc.exe: <st-CSDN博客

  5. VS Code 中 Markdown Preview Enhanced 插件利用 pandoc 导出 pdf 文件的一些问题 - 知乎

  6. markdown从VSCode中导出为PDF时字体格式问题_md文档导出pdf后公式字体变了-CSDN博客

  7. ToolVSCode下Markdown简介与导出PDF_vscode markdown pdf-CSDN博客

  8. 基于vscode编写markdown导出带书签(目录)的pdf_vscode导出markdown为pdf 带目录-CSDN博客

  9. css4.pub/2023/toc/

  10. markmap,将markdown文件转换为思维导图 - 断鸿_Hua - 博客园

相关推荐
红尘散仙4 小时前
我把终端小说阅读器接上了 AI Agent:TRNovel 现在能用 skill 生成书源了
人工智能·后端·rust
卷毛的技术笔记6 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
会编程的土豆6 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
喵个咪6 小时前
GoWind Toolkit Go后端代码生成 完整全流程实战
后端·go·orm
basketball6167 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
qq_2518364577 小时前
SpringBoot+Vue 共享电池柜管理系统 完整实现 前后端分离项目实战 完整代码
vue.js·spring boot·后端
zhangxingchao7 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
IT_陈寒8 小时前
Vite打包时遇到的坑,原来问题出在这里
前端·人工智能·后端
ayqy贾杰9 小时前
基层管理的三板斧,在AI时代行不通了
前端·后端·团队管理
Apifox9 小时前
Apifox 5 月更新|Postman 导入优化、Runner 支持非 root 运行、请求代码自动带鉴权
前端·后端·安全