创建VSCode代码段以“大写”占位符tabstop内的重复tabstop [关闭]

问题描述 投票:0回答:1

下面已经回答了这个问题,请不要将其标记为“需要详细或清楚”。请参阅答案,它简洁,准确地解决了我的问题。

我想创建一个VSCode用户代码段,这将帮助我在html中构建按钮元素。

我的问题是,我需要将输出的占位符值资本化。

这是我当前的进度:

现有片段:

"<button type=\"${1|button,submit|}\" name=\"$2\" class=\"btn $2\">${3:$2}</button>"    

当前输出:

<button type="button" name="demo" class="btn demo">demo</button>

所需的输出:

<button type="button" name="demo" class="btn demo">Demo</button>

((唯一的区别是按钮文本中的“ D”为大写。)

注:一旦实现,我需要一个解决方案,其中“ Demo”(在上面的示例中)将保留一个占位符,以便可以在必要时快速覆盖它!

html regex visual-studio-code code-snippets
1个回答
2
投票

尝试:

"<button type=\"${1|button,submit|}\" name=\"$2\" class=\"btn $2\">${3:${2/(.*)/${1:/capitalize}/}}</button>",

大写,仍在选择中。我认为有一个错误-上面的代码应该可以工作,但是最终的制表位$ 3没有被选择。如果我只是在$ 2转换之前在$ 3 tabstop内插入space,如下所示,则效果很好-但这没什么区别,但是输出中肯定会有多余的空间:

   "<button type=\"${1|button,submit|}\" name=\"$2\" class=\"btn $2\">${3: ${2/(.*)/${1:/capitalize}/}}</button>",

[如果没有人指出错误,我可能会提出问题。


"snippet5": {
  "prefix": "sn5",
  "body": [
     "<button type=\"${1|button,submit|}\" name=\"$2\" class=\"btn $2\">${3: ${2/(.*)/${1:/capitalize}/}}</button>",
  ],
  "description": "html button"
},

[一种替代方法,它要求您将文本输入为Demo-注意在此处大写,但确实正确选择了最后的制表位,没有任何其他空格:

"<button type=\"${1|button,submit|}\" name=\"${2/(.*)/${1:/downcase}/}\" class=\"btn ${2/(.*)/${1:/downcase}/}\">${3:$2}</button>",

snippet html demo

© www.soinside.com 2019 - 2024. All rights reserved.