Visual Studio 代码环绕

Visual Studio Code Surround With

我在 VS Code 中找不到任何方法来围绕一个选择。

例如做这样的事情:text => "text" 只需选择单词文本并键入键 "

另一个包含以下文本的示例: mon tue wed thu fri sat sun

通过选择所有这些单词:

mon| tue| wed| thu| fri| sat| sun|

并输入 " 我想执行这样的操作:

"mon" "tue" "wed" "thu" "fri" "sat" "sun"

如果有人有任何想法。

谢谢。

选择一些文本并按 " 已经可以在 VSCode 中包围单个项目,并且也可以用于多行 selection。

注意:这是语言相关的。语言语法必须定义左括号和右括号,例如引号、大括号等。例如,这在 "plaintext" 文件中不起作用。使用 CTRL+SHIFT+P 并输入 Change Language Mode [=26] 更改您的语言模式=]ENTER 和 select 类似 JavaScript 的东西,这是受支持的。

虽然你所追求的并不是那样高效。最好的办法是使用多光标。

将光标放在第一行的开头,按CTRL+ALT+DOWN 在下一行下方添加另一个光标。继续这样做,直到你的所有单词前面都有一个光标。

然后只需键入 " 然后 END 然后 " 然后你所有的行都被包围报价。

注意:要检查您是否有键绑定,以及它是什么,您可以随时按 CTRL+SHIFT+P 并键入 Add Cursor Below 如果有键绑定,它将显示在该文本的右侧。

如果您想要自定义环绕文字,也可以使用此扩展程序。

https://marketplace.visualstudio.com/items?itemName=sifue.surrounding.

我刚刚安装它并且运行良好

我从 (neo)vim 切换到 VS Code,并且之前使用 Tim Pope 的精彩 "vim-surround" 插件 vim。我为 VS Code 找到了该插件的一个端口。在我看来,一旦你学会了快捷方式,它就非常有用,而且非常高效!

链接:

如果您在 VS Code 中使用 vim 或 vim 绑定,请尽情享受!

编辑:VSCodeVim plugin 自动包含环绕声功能,因此如果您安装了该插件,您实际上并不需要 vscode-surround 插件。

也许你可以试试这个扩展,你可以编写自己的自定义包装器:

https://marketplace.visualstudio.com/items?itemName=yatki.vscode-surround

A simple yet powerful extension to add wrapper templates around your code blocks.

特点

  • 支持多选选择
  • 完全可定制
  • 自定义 包装函数
  • 您可以分别为每个包装函数分配快捷方式
  • 格式很好

演示 1:从快速选择菜单中选择包装函数

演示 2:包装多项选择

在 VS Code 中按住 Command + Shift + P 然后写: "> 首选项:打开键盘快捷键 (JSON)"

在允许修改的区域,将其粘贴到括号内:

{
    "key": "ctrl+p",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
        "snippet": "\"${TM_SELECTED_TEXT}\""
    }
}

** 请注意,在本例中 key 设置为 Ctrl + p,您可以更改 key 随心所欲

根据 Yuri Aps 的建议,我将以下 JSON 添加到 keybindings.json。这提供了 Ronan Lamour 为任何文件类型请求的功能,并且不需要扩展名。当使用单引号或双引号时,它适用于单个或多个选择。来自 Sublime,这很有用,因为它再现了 Sublime 原生提供的功能。

{
    "key": "'",
    "command": "editor.action.insertSnippet",
    "when": "editorHasSelection",
    "args": {
        "snippet": "'${TM_SELECTED_TEXT}'"
    }
},
{
    "key": "shift+'",
    "command": "editor.action.insertSnippet",
    "when": "editorHasSelection",
    "args": {
        "snippet": "\"${TM_SELECTED_TEXT}\""
    }
},

Select 您要将其括起来的单词,然后输入 Ctrl + Alt + T 。然后输入你想要用它包围的任何键。

更通用的解决方案:在 keybindings.json:

{
  "key": "alt+m",     
  "command": "editor.action.insertSnippet",
  "when": "editorHasSelection",
  "args": {
      "snippet": "${TM_SELECTED_TEXT}[=10=]"
  }
}

无论您在触发键绑定后键入什么,都将添加到所有选择的两端。

完成后只需 tab 到单词的末尾,如果您有多个光标 Esc 可以删除多余的游标只留下一个。

2022 年 2 月 15 日更新:

VS Code 已原生引入 Surround with snippets for JS/TS

它可能与问题并不完全相关,但它可能会帮助那些出于在 vs 代码中“环绕”的意图而进入这个问题的人。