F12 - Перейдите к Реализация интерфейса
Когда вы не запускаете приложение, нажатие F12 (Go To Definition) на методе типа интерфейса приведет вас к самому интерфейсу.
Есть ли какая-либо ключевая комбо, которая существует (или та, которую я могу сделать), которая позволит мне предоставить реализацию по умолчанию для перехода или позволить мне быстро выбрать реализацию, к которой нужно перейти?
У нас есть несколько уровней в нашем приложении, и это сэкономит много времени, чтобы иметь возможность перейти прямо к реализациям Mock
или Real
, а не переходить к ним в исходном управлении.
Ответы
Ответ 1
При использовании VS 2015 и выше:
Смотрите ответ ниже:
В Visual Studio 2015 Update 1 добавлено Edit.GoToImplementation, которое появилось в контекстном меню, но с ним не было сочетания клавиш по умолчанию.
В Visual Studio Update 2 мы добавили ярлык по умолчанию, Ctrl + F12.
При использовании VS 2013 и ниже:
У нас была такая же проблема, и мы начали использовать Resharper. У него есть замечательная функция реализации Goto, которая, насколько я помню, работает очень хорошо.
Проблема в том, что этот инструмент не является бесплатным (что, конечно, оправдано, поскольку предлагает гораздо больше, чем упомянутая функция).
Без этого я использую Find All References и быстро идентифицирую реализацию, глядя на путь (у нас есть интерфейсы, реализации и mocks, хорошо разделенные). Но вы, вероятно, определили эту возможность самостоятельно.
Кроме того, вы можете рассмотреть вариант, упомянутый в этом ответе (хотя это для методов интерфейса, а не целых реализаций):
- наведите курсор на метод
- нажмите CTRL + K CTRL + T, чтобы открыть окно Иерархия вызовов
- перейти вниз к узлу орудия
- введите Return, чтобы перейти к выбранной реализации
Ответ 2
Обновление Visual Studio 2015 1 добавлено Edit.GoToImplementation, которое появилось в контекстном меню, но по умолчанию не было сочетания клавиш, связанных с ним.
В Visual Studio Update 2 мы добавили по умолчанию ярлык Ctrl + F12.
Ответ 3
Visual Studio 2015 имеет команду "Edit.GoToImplementation", в которой вы можете применить сочетание клавиш.
Инструменты/Параметры/Среда/Клавиатура, затем введите "Редактировать .GoToImplementation" в текстовое поле show show. Я использую Shift + F12, поэтому я меняю "Использовать новый ярлык в" в текстовом редакторе, затем в "Нажмите клавиши быстрого доступа". Я нажимаю Shift + F12 и нажимаю "Назначить".
Ответ 4
Просто нажмите CTRL + F12 вместо просто F12. Это приведет вас непосредственно к реализации.
Ответ 5
Если привязка клавиш установлена, и она все еще не приводит вас к реализации, убедитесь, что ни у одного другого приложения нет такой привязки клавиш. В моем случае CTRL + F12 также использовался DeskPins. Стоило мне несколько минут, пока я не нашел это.
Ответ 6
Очень простое решение - поместить реализацию в тот же файл, что и интерфейс! ;-)
namespace Foo.Services
{
public interface IService
{
...
}
public class Service : IService
{
...
}
}