Верхний верблюжий чехол для нижнего верблюжьего футляра как фрагмент кода VS - PullRequest
1 голос
/ 17 октября 2019

Я пытаюсь создать следующую строку в качестве фрагмента кода VS:

MyFooVariable mytype `json:"myFooVariable"`

Итак, у меня есть следующая база фрагментов

"Struct member declaration with json decorator": {
    "prefix": "json",
    "body": [
        "${1} ${2} `json:\"${1}\"`"
    ],
    "description": "Add suffix for json Marshaller"
}

При втором использовании ${1} Я хочу заменить верхний верблюжий на нижний верблюжий. Я думаю, что я должен использовать регулярные выражения для подстановки, но как только я пытаюсь что-то сделать с помощью регулярных выражений, мой мозг просто убегает.

Не могли бы вы помочь мне с этим?

Я знаюЯ должен показать вам, что я пытался, но поверьте мне, это не имеет значения.

1 Ответ

1 голос
/ 17 октября 2019

Вы хотите превратить первый символ входного слова в нижний регистр. Таким образом, вы можете использовать простое регулярное выражение ^(.), чтобы найти этот первый символ и захватить его в группу 1, а затем использовать ${1:/downcase}, чтобы заменить строчную версию этого символа:

"body": [
    "${1} ${2} `json:\"${1/^(.)/${1:/downcase}/}\"`"
],

Это "грубая" демонстрация того, как это работает.

...