【问题标题】:Modify the first letter of an argument in a user snippet in VSCode在 VSCode 中修改用户片段中参数的第一个字母
【发布时间】:2021-09-23 06:32:02
【问题描述】:

我使用前缀prop来生成:

private $1 $2;
public void set$2($1 $2) {
    this.$2 = $2;
}
public $1 get$2() {
    return $2;
}

这是我的sn-p:

"Add a property" : {
    "prefix": "prop",
    "body": [
        "private $1 $2;",
        "public $1 get$2() {",
        "\treturn $2;",
        "}",
        "public void set$2($1 $2) {",
        "\tthis.$2 = $2;",
        "}"
    ],
    "description": "Add a property to class"
}

输出:

private int age;
public int getage() {
    return age;
}
public void setage(int age) {
    this.age = age;
}

预期输出:

private int age;
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}

我要在我的 sn-p 中进行哪些更改以实现此输出?

【问题讨论】:

    标签: visual-studio-code vscode-snippets


    【解决方案1】:

    试试这个:

    "Add a property" : {
      "prefix": "prop",
      "body": [
        "private $1 $2;",
        "public $1 get${2/(.)/${1:/capitalize}/}() {",
        "\treturn $2;",
        "}",
        "public void set${2/(.)/${1:/capitalize}/}($1 $2) {",
        "\tthis.$2 = $2;",
        "}"
      ],
      "description": "Add a property to class"
    }
    

    这部分${2/(.)/${1:/capitalize}/} 将转换第二个制表位。它仅在捕获组 1 中捕获该单词的第一个字符 (.)(在您的情况下为 age),然后 ${1:/capitalize} 将大写捕获组 1 中的任何内容。

    看看 sn-p variable transforms

    【讨论】:

    • 不,还是一样的输出。
    • 我在发布之前当然已经测试过了。我添加了一个 gif,显示它可以正常工作 - 你是否准确地复制/粘贴了我的答案?
    • 其实,是的!我想我一定做错了什么:(
    • 当然,我今天自己试试。虽然我有感觉,但我还是继续接受吧:)
    【解决方案2】:

    我不在我的普通电脑上,但试试这个:

    "Add a property" : {
    "prefix": "prop",
    "body": [
        "private $1 $2;",
        "public $1 get${2:/capitalize/g}() {",
        "\treturn $2;",
        "}",
        "public void set${2:/capitalize/g}($1 $2) {",
        "\tthis.$2 = $2;",
        "}"
        ],
        "description": "Add a property to class"
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2018-03-31
    相关资源
    最近更新 更多