Visual Studio代码环绕

问题描述 投票:30回答:5

我找不到用VS Code中的某些内容包围选择的方法。

例如做类似的事情:text => "text"只需选择单词text并输入键“

另一个例子有以下文字: mon tue wed thu fri sat sun

通过选择所有这些词:

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

并输入“我想执行以下操作:

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

如果有人有任何想法。

谢谢。

editor visual-studio-code behavior
5个回答
30
投票

选择一些文本并按“已在VSCode中工作以包围单个项目,并且也适用于多行选择。

注意:这取决于语言。语言语法必须定义开括号和结束括号,例如引号,大括号等等。例如,这不适用于“纯文本”文件。使用CTRL + SHIFT + P更改语言模式并键入Change Language Mode ENTER并选择支持此类似JavaScript的内容。

你所追求的并不像那样高效。你最好的选择是使用多个游标。

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

然后只需键入“然后END然后”,所有行都被引号括起来。

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


7
投票

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

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

一个简单但功能强大的扩展,用于在代码块周围添加包装器模板。

特征

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

Demo 1: Choosing wrapper function from quick pick menu

Demo 2: Wrapping multi selections


5
投票

在VS Code中按住Command + Shift + P然后写入:“>首选项:打开键盘快捷键”

选择编辑keybindings.json。在允许修改的区域中,将其粘贴到括号内:

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

**请注意,在此示例中,“key”设置为“cmd + p”,您可以将“key”更改为您喜欢的任何内容


3
投票

如果您想要自定义环绕文本,也存在此扩展名。

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

我刚安装它并使其完美运行


2
投票

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

链接:

如果您在VS Code中使用vim或vim绑定,请欣赏!

编辑:VSCodeVim plugin自动包含环绕功能,所以如果你安装了这个插件,你真的不需要vscode-surround插件。


2
投票

使用Yuri Aps的建议,我将以下JSON添加到keybindings.json。这提供了Ronan Lamour针对任何文件类型请求的功能,而无需扩展。当使用单引号或双引号时,它适用于单个或多个选择。来自Sublime,这很有用,因为它重现了Sublime本身提供的功能。

{
    "key": "'",
    "command": "editor.action.insertSnippet",
    "when": "editorHasSelection || editorHasMultipleSelections",
    "args": {
        "snippet": "'${TM_SELECTED_TEXT}'"
    }
},
{
    "key": "shift+'",
    "command": "editor.action.insertSnippet",
    "when": "editorHasSelection || editorHasMultipleSelections",
    "args": {
        "snippet": "\"${TM_SELECTED_TEXT}\""
    }
},
© www.soinside.com 2019 - 2024. All rights reserved.