设置字符 $ 将文本换行为 vscode 中的括号

Setting character $ to wrap text as parentheses in vscode

假设存在以下代码。

sample text

当用户双击 text,然后按 {(,它只是在保留文本的同时换行。

sample {text}
sample (text)

但我不知道如何在 VS 代码设置中将此规则应用到 $。 我期待的是

sample $text$

VS Code 中的哪个设置与此功能相关?

Edit> Auto Surround

是vscode中的设置。但它仅适用于 (), {}, <> and [] 之类的引号和括号(可能还有一些其他语言定义的情况)。不幸的是,您不能更改该设置以包含另一个字符,例如 $

这是您可以尝试的键绑定(在 keybindings.json 中):

{
  "key": "alt+4",         // or whatever keybinding you wish
  "command":  "editor.action.insertSnippet",
  "args": {
    //  "snippet": "\$$TM_SELECTED_TEXT\$"

       // to have the text still selected after the $'s are inserted, use this
    "snippet": "\$${1:$TM_SELECTED_TEXT}\$"
  },
  "when": "editorTextFocus && editorHasSelection"
},

因此,当您 select 和 alt+[=27= 时,任何 selected 文本都将被 $ 包裹]4($ 在英文键盘上)。如果你经常做那个操作,那可能是值得的。

如果您在上面的代码段中改用这一行:

    "snippet": "$TM_SELECTED_TEXT"  // or

    "snippet": "${2:$TM_SELECTED_TEXT}"

然后更一般地 select 要包围的文本,触发该键绑定并键入您想要包装 selection 的任何字符以及多少个字符。