是否有一种方法可以快速替换匹配括号,以便在vscode中匹配括号(或其他任何打开/关闭字符)?
类似于 ctrl + d 的东西,但用于匹配的括号,括号等。
我目前正在用箭头功能替换传统的JavaScript函数定义(redux动作创建者),而且我还在eslint中使用airbnb规则,其中规则arrow-body-style需要在{{之后立即移动返回值1}},并且由于大多数动作创建者返回的对象文字必须用括号括起来,所以这就是为什么我需要一种使替换变得容易的机制的原因。
我正在尝试改变。
=>
到
export function hideServerErrors() {
return {
type: HIDE_SERVER_ERRORS,
};
}
答案 0 :(得分:1)
对于您的特定示例,请尝试以下操作:
首先,将此命令绑定到某些键,例如
{
"key": "ctrl+alt+]",
"command": "editor.action.selectToBracket"
}
然后,将光标放在第一个括号内(第一行代码的结尾),触发命令,例如 Ctrl - Alt - ] 在我的示例绑定中。输入您的(,您将得到:
export function hideServerErrors() ({
return {
type: HIDE_SERVER_ERRORS,
};
})
我想这是您要完成的所有步骤。鉴于您需要更改一些内容,因此摘要可能是一次性进行所有更改的方法。
答案 1 :(得分:0)
我认为Quick and Simple Text Selection extension的本提示中提到的Smart Select可能会有所帮助。
安装扩展名后,如果要用{
替换 (
:
{
内的某个地方当我尝试此操作时,它可以工作,但是格式化很麻烦,所以也许不完全是我们想要的...
在您的情况下,您似乎想用括号将{ type: HIDE_SERVER_ERRORS, }
包裹,这更加容易-单击内部,使用 Ctrl + k , Shift + } 来获取包含的括号,然后使用(将其包装在括号中...或混合并根据需要进行匹配...
(我认为Smart Select可以自行完成相同的操作,但是需要更多的欺骗/步骤/组合...)
不是100%方便,但是在某些更复杂的情况下,这比尝试自己选择/匹配牙套要好得多。
答案 2 :(得分:0)
您也可以使用正则表达式:
查找:funcName\('([\s\S\r]*?)'\)
替换:funcName['$1']
它会将 funcName('test')
之类的内容替换为 funcname['test']