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

Kul*_*Gin 5 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";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

这是我在运动中试图实现的目标: 在此输入图像描述

我设法通过使用宏在 WebStorm 和 PhpStorm 中实现此行为: 在此输入图像描述

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

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

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

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

PS 是的,我确实检查过类似的线程:

他们都没有帮助我找到问题的解决方案。请帮忙。在此输入图像描述

Yan*_* Jk 3

更新

根据这个答案

我使用的是VS2017,测试过默认快捷键:Shift++ ,可以跳转到包含块的头部。此默认快捷方式适用于. 这个对我有用。Alt[EditorContextMenus.Navigate.GoToContainingBlock

在VS2019中仍然可以工作


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

请检查一下。这是费因布雷斯

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

  1. 转到块的开头 (Alt+[, [ )
  2. 转到块末尾 (Alt+], ])

其他功能无法使用。

并且该扩展已经有一段时间没有更新了。Visual Studio 代码还有更多相关扩展。但我不知道它是否适合视觉工作室。