Может мне повезет. За последнее десятилетие (и даже больше) моей карьеры я не слишком увлекся своей IDE. Я с легкостью смог пройти через то, что я считал большими кодовыми базами.

Я не знал, что веб-приложения, с которыми я работал, были относительно молоды по возрасту по сравнению с тем, что было в будущем. Кодовая база, с которой я столкнулся, - это гигантское классическое приложение для Windows, которое примерно так же стара, как хипстер-миллениал, впервые садящийся за руль.

Я легко заблудился в том, что казалось миллиардами файлов с большими классами моделей представлений для загрузки. Отец Рики Бобби всегда говорил

Если ты не первый, ты последний.

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

(кстати, приведенный ниже код - Umbraco CMS и предназначен только для иллюстрации. Это не то приложение, с которым я работаю.)

Перейти к определению

Об этом должен знать каждый, но если вы оказались в затруднительном положении, простой способ следовать коду, который ссылается на множество классов и методов других файлов, - это использовать нечто, называемое Go To Definition.

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

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

Также есть функция Peek Definition (Alt-F12), которая может оказаться полезной или бесполезной. Пожимает плечами.

Переход назад / вперед

В зависимости от того, насколько все продумано, вы можете нажимать клавишу F12 несколько раз. В какой-то момент вы будете похожи на «чувак, дружище», и вы не помните, как вы к этому пришли и с чего начали.

Ничего страшного, я тебя понял, братан. Люди в Microsoft были достаточно умны, чтобы знать это, потому что они знают все о чрезмерно сложном коде, который пишут другие люди. Есть что-то под названием Перейти назад. Не только это, они также позволяют вам перемещаться вперед. Amazeballs!

На милом скринкасте выше вы можете видеть, как я нажимаю F12, чтобы следовать некоторому коду. Я нажал только один раз, потому что думаю, вы поняли.

Но после этого вы можете видеть, как я нажимаю Ctrl-Minus для перехода назад и Ctrl-Shift-Minus для перехода вперед. Так что, если вы потерялись после нажатия F12 несколько раз и захотели вернуться туда, откуда начали, просто вернитесь назад.

Перейти ко всем / Файл / И т. Д.

В конце концов, вы будете достаточно знакомы с файлами, с которыми работаете. Если вы все еще вручную ищите файлы и щелкаете по ним в обозревателе решений, это совсем не так - и определенно не быстро.

Просто используйте Go To [что угодно] и начните вводить имя класса / файла / функции / и т. Д. потому что наверняка вы их сейчас помните.

По умолчанию он выполняет поиск по нескольким категориям, но если вы прочитаете справку или нажмете на эти кнопки, вы можете отфильтровать поиск по определенной категории.

Ах да, горячие клавиши - это Ctrl-T или Ctrl-Comma.

Отслеживать активный элемент

Таким образом, проблема с использованием Go To [что угодно] в том, что иногда вы знаете имя файла, но не знаете, где оно, черт возьми, находится в решении. Это может быть полезно, если вы хотите открыть другой файл, который находится поблизости (в проекте), но не может вспомнить его имя.

Обозреватель решений не помогает, потому что по умолчанию он не отслеживает автоматически редактируемый файл. Это отстой, правда?

Но ждать! Есть больше! К счастью, есть способ исправить это.

Я решил проявить хладнокровие и использовать быстрый запуск (Ctrl-Q), чтобы перейти к параметрам Проект и решения ›Общие. Ты тоже должен быть крутым. После включения функции «Отслеживать активный элемент в обозревателе решений» теперь выделяется активный файл. Мне нравится.

Быстрый запуск

Этого раздела не было в моем первоначальном плане, но после написания раздела выше я понял, что случайно дал вам дополнительный совет. Итак, вот оно.

Эта функция позволяет запускать большинство команд и настроек. Нажмите Ctrl-Q и начните вводить слова, которые вы видели в Visual Studio.

См. Иллюстрацию выше. ^^^

Синхронизировать представление класса

Вы когда-нибудь открывали супер-огромный класс и не могли понять его содержание на высоком уровне? Что ж, у меня есть.

Чтобы упростить задачу, я попытался использовать эти маленькие выпадающие меню прямо над редактором кода (как они называются?), И они работали почти полностью. Я хотел, чтобы было что-нибудь получше.

Представление классов казалось идеальным кандидатом, но его поведение по умолчанию при открытии (Ctrl-Shift-C) не было таким, как я хотел.

Почему он не мог просто привести меня в уже открытый класс? Похоже, в этом было бы больше смысла. После некоторого RTFM мое желание исполнилось.

Потрясающий соус! Я повозился с параметрами Среда ›Клавиатура и переназначил Ctrl-Shift-C суперсекретной команде View.SynchronizeClassView и бац! Представление классов становится очень полезным, поскольку теперь оно переносит вас к классу, который вы уже редактируете, а также к методу / свойству, на котором находится ваш курсор.

Это позволяет вам легко изучать и ориентироваться в том огромном классе, от которого вы съеживались каждый раз, когда вам приходилось в нем работать.

Кстати это сбило меня с толку на минуту, но если это не работает, значит, ваш курсор должен быть:

  1. в строке внутри фактического класса C #
  2. НЕ на поле (это странно)

Свернуть к определениям

Если вам лень настраивать представление «Синхронизация классов», то достойной альтернативой является использование этой функции, нажав Ctrl-M, O. Это не будет так чисто организовано, но эй ... оно работает из коробки.

Режим карты

Вероятно, наименее полезный по сравнению с другими, о которых я упоминал, но неважно; Мне это нравится. Я чувствую, что это помогает мне легче ориентироваться по отношению к остальной части файла, особенно к большим. Кроме того, я помню, что это было популярно в SublimeText, так почему бы и нет?

Я хочу идти быстро

Верно. И ты тоже. Как упоминалось ранее: если вы не первый, вы последний. С помощью упомянутых выше советов вы всегда будете готовы встряхнуть и запечь.

Есть ли у вас советы, как действовать быстро? Если да, оставьте комментарий ниже. Спасибо!

Могу я выйти на бис, хочешь еще? Если вас интересуют все эти Рики Бобби и быстрые отсылки, то это потому, что я только вчера посмотрел «Ночи Талладеги» и почувствовал вдохновение. Если вы его не смотрели, СДЕЛАЙТЕ ЭТО. Лучший фильм. Когда-либо.

В любом случае, если вам нравится то, что вы прочитали, пожалуйста, дайте мне несколько хлопков или даже лучше подписывайтесь на меня , чтобы вы всегда могли первым (не последним) прочитать все крутые вещи I пишу о. Если вы хотите пообщаться, свяжитесь со мной в LinkedIn.