我正在尝试使用vs code (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