【发布时间】:2019-09-05 18:18:57
【问题描述】:
请看下面我的尝试和结果。 Sublime sn-p 优先:
<snippet>
<content>
<![CDATA[<${1:p}>${2:$SELECTION}</${1/([^ ]+).*/$1/}>]]>
</content>
<tabTrigger><</tabTrigger>
<scope>text.xml</scope>
<description>Long Tag</description>
</snippet>
和键绑定:
{ "keys": ["super+shift+o"], "command": "insert_snippet", "args": { "name": "Packages/XML/long-tag.sublime-snippet" } },
它的作用如下:
按 Cmd + Shift + O 将创建一个带有
p链接的 html 标签<p></p>可以开始打字,它会更新双方。按 Tab 键会将光标放在标签的中心。-
突出显示一个部分,然后按 cmd + shift + O 将用标签包围该部分。
我自己设法尝试的是 VS Code 中的以下内容:
{
"blank_tag": {
"prefix": "<cmdso>",
"body": [
// "<$1>$2</$1>$3"
"<${1:p}>${2:$SELECTION}</$1/([^ ]+).*}>"
],
"description": "Adds a blank tag to use"
}
}
这几乎得到了我想要的,但并不完全。我对正则表达式不是很好,但是这个打印的结果<p></p/([^ ]+).*}> 我可以删除最后一点正则表达式,它会让#1 满意。上面的#2 非常有帮助,我想弄清楚我做错了什么。我敢打赌,最后一点正则表达式可以让您突出显示一个部分并用标签包围它。
你能帮我解决这个问题并满足 #1 和 #2 吗?
【问题讨论】:
-
您想使用相同的键绑定来触发动作 1 和 2 吗?如果是这样,请参阅下面的答案。您的问题有点令人困惑,可能是您得到 4 个不同答案的原因。
-
任何答案都有效吗?
标签: regex visual-studio-code sublimetext3 code-snippets