【问题标题】:How to apply regular expression on user input in vscode snippets如何在 vscode 片段中对用户输入应用正则表达式
【发布时间】:2020-02-02 07:45:12
【问题描述】:

我正在使用反应钩子。我使用带减速器的全局上下文。而不是在函数内部编写减速器函数的每个case。我想在文件中分开。我的文件示例如下

export type SetDrawingDataAction = {"set-drawing-data": Data};
export function setDrawingData(state : IGlobalState, data: number) : IGlobalState{

}

在上面的文件中,您可以知道我在三个地方使用了名称SetDrawingData,但格式不同。

目前我的 sn-p 如下所示,但它没有使 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

【问题讨论】:

    标签: visual-studio-code code-snippets vscode-snippets


    【解决方案1】:

    假设您的输入是 setDrawingData 试试这个 sn-p:

    "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"
    }
    

    这是该 sn-p 的输出:

    export type SetDrawingDataAction = {"set-drawing-data": Data}
    export function setDrawingData(state : IGlobalState, data: Data) : IGlobalState {
    
    }
    

    【讨论】:

    • 不适合我。输入setDrawingData后是否按任意键?
    • 您必须在setDrawingData 之后按tab 才能完成转换。 Like a Variable-Transform, a transformation of a placeholder allows changing the inserted text for the placeholder when moving to the next tab stop. 来自code.visualstudio.com/docs/editor/… 这意味着当你去下一站或最后一站时会发生转换。
    • 我添加了一个 gif,显示了必要的最终 tab。您可以像我在 gif 中那样输入 setDrawingData 或将其粘贴进去 - 没关系。
    • 好吧,不。也许我错过了一些明显的东西
    • 嗯,你是v1.41的vscode吗?什么不起作用?你可以触发sn -p吗?输入你的setDrawingData,点击tab - 你会得到什么?
    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多