如何将自定义代码段中的字母大写?
How to capitalise a letter in a custom snippet?
我正在尝试使用 vs 代码 (javascript.json) 创建一个片段来执行以下代码。
const [click, setClick] = useState(false)
我创建了以下代码片段,效果不错。
"My Custom useState": {
"prefix": "myus",
"body": [
"const [${1:name}, set${1:name}] = useState(${2|true,false|})"
],
"description": "My Custom useState"
}
但在这个例子中,我想尝试找到一种方法将第二个单词大写。所以上面的片段输出是
const [click, setclick] = useState(false)
目前我回头代码,手写改成大写字母,但是减少了我写的代码量。
试试这个作为正文:
"const [${1:name}, set${1/(.)/${1:/capitalize}/}] = useState(${2|true,false|})"
这会将捕获组 1 的第一个字母 (.)
“转换”为大写字母 ${1:/capitalize}
。
在你的情况下 ${1:/upcase}
会做同样的事情,因为捕获组只包含第一个字母。通常,${1:/upcase}
会大写整个捕获组,而不仅仅是像 ${1:/capitalize}
那样的第一个字母。
不起作用的是 set${1:name/(.)/${1:/capitalize}/}
,其中使用默认值 :name
。您无法转换默认值。参见 https://github.com/microsoft/vscode/issues/56703
我正在尝试使用 vs 代码 (javascript.json) 创建一个片段来执行以下代码。
const [click, setClick] = useState(false)
我创建了以下代码片段,效果不错。
"My Custom useState": {
"prefix": "myus",
"body": [
"const [${1:name}, set${1:name}] = useState(${2|true,false|})"
],
"description": "My Custom useState"
}
但在这个例子中,我想尝试找到一种方法将第二个单词大写。所以上面的片段输出是
const [click, setclick] = useState(false)
目前我回头代码,手写改成大写字母,但是减少了我写的代码量。
试试这个作为正文:
"const [${1:name}, set${1/(.)/${1:/capitalize}/}] = useState(${2|true,false|})"
这会将捕获组 1 的第一个字母 (.)
“转换”为大写字母 ${1:/capitalize}
。
在你的情况下 ${1:/upcase}
会做同样的事情,因为捕获组只包含第一个字母。通常,${1:/upcase}
会大写整个捕获组,而不仅仅是像 ${1:/capitalize}
那样的第一个字母。
不起作用的是 set${1:name/(.)/${1:/capitalize}/}
,其中使用默认值 :name
。您无法转换默认值。参见 https://github.com/microsoft/vscode/issues/56703