VS代码中重组文本中的标题片段
Snippet for title in restructured text in vs code
在重组文本中,标题使用相同数量的非字母数字 7 位 ASCII 书写
字符作为标题文本。如果同时使用下划线和上划线,则应相等且至少与标题文本一样长。来自 official docs:
Titles are underlined (or over-
and underlined) with a printing
nonalphanumeric 7-bit ASCII
character. Recommended choices
are "= - ` : ' " ~ ^ _ * + # < >
".
The underline/overline must be at
least as long as the title text.
标题示例
=========================================================
Main titles are written using equals signs over and under
=========================================================
我想为此创建一个 VS 代码片段。我能做的只有这些,
"Title RST": {
"prefix": "title",
"body": [
"="
""
"=\n"
"[=11=]"
],
"description": "Title for restructured text"
}
有没有办法知道将要输入的文本的长度,并相应地插入相同数量的上划线和下划线=
。
在yasnippet in emacs
中,他们这样做:
${1:$(make-string (string-width yas-text) ?\=)}
${1:Title}
${1:$(make-string (string-width yas-text) ?\=)}
[=12=]
对如何在 VS 代码 中实现这样的片段有帮助吗?我查看了 restructured text
VS Code here 扩展中的片段,但找不到适合我需要的片段。
"Title RST": {
"prefix": "title",
"body": [
"${1/./=/g}",
"",
"${1/./=/g}",
"[=10=]"
],
"description": "Title for restructured text"
},
转换 ${1/./=/g}
只是将文本 </code> 中的每个字符替换为文本上方和下方行中的 <code>=
。
您的代码段条目末尾需要逗号,不需要换行符,因为代码段中的另一行 body 已经是换行符。
当您键入文本时,点击 Tab 即可完成转换。
您询问是否可以让 over/underlines 在键入标题文本后立即显示为 =
。但这对于 vscode 片段是不可能的,需要进行转换,直到 Tab.
才会发生
可以用 HyperSnips 版本来完成(设置起来比普通的 vscode 片段要麻烦一点,但不多):
snippet title "Title" A
``rv = '='.repeat(t[0].length)``
``rv = '='.repeat(t[0].length)``
endsnippet
在重组文本中,标题使用相同数量的非字母数字 7 位 ASCII 书写 字符作为标题文本。如果同时使用下划线和上划线,则应相等且至少与标题文本一样长。来自 official docs:
Titles are underlined (or over- and underlined) with a printing nonalphanumeric 7-bit ASCII character. Recommended choices are "
= - ` : ' " ~ ^ _ * + # < >
". The underline/overline must be at least as long as the title text.
标题示例
=========================================================
Main titles are written using equals signs over and under
=========================================================
我想为此创建一个 VS 代码片段。我能做的只有这些,
"Title RST": {
"prefix": "title",
"body": [
"="
""
"=\n"
"[=11=]"
],
"description": "Title for restructured text"
}
有没有办法知道将要输入的文本的长度,并相应地插入相同数量的上划线和下划线=
。
在yasnippet in emacs
中,他们这样做:
${1:$(make-string (string-width yas-text) ?\=)}
${1:Title}
${1:$(make-string (string-width yas-text) ?\=)}
[=12=]
对如何在 VS 代码 中实现这样的片段有帮助吗?我查看了 restructured text
VS Code here 扩展中的片段,但找不到适合我需要的片段。
"Title RST": {
"prefix": "title",
"body": [
"${1/./=/g}",
"",
"${1/./=/g}",
"[=10=]"
],
"description": "Title for restructured text"
},
转换 ${1/./=/g}
只是将文本 </code> 中的每个字符替换为文本上方和下方行中的 <code>=
。
您的代码段条目末尾需要逗号,不需要换行符,因为代码段中的另一行 body 已经是换行符。
当您键入文本时,点击 Tab 即可完成转换。
您询问是否可以让 over/underlines 在键入标题文本后立即显示为 =
。但这对于 vscode 片段是不可能的,需要进行转换,直到 Tab.
可以用 HyperSnips 版本来完成(设置起来比普通的 vscode 片段要麻烦一点,但不多):
snippet title "Title" A
``rv = '='.repeat(t[0].length)``
``rv = '='.repeat(t[0].length)``
endsnippet