【问题标题】:How to jump to closing brace in Visual Studio?如何在 Visual Studio 中跳转到右括号?
【发布时间】:2018-06-12 00:00:56
【问题描述】:

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

让我解释一下。

假设有一个方法:

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";这一行的某处。

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

然后,如果我再次按 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 是的,我确实检查了类似的线程:

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

【问题讨论】:

  • ctrl+} 跳转关闭和打开大括号
  • 我知道默认的Ctrl+] 快捷方式,Edit.GoToBrace 命令的问题是它只在光标位于左大括号{ 时才转到右大括号} 而不是当光标位于代码块内的任何其他位置。
  • 如果有人感兴趣,请提交功能请求:youtrack.jetbrains.com/issue/RSRP-467830
  • 非常感谢

标签: visual-studio visual-studio-2015


【解决方案1】:

更新

根据this answer.

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

它在 VS2019 中仍然有效


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

请检查一下。 这里是FeinBrace

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

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

其他功能不工作。

并且扩展程序已经有一段时间没有更新了。 Visual Studio 代码有更多相关的扩展。但我不知道它是否适合visual studio。

【讨论】:

  • 仅包含链接的答案将在未来被删除,因此请附上代码及其解释。
  • @JaimilPatel 感谢您的善意提醒。我会发布更多的解释和经验。
  • 有效,但仅在 2015 版本之前有效。我使用的是 2019 版本。
猜你喜欢
  • 2015-07-17
  • 2010-09-22
  • 1970-01-01
  • 2021-06-02
  • 1970-01-01
  • 2011-09-26
  • 2018-10-24
  • 2010-12-02
相关资源
最近更新 更多