Сочетание клавиш в Visual Studio для выбора текущего блока - PullRequest
8 голосов
/ 26 октября 2010

В VB Classic, VBA, а также в Visual Studio вы можете щелкнуть левой кнопкой мыши рядом с левым полем блока кода, и он выберет весь текущий блок (подраздел, функция и т. Д.). В Visual Studio эта интерактивная область расположена рядом с номерами строк слева.

Есть ли сочетание клавиш, которое будет выполнять ту же работу? то есть выберите «текущий блок» .

Ответы [ 3 ]

4 голосов
/ 29 октября 2010

Используя ReSharper, повторно нажмите Ctrl-w, он быстро выберет желаемую область.

3 голосов
/ 26 октября 2010

Я искал то же самое, когда наткнулся на CodeRush Xpress (бесплатный) от DevExpress. Вы можете получить больше информации здесь: 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

Поместите курсор перед «z» в «lazy», затем увеличьте область своего выбора с помощью сочетания клавиш (я привязал мой к «+» на цифровой клавиатуре), многократно увеличивая область своего выбора, Вы получаете следующие выборы:

  • Нажмите 1: Быстрая коричневая лиса перепрыгивает через ленивую собаку
  • Нажмите 2: «Быстрая коричневая лиса перепрыгивает через ленивую собаку»
  • Нажмите 3: txtResult.text = "Быстрая коричневая лиса перепрыгивает через ленивую собаку"
  • Нажмите 4: (выбран весь оператор If Then)
  • Нажмите 5: (весь сабвуфер выбран)

Нажатие сочетания клавиш для уменьшения выделения будет иметь обратный эффект.

Я настоятельно рекомендую проверить CodeRush Xpress. Мне так понравилось, что я купил полную версию (которая стоила каждого копейки.)

1 голос
/ 26 октября 2010

Для C # вы можете получить аналогичный эффект, поместив курсор рядом с открывающей фигурной скобкой и нажав Shift-Ctrl-}, чтобы выбрать весь код между фигурными скобками.Это и другие полезные вещи здесь .

Или, для 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
...