在VsCode markdown的公式中快速插入⌊分数⌋等代码段
在VsCode markdown的公式中快速插入⌊分数⌋等代码段
背景
在markdown中写题解的时候经常会需要在LaTeX公式中输入类似$\lfloor\frac{x}{2}\rfloor$这样的代码,但是(对于坚持手写题解的大佬来说)这一长串手打起来还挺慢的。好在VsCode支持代码片段,在特定文件输入特定前缀可以插入指定代码,并且还能自定义光标位置、按tab切到下一个光标位置。
分享这种操作的文章不是很多么?这篇文章的意义是什么?
笔者在N年前就在VsCode上配置了一些cpp的代码段,这两天突然想起了配置markdown的代码段,结果发现需要解决以下问题才能配置成功:
- markdown默认没有补全提示
- markdown中即使配置了代码段,也无法在输入了
$后的公式中补全 - 大模型也无法直接给出这个问题的准确答案
先来个最终效果:

VsCode中输入分数的拼音fenshu可以插入\lfloor\frac{}{2}\rfloor代码段,光标默认定位到分子,按tab键定位到分母,分母默认是$2$,再按Tab键定位到向下取整分数的结尾。
设置
新增代码段
Cmd/Ctrl + Shift + P -> Snippets: Configure Snippets -> 新建全局代码片段文件
注意(01),一定要新建全局代码片段文件,不可以只选中markdown文件类型。因为输入 ⌊分数⌋ 的时候都是在markdown的公式中输入的,如果你新建一个关于markdown文件的代码段,很抱歉,你输入了$并开始输入fenshu的时候,诶,VsCode认为你在输入LaTeX,不给你弹代码段哈哈。
如果你想限制代码段的生效范围是markdown和LaTeX,可以在全局代码段文件中新增"scope": "markdown,latex"配置(如果你选的是markdown代码段而不是全局代码段的话,相当于语言专属 snippet 文件本身已经绑定 language scope,所以不能额外指定 scope)。
删掉默认的字符,把下面的字符粘贴进去(并保存):
1 | |
注意(02)这里面\的转义,\frac要写成\\\\frac,因为:
- JSON 解析一次:
\\\\→\\ - snippet 插入时:
\\→\
开启markdown文件的自动补全
不知道你的VsCode默认配置是怎样的,设置好上面的代码段后,你可能迫不及待地在markdown中尝试,但是发现怎么都触发不了自动补全提示。
插件
这可能是因为你的VsCode对于markdown文件的补全建议默认是关闭的。这可能是插件所致(03),测试方式是Cmd/Ctrl + Shift + P -> Developer: Reload with Extensions Disabled,看下是否会自动补全。(大概率会)如果还不能自动补全,说明不是插件所致。
置于关闭不含插件的重新启动的方式不用担心,你关闭插件并重启后,右下角会有一个很明显的提示,说这次启动禁用了所有插件,点击按钮正常重新加载VsCode。
配置
你可以通过在settings.json中新增如下配置来实现VS Code针对markdown的补全建议(04):
1 | |
这个settings.json打开方式是Cmd/Ctrl + Shift + P -> Preferences: Open User Settings (JSON)。
至此,你就可以愉快地使用了。
其他公式(原理类似),以后再来探索吧。
End
本文中一共出现了01、02、03、04这4个注意事项:
- 01: 要使用全局代码段而非指定语言代码段
- 02: 代码段中
\frac要写成\\\\frac - 03: 可以在临时禁用拓展的情况下看看效果
- 04: 在设置中打开对markdown的补全建议
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
千篇源码题解已开源