将括号替换为括号vscode

时间:2018-07-11 19:34:57

标签: javascript visual-studio-code keyboard-shortcuts

是否有一种方法可以快速替换匹配括号,以便在vscode中匹配括号(或其他任何打开/关闭字符)?

类似于 ctrl + d 的东西,但用于匹配的括号,括号等。

我目前正在用箭头功能替换传统的JavaScript函数定义(redux动作创建者),而且我还在eslint中使用airbnb规则,其中规则arrow-body-style需要在{{之后立即移动返回值1}},并且由于大多数动作创建者返回的对象文字必须用括号括起来,所以这就是为什么我需要一种使替换变得容易的机制的原因。

我正在尝试改变。

=>

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

3 个答案:

答案 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可能会有所帮助。

安装扩展名后,如果要用{替换 (

  1. 单击外部{内的某个地方
  2. 使用 Ctrl + k Shift + {选择全部内部内容
  3. Ctrl + x 剪切内容
  4. Ctrl + k Shift + } 来抓住括号
  5. Backspace 删除花括号
  6. 用于添加打开/关闭括号(假设您已启用默认选项来添加关闭括号)
  7. Ctrl + v 粘贴内脏。

当我尝试此操作时,它可以工作,但是格式化很麻烦,所以也许不完全是我们想要的...

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

(我认为Smart Select可以自行完成相同的操作,但是需要更多的欺骗/步骤/组合...)

不是100%方便,但是在某些更复杂的情况下,这比尝试自己选择/匹配牙套要好得多。

答案 2 :(得分:0)

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