【问题标题】:Snippet variable transform in some locations某些位置的片段变量转换
【发布时间】:2018-08-13 15:05:56
【问题描述】:

例如:

export const setVisibilityFilter = (filter) => ({
  type: 'SET_VISIBILITY_FILTER',
  filter
})

函数setVisibilityFilter 的名称有驼峰式。书面版中下划线分隔的大写字母相同:SET_VISIBILITY_FILTER

我想用它制作一个sn-p。我希望在 sn-p 变量中输入任何文本后,第二个由下划线分隔的大写字符是从此文本创建的。

这样我就不用写第二遍了,只用大写……

是否可以在 sn-p 中以及如何做到这一点?

【问题讨论】:

    标签: visual-studio-code code-snippets


    【解决方案1】:

    vscode 1.25 确实在 sn-p 制表位上添加了转换,因此无需预先选择。此版本可以使用,并且可以使用任意数量的驼峰式单词,例如“camelCase”、“camelCaseCaseCase”等。

    "test3": {
        "prefix": "seps",
        "body": [
            "export const $1 = (filter) => ({",
                "type: '${1/([a-z]*)(([A-Z])+([a-z]+))?/${1:/upcase}${2:+_}$3${4:/upcase}/g}',",
                "filter",
            "})"
        ],
        "description": "underscore separators"
    }
    

    查看我的类似答案convert from camelCase to all CAPS_WITH_SEPARATORS

    【讨论】:

      【解决方案2】:

      您可能正在寻找这样的东西:

          "Redux_Action_Creator": {
              "prefix": "act",
              "body": [
                  "export const ${TM_SELECTED_TEXT} = (${1}) => ({",
                  "\ttype: '${TM_SELECTED_TEXT/(^[a-z$]+).*/${1:/upcase}/g}${TM_SELECTED_TEXT/[a-z$]*([A-Z0-9][a-z$]+)/_${1:/upcase}/g}'",
                  "\t$0",
                  "});",
                  ""
              ],
              "description": "[Surrounding] Export action creator returning plain action"
          }
      

      必须通过“insert sn-p”命令调用此 sn-p,并选择操作创建者名称(示例用法:http://recordit.co/o8u3lvPsIe)。

      注意:使用 TM_SELECTED_TEXT 是必要的,因为 VSCode 目前不支持转换 sn-p 占位符(请参阅功能请求:https://github.com/Microsoft/vscode/issues/34683

      【讨论】:

        猜你喜欢
        • 2014-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-28
        相关资源
        最近更新 更多