替换括号 vscode 的匹配括号

Replace matching brackets for parenthesis vscode

有没有办法快速替换 vscode 中匹配括号(或任何其他 opening/closing 字符)的匹配括号?

类似于 ctrl+d 但用于匹配方括号、圆括号等。

我目前正在为箭头函数替换传统的 JavaScript 函数定义(redux 动作创建者),我还在 eslint 中使用 airbnb 规则,其中规则 arrow-body-style 需要移动 returning 值紧跟在 => 之后,因为大多数动作创建者 return 一个对象文字,它需要用括号括起来,这就是为什么我需要一种机制来简化替换。

我正在努力改变。

export function hideServerErrors() {
 return {
  type: HIDE_SERVER_ERRORS,
 };
}

export const hideServerErrors = () => ({
 type: HIDE_SERVER_ERRORS,
});

我认为 Quick and Simple Text Selection extension, as referenced in this tip on Smart Select 可能会有所帮助。

安装扩展程序后,如果您想 {替换为(

  1. 单击外部 {s
  2. 内的某处
  3. 使用Ctrl + k, Shift + { 到 select 整个里面的内容
  4. Ctrl + x 剪切内容
  5. Ctrl + k, Shift + } 抢牙套
  6. Backspace删除大括号
  7. ( 添加 open/close 括号(假设您启用了默认选项以添加右括号)
  8. Ctrl + v 粘贴内脏

当我尝试这个时,它起作用了,但格式很糟糕,所以可能不是我们想要的...

在您的情况下,您似乎想要 wrap 带括号的 { type: HIDE_SERVER_ERRORS, },这更容易 - 单击内部,使用 Ctrl + k, Shift + } 获取括号,然后 ( 将其包裹在括号中...或根据需要混合搭配...

(我觉得Smart Select自己也能做同样的事情,只是需要更多machinations/steps/combinations...)

不是 100% 方便,但在一些更复杂的场景中,这应该比尝试自己 select/match 大括号好得多。

对于你的具体例子,试试这个:

首先,将此命令绑定到某个键和弦,例如

{
    "key": "ctrl+alt+]",
    "command": "editor.action.selectToBracket"
}

然后,将光标放在第一个括号内(第一行代码的末尾),触发命令,例如 Ctrl-Alt-] 在我的示例键绑定中。输入你的 ( 你会得到:

export function hideServerErrors() ({
  return {
   type: HIDE_SERVER_ERRORS,
  };
 })

我认为这就是您通过这一步想要完成的全部工作。鉴于您有一些要更改的内容,snippet 可能是一次进行所有更改的方法。

您也可以使用正则表达式:
查找:funcName\('([\s\S\r]*?)'\)
替换:funcName['']
它会将 funcName('test') 替换为 funcname['test']