2010-10-26 7 views
8

En VB Classic, VBA y también en Visual Studio, puede hacer doble clic cerca del margen izquierdo de un bloque de código y seleccionará todo el bloque actual (sub , función, etc.). En Visual Studio, este área seleccionable se encuentra junto a los números de línea a la izquierda.Método abreviado de teclado en Visual Studio para seleccionar el bloque actual

¿Hay un atajo de teclado que hará el mismo trabajo? es decir, seleccione el "bloque actual".

Respuesta

1

Para C#, puede obtener un efecto similar colocando su cusrsor al lado de un corsé de apertura y presionando Shift-Ctrl-} para seleccionar todo el código entre los corchetes. Esto y otras cosas buenas here.

O, para VB, una macro de Visual Studio para seleccionar desde donde coloque el cursor hasta la siguiente aparición de End Sub. Aplicar esto a su propia combinación de teclas y usted debe tener algo muy viable:

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 
+0

¿Hay algo similar para vb.net? – hawbsl

+0

Disculpas; Debería haberme dado cuenta de que estabas hablando de VB. No puedo encontrar un atajo de teclado, pero sería posible con una macro. Podría volver con usted ... –

+0

sin disculpas, intenté de todos modos y también intenté posibles vb equivalentes pero no dados. el enlace también fue interesante. – hawbsl

3

que estaba buscando lo mismo cuando me encontré con CodeRush Xpress (gratis) de DevExpress. Puede obtener más información aquí: http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/

Después de instalar CodeRush Xpress, puede seleccionar bloques de código presionando un atajo de teclado. Lo bueno de esta implementación es que le permite aumentar o disminuir el alcance de su selección con cada pulsación de tecla.

Por ejemplo:

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 

Coloque el cursor antes de la "z" en "perezosa", a continuación, aumentar el alcance de su selección con la combinación de teclas (I unido mina a la "+" en el bloque numérico ,) mediante el aumento de varias veces el alcance de su selección, se obtienen los siguientes selecciones:

  • Pulse 1: el rápido zorro marrón salta sobre el perro perezoso
  • Pulse 2: "el rápido zorro marrón salta sobre el perezoso perro "
  • Pulse 3: txtResult.text = "El rápido zorro marrón salta sobre el perro perezoso"
  • Pulse 4: (Si toda Then seleccionado)
  • Pulse 5: (Sub toda seleccionado)

Al presionar el atajo de teclado para disminuir la selección, tendrá el efecto inverso.

Recomiendo encarecidamente que se compruebe CodeRush Xpress. Me gustó tanto que compré la versión completa (que ha valido la pena cada centavo).

4

Al usar ReSharper, repito, presione Ctrl-w y seleccionará rápidamente el alcance deseado.

Cuestiones relacionadas