在VsCode中将()交换为{}的最有效方法?

时间:2019-06-07 18:28:26

标签: visual-studio-code

我正在使用Visual Studio Code,经常发现自己必须用大括号(<code>)代替括号{<same code>},反之亦然。到目前为止,除了手动退格和替换每个字符外,我还没有找到其他方法。

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以在VSCode中使用正则表达式搜索和替换功能。

将此作为您的搜索字符串:

(.*)(\()(.*)(\))

替换为:

$1{$3}

说明:

  1. 我们正在使用正则表达式捕获组,以允许我们保留搜索字符串的某些部分,同时替换其他部分。

  2. 第一个捕获组(.*)搜索并捕获第一个(字符之前的任何内容。

  3. 第二个捕获组(\()得到左括号-我们将用{代替。请注意,(是转义的,因为(是正则表达式中的运算符

  4. 第三个捕获组(.*)捕获括号内的内容-我们将其重新放回去。

  5. 最后一个捕获组(\))抓取)字符,我们将其交换为}

  6. 因此,$2$4捕获组包含()字符,我们将其替换为文字{和{{1 }}个字符。 (如果我们想完全返回所发现的内容,我们将:}作为替换文本)

重要提示:

请注意(参见下面的img),单击了$1$2$3$4按钮(位于搜索文本的右侧)

VSCode Search box showing RegEx button depressed

[.*]按钮使搜索成为正则表达式搜索。确保完成后取消单击它。

更重要:

请勿点击[.*]按钮-进行一次替换。这种特殊的正则表达式不能正确替换括号内的多行文本。 ,但是为了加快该过程,Bob的叔叔。

DEMO at RegEx101.com

答案 1 :(得分:0)

我只是简短地测试过,但请看一下bracketeer extension

将光标安装在要交换的括号内的任何位置后,请使用 Ctrl - Shift - Alt - K (或更方便的键绑定)在[], {}, and ()之间循环。即使使用嵌套的括号,它似乎也可以很好地工作。

使用您的语言进行测试-它不支持很多语言,但可能对您有用(尽管目前尚不支持html)。显然,这仅适用于选定的实例-不适用于文件范围的实例-但适用于多个游标。