如何跳转到Visual Studio中的右括号?

时间:2018-01-02 09:15:20

标签: visual-studio visual-studio-2015

在当前代码块的右括号}之后是否有跳出代码块的快捷方式?

让我解释一下。

让我们说一个方法:

private void Button_Click(object sender, EventArgs e)
{
    if (enableCheckbox.Checked == true)
    {
        if (labelToChange.Text == "Right")
        {
            labelToChange.Text = "Left";
        }
        else
        {
            labelToChange.Text = "Right";
        }
    }
}

我的光标位于labelToChange.Text = "Left";行的某个位置。

我想通过按}跳转到当前if (labelToChange.Text == "Right")代码块的右括号Ctrl+]

然后,如果我再次按Ctrl+],我希望它跳转到}代码块的右括号if (enableCheckbox.Checked == true)

然后如果连续第三次按Ctrl+],我想跳转到方法}的代码块的右括号private void Button_Click(object sender, EventArgs e)

以下是我试图实现的目标: enter image description here

我通过使用宏来设法在WebStorm和PhpStorm中实现此行为: enter image description here

它到达代码块的末尾然后它到达行的末尾,因此它在闭括号之外停止。

当我处理多个代码块时,它总是非常方便:if / else,编写方法,任何东西,我总是在WebStorm和PhpStorm中使用它。

有没有办法在Visual Studio中实现这一目标?

我知道默认Ctrl+]快捷方式,Edit.GoToBrace命令的问题是只有当光标位于左大括号}时它才会转到右大括号{但是当光标在代码块内的任何其他位置时。

PS是的,我确实检查了类似的主题:

他们都没有帮助我找到解决问题的方法。请帮忙。 enter image description here

1 个答案:

答案 0 :(得分:1)

更新

根据this answer

我正在使用VS2017,并测试了默认的快捷键: Shift + Alt + [,它可以跳到包含块。 此默认快捷方式适用于EditorContextMenus.Navigate.GoToContainingBlock。 它对我有用。


我找到了Visual Studio的扩展程序,以实现增强的“ Edit.GotoBrace”命令。

请检查一下。 这是FeinBrace

我已经在我的IDE(Visual Studio 2017)中进行了测试。
它适用于

  1. 转到块的起始位置(Alt + [,[)
  2. 转到块结尾(Alt +],])

其他功能不起作用。

该扩展名已有一段时间未更新。 Visual Studio代码还有更多相关的扩展。但我不知道它是否适合Visual Studio。