代码之家  ›  专栏  ›  技术社区  ›  Andy Ray

Visual Studio代码段:如何转换代码段中的用户输入?

  •  0
  • Andy Ray  · 技术社区  · 4 年前

    console.log('variable: ', variable);
    

    这很简单,就像:

     "Debug Labeled String": {
        "scope": "javascript",
        "prefix": "c,",
        "description": "Debug Labeled String",
        "body": [
          "console.log('$1', ${1})",
        ]
      }
    

    一个问题是,如果我正在调试的字符串中有单引号,它就不再是有效的代码。所以我试图替换第一个 $1 the docs 您可以将转换应用于变量。但是,我不知道如何将转换应用到用户变量。

    我试过了

    "console.log('${1:/'//g}', $1);"
    

    但这只是字面上的输出 /'/

    "console.log('${1:/'//g}', ${1:/(.*)});"
    

    但这也不管用。在Visual Studio代码中是否可以转换用户输入的结果?

    1 回复  |  直到 4 年前
        1
  •  0
  •   Mark    4 年前

    这对我有效:

    "console.log('${1/'//g}', $1);",  
    

    我刚把 :

     "console.log('${1/'//g}', ${1:default});"  // or
     "console.log('${1/'//g}', ${1:});"
    

    我认为关键是你需要一个非转换占位符某处,然后转换将工作。未转换的占位符可以在转换版本之前或之后。因此这不起作用:

    "console.log('${1/'//g}', ${1:default/'//g});"  // the second transform does nothin
    

    我还认为placehlder转换中存在一些错误。