visual-studio-code - 如何在 vscode 片段中对用户输入应用正则表达式
问题描述
我正在使用反应钩子。我使用带减速器的全局上下文。而不是在函数内部编写每个case
reducer 函数。我想在文件中分开。我的文件示例如下
export type SetDrawingDataAction = {"set-drawing-data": Data};
export function setDrawingData(state : IGlobalState, data: number) : IGlobalState{
}
在上面的文件中,您可以知道我SetDrawingData
在三个地方使用了这个名称,但格式不同。
目前我的片段如下所示,但它没有赚钱setDrawingDataAction
。
"Generate Action file": {
"prefix": "actd",
"body": [
"export type ${1/(.*)/${1:/capitalize}/} = {\"\": Data}",
"export function $1(state : IGlobalState, data: Data) : IGlobalState {",
" $2",
"}"
],
"description": "Generate action file witn data"
}
请回答如何仅使用单个输入来更改格式。第一个是大写 can 第二个需要是更改camelCase
为camel-case
解决方案
假设您的输入是setDrawingData
尝试此代码段:
"Generate Action file": {
"prefix": "actd",
"body": [
"export type ${1/(.*)/${1:/capitalize}/}Action = {\"${1/(.*)([A-Z][^[A-Z]*)([A-Z][^[A-Z]*)/$1-${2:/downcase}-${3:/downcase}/}\": Data}",
"export function $1(state : IGlobalState, data: Data) : IGlobalState {",
" $2",
"}"
],
"description": "Generate action file witn data"
}
这是该片段的输出:
export type SetDrawingDataAction = {"set-drawing-data": Data}
export function setDrawingData(state : IGlobalState, data: Data) : IGlobalState {
}
推荐阅读
- swift - watchOS 不进入 ComplicationController
- xamarin.forms - 将附加属性复制到 xamarin 表单中的新实例
- wikipedia - 如何从维基数据页面获取维基百科图像
- c++ - 如何在不同的命名空间中使用双重声明的 extern“C”函数进行 clang 构建(如 msvc 和 gcc)
- scala - sbt 相当于 gradle 的 JavaExec
- flutter - 有什么方法可以在 Flutter 中使用带有 spritewidget 的 Text 吗?
- elasticsearch - Open Distro Elasticsearch - 使用 JWT 对 Kibana 进行身份验证
- c# - 如何将 .tsv 内容转换为 xml
- java - 如何从自定义弹出菜单扩展的选择事件中获取选定的对象值?
- c - 从类型'char*'(矩阵+结构)分配给类型'char*[length]'时不兼容的类型