В Visual Studio 2008, как я могу сделать Ctrl + щелчок, выполните "Перейти к определению"?

В Delphi IDE вы можете провести контроль и нажать на метод, чтобы перейти к его определению. В VS2008 вам нужно щелкнуть правой кнопкой мыши и выбрать "Перейти к определению".

Я использую эту функцию довольно часто, поэтому мне очень хотелось бы заставить VS вести себя, как Delphi, в этом отношении - гораздо быстрее, чем Ctrl + клик.

Я не думаю, что есть способ заставить это работать в базе VS2008 - я ошибаюсь? Или, может быть, есть плагин, который я мог бы использовать?

Изменить: нажмите, тогда F12 работает, но на самом деле это не очень хорошее решение для меня. Это еще медленнее, чем Ctrl + клик. Я могу попробовать AutoHotkey, так как я уже запускаю его для чего-то еще.

Изменить: AutoHotkey работал у меня. Здесь мой script:

SetTitleMatchMode RegEx
#IfWinActive, .* - Microsoft Visual Studio
^LButton::Send {click}{f12}

Ответ 1

Вы можете создать Autohotkey script, который сделает это. Когда вы ctrl-click слово, отправьте doubleclick, а затем F12.

У меня нет AHK, поэтому я не могу попробовать и набросать некоторый код, но это должно быть довольно легко; у AHK-рекордера должно быть достаточно возможностей, чтобы вы могли создавать его в режиме "n" click, а IIRC - достаточно умны, чтобы позволить вам ограничивать это поведение только для окон определенного класса.

Когда у вас есть готовый script, просто запустите script в фоновом режиме во время вашего кода. В панели уведомлений требуется только значок.

Ответ 2

Не для Visual Studio 2008, но если вы перейдете на Visual Studio 2010, вы можете использовать бесплатный Visual Studio 2010 Pro Power Tools от Microsoft для достижения этой цели.

Ответ 3

Resharper делает это, но это не бесплатно. Очень рекомендуемый плагин, хотя большинство опытных разработчиков .NET используют его.

Ответ 4

Visual Studio 2008 по умолчанию использует это значение для F12, но вы можете установить его в Tools | Варианты | Среда | Клавиатура и изменение Edit.GoToDefinition - однако я не уверен, как вы можете получить его в CTRL + mouseclick.

Ответ 5

Просто помните, что для Visual С++ 2010 Express для меня работает следующий AutoHotkey script.

SetTitleMatchMode 2
#IfWinActive, Microsoft Visual C++ 2010 Express
^LButton::Send {click}{f12}

Я также изменил ярлыки для View.NavigateForward и View.NavigateBackward в Alt + Right/Left Arrow, так как я привык к Eclipse.

Ответ 6

Да, обе функции Resharper (a must have!) и Powerivity Power Tools имеют эту функцию.

Интересная причуда.

Если вы просто по умолчанию используете оба инструмента (если вы устанавливаете оба инструмента), вы можете столкнуться с проблемой двойного прыжка (перейти к определению с того места, где вы сначала нажмете, а затем снова перейти от того, что ваш курсор выше, к этому первому определению), пока вы не отключите одну из функций Ctrl-Click этих надстроек.

Ответ 7

Поместите курсор мыши на имя метода или любой идентификатор и нажмите F12