Visual Studio中选择当前代码块的键盘快捷键

9
在VB Classic、VBA以及Visual Studio中,您可以双击靠近代码块左边缘的位置,来选择整个当前块(子程序、函数等)。在Visual Studio中,这个可点击的区域位于左侧的行号旁边。
是否有快捷键能够完成同样的工作?即选择“当前块”。
3个回答

4
使用ReSharper,重复按下Ctrl-w,它将快速选择所需的范围。

3
我在寻找同样的东西时,发现了DevExpress的CodeRush Xpress(免费版)。您可以在此处获取更多信息:http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/
安装CodeRush Xpress后,您可以通过按键盘快捷键来选择代码块。这种实现方式的好处是,它允许您通过每次按键来增加或减少选择范围。
例如:
Private Sub MySub ()
  If myBooleanValue Then
    txtResult.text = "The quick brown fox jumps over the lazy dog"
  Else
    txtResult.text = "nevermind"
  End If
End Sub

将光标放在“lazy”中的“z”之前,然后使用键盘快捷方式(我将其绑定到数字键盘上的“+”键)逐步增加选择范围,您会得到以下选择:

  • 按1:The quick brown fox jumps over the lazy dog
  • 按2:“The quick brown fox jumps over the lazy dog”
  • 按3:txtResult.text = “The quick brown fox jumps over the lazy dog”
  • 按4:(选择整个If Then语句)
  • 按5:(选择整个子程序)

按下减少选择的键盘快捷键将产生相反的效果。

我强烈推荐尝试CodeRush Xpress。我非常喜欢它,所以我买了完整版本(每一分钱都物有所值)。


顺便提一下,CodeRush 的快捷键名称是 SelectionExpand 和 SelectionReduce... 默认情况下是 Ctrl + W 和 Ctrl + Shift + W。 - MoMo

1

对于C#,您可以通过将光标放在左括号旁边并按Shift-Ctrl-}来选择括号之间的所有代码来获得类似的效果。 这和其他好东西{{link1:here}}。

或者,对于VB,使用Visual Studio宏从光标位置选择到下一个End Sub出现的位置。 将其应用于自己的键盘快捷方式,您应该会得到一个相当可行的东西:

Sub SelectToEndSub()
    Dim objSel As TextSelection = DTE.ActiveDocument.Selection
    Dim lStartLine As Long = objSel.TopPoint.Line
    objSel.FindPattern("End Sub")
    Dim lEndline As Long = objSel.TopPoint.Line
    objSel.GotoLine(lStartLine)
    objSel.LineDown(True, lEndline - lStartLine + 1)
End Sub

有没有类似的东西适用于VB.NET? - hawbsl
抱歉,我应该意识到你在谈论VB。我找不到键盘快捷键,但可以通过宏实现。我可能会回复你... - Chris Wallis
无需道歉,我尝试了你的方法,还尝试了可能的 VB 等价物,但都没有成功。这个链接也很有趣。 - hawbsl
尝试使用上面的Visual Studio宏。看起来很简单,但在我的简短测试中似乎有效。 - Chris Wallis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接