替换 Visual Studio Code Snippet 文字中的文本

y0m*_*mbo 5 visual-studio code-snippets

在按下 Enter 键并且代码段退出其编辑模式后,是否可以替换 Visual Studio 代码段文字中的文本?

例如,给定这样的片段:

 public void $name$
 {
   $end$
 }
Run Code Online (Sandbox Code Playgroud)

如果我输入 $name$ 为:

 My function name
Run Code Online (Sandbox Code Playgroud)

是否可以让 Visual Studio 将其更改为:

 My_function_name
Run Code Online (Sandbox Code Playgroud)

或者

 MyFunctionName
Run Code Online (Sandbox Code Playgroud)

小智 5

多年后有一个答案,对于任何仍然遇到这个问题的人:

"Replace Whitespaces": {
    "prefix": "wrap2",
    "body": [
        "${TM_SELECTED_TEXT/[' ']/_/gi}",
    ],
    "description": "Replace all whitespaces of highlighted Text with underscores"
},
Run Code Online (Sandbox Code Playgroud)

将此添加到您的用户片段中。或者,您可以添加这样的键盘快捷键:

{
    "key": "ctrl+shift+y",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
        "snippet": "${TM_SELECTED_TEXT/[' ']/_/gi}"            
    }
},
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助将来遇到此问题的任何人