如何在VS代码段中自动转义特殊字符?

时间:2018-11-21 10:50:02

标签: visual-studio-code code-snippets

我想写一个TYPO3中的调试代码段。

这是我的php.json文件中的代码段:

"TYPO3 Extbase DebuggerUtility": {
    "prefix": "ee",
    "body": [
        "\\TYPO3\\CMS\\Extbase\\Utility\\DebuggerUtility::var_dump($1,'$1');",
        "$0"
    ],
    "description": "TYPO3 Extbase DebuggerUtility"
},

如果我想调试类似的东西: $ this-> settings ['key'] ,我得到以下代码:

\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->settings['key'],'$this->settings['key']');

但是它应该看起来像这样

\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($this->settings['key'],'$this->settings[\'key\']');

该代码段的第二部分带有转义符'。

编辑

谢谢,但我认为您没有理解这个问题。

我不想转义静态字符。我想使用代码段,当我输入第一个$ 1内容时,它应该是$ this-> settings ['someKey'] ,但是第二个$ 1 (几乎相同)应该自动转义我写的字符,是我不手工做。

因此,如果我输入“ 第一个$ 1:'第二个$ 1:\'我的调试看起来像这样

  

调试:

     

$ this-> settings ['someKey']

     

contentOfsomeKey

我无法在“调试标题”中转义'符号,它会中断字符串,因为'包装了调试标题。

换句话说:我想转义第二个$ 1变量的内容,而不是变量或代码段中的'-wrap'。

我希望我能澄清我的问题。

1 个答案:

答案 0 :(得分:0)

如果要在输出中使用转义字符\,则需要插入转义的转义字符:\\,这将导致单个转义字符。
如果以下字符需要额外的转义,则可能需要一个附加的转义字符:引号\' = \\ + \' = \\\'

前的反斜杠

`