Snippets-VSCode与restructuredText
Snippets & reStructuredText
标题太长了,特别是
reStructuredText一词,在下文中统称为RST。
前言
为什么放着好好的Markdown不用,跑去用reStructuredText呢?这个还要从我的一个翻译项目说起。
想在导师的项目里打打杂,于是就研究起了R包的开发。但是国内网络上关于R包开发的资料实在是太少太旧了,因此想要学习翻译一下英文资料 R Packages 第二版。使用Google翻译翻译到一半(我好菜啊~),发现Markdown格式的文档不好像书一样阅读,于是打起了ReadTheDocs和Sphinx的主意。
R_Packages_zh_CN Repo: https://github.com/YuanchenZhu2020/R_Packages_zh_CN
Web Book: https://r-packages-zh-cn.readthedocs.io/zh_CN/latest/
不得不说,现在Markdown使用广泛,但是它的语法没有统一标准,方便但可移植性不强;而RST貌似只在Python社区才有较广泛的使用(Python官方文档就是用Sphinx和RST书写的),但是它功能更多,可移植性好。
Snippets
“片段”
在 VSCode 里的作用就和它的中文意思一样,输入关键词,进行代码片段的自动补全。
官方说名参考这里
中文参考这里
准备
VSCode + reStructuredText插件
创建用户Snippet文件
Ctrl + Shift + P打开命令面板,输入Snippets,目标为:

点击后输入目标代码语言:

打开文件,按照里面的注释输入Json格式的代码即可:
1 | // Example: |
"Print to console":代码段的名字;"prefix": "log",:关键词;"body"::需要添加的代码片段,具体如何写参照Snippets;"description"::对于这段代码片段的说明;
疑问
在reStructuredText插件中已经有了Snippets,为什么我们还要再写一个呢?
这是因为,在中英文混排的情况下,里面补全的命令需要首尾各添加一个\<Space>隔开命令才能解析。而首尾各添加一个<Space>也能让命令正常解析,但是会多出首尾空格。例如:
1 | .. 不能正常输出加粗效果 |
因此自带的代码补全在中英文混排的情况下会很麻烦,我们需要新的代码片段。
我的模板
暂时只添加了:
- 文字链接
- 斜体
- 加粗
- 下标
1 | // Using in mixed writing in Chinese and English |
还能怎么用?
比如添加一个C语言文件头注释?
1 | { |
比如 Latex 文章模板?
1 | { |