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 | { |