Поради та рекомендації щодо Visual Studio - Навігація
Це перша стаття із серії, покликаної висвітлити різноманітні можливості Visual Studio, які можуть бути або не бути добре відомі кожному розробнику, що використовує її. Принаймні раз на місяць хтось із колег знайомить мене з функцією, яку вони використовують щодня, про існування якої я навіть не підозрював, але яка може заощадити мені незліченну кількість годин упродовж усього проекту.
Цю статтю присвячено навігації у Visual Studio, яка може бути неймовірно неприємною під час роботи над великим рішенням із десятками проєктів. Я використовую версію Visual Studio 2022, тому ці функції можуть бути відсутніми в більш ранніх версіях.
Go to All — Ctrl + T
Це хліб і масло навігації у Visual Studio. Просто виділіть слово, натисніть Ctrl + T (його також можна ввести вручну після натискання Ctrl + T), і вам буде представлено перелік відповідних елементів із кожного проєкту в рішенні. Він може шукати імена файлів і класів безпосередньо і при цьому неймовірно швидко. Вибравши будь-який елемент у списку, ви відкриєте його в головному вікні.
Це, безумовно, моя найбільш використовувана функція в цьому списку. Вона набагато зручніша, ніж використання інструменту пошуку, і дає змогу заощадити дорогоцінні секунди при кожному пошуку.
Find All
Ймовірно, це очевидно, але я виявив, що багато розробників вважають за краще використовувати “Find Next” замість “Find All”. Недоліком Find Next є його низька продуктивність під час пошуку чогось більшого, ніж поточний документ. Хоча може здатися неінтуїтивним шукати все підряд для збільшення швидкості, але з'ясувалося, що Find All набагато швидший для пошуку будь-чого в проєкті або рішенні.
Go to Definition
Це ще один засіб, який я використовую незліченну кількість разів на день. Чи то властивість, змінна, чи клас, метод, інтерфейс або кілька інших типів, це приведе вас до місця, де вони були визначені. Це чудове скорочення для переходу до визначень класів або для пошуку місця, де оголошена певна властивість/змінна.
За замовчуванням, утримуючи Ctrl і клацаючи мишею, ви перейдете до визначення (хоча іноді це необхідно увімкнути в Інструменти -> Параметри -> Текстовий редактор -> Загальні -> Увімкнути клацання миші для виконання переходу до визначення). Як альтернатива просто клацніть правою кнопкою миші на елементі та натисніть “Перейти до визначення”.
Особливої згадки заслуговує функція “Go to Implementation”, яка дає змогу знайти всі реалізації базового класу або інтерфейсу.
Peek Definition
Хоча я не так часто використовую цю функцію, як інші, вона безумовно заслуговує на місце в цій статті. Peek Definition працює аналогічно Go to Definition, однак різниця плягає в тому, що вона не переходить до визначення. Натомість вона створює вікно на цьому рядку з попереднім переглядом визначення.
Це зручно, якщо вам потрібна інформація з іншого файлу (або навіть з того самого файлу) поруч із кодом, який ви пишете.
Bookmarks
При правильному керуванні закладки можуть значно прискорити час написання коду при одночасній роботі над кількома методами або файлами. Ідея полягає в тому, що ви розміщуєте закладки в стратегічних точках коду (за допомогою Ctrl + K + K) та перемикаєтесь між ними за допомогою Ctrl + K + N для Next чи Ctrl + K + P для Previous.
Це дуже добре працює, якщо ви проводите багато часу, переходячи від одного методу до іншого. Однак ви маєте слідкувати за своїми закладками й видаляти їх, коли вони не потрібні. В іншому разі вони збережуться, і під час наступної спроби їхнього використання ви перейдете до останнього введеного вами методу.
Scroll bar (Map mode)
Це швидше пасивне поліпшення, що допоможе вам швидше орієнтуватися в одному файлі, показуючи огляд документа. Усе, що виділено в документі, буде виділено в огляді, включно з помилками, попередженнями та текстом у полі пошуку. У ньому також є додаткове вікно попереднього перегляду, яке дає змогу переглянути цей розділ під час наведення
Функцію можна увімкнути, якщо перейти в Інструменти -> Параметри -> Текстовий редактор -> Усі мови -> Смуги прокрутки -> Використовувати режим карти для вертикальної смуги прокрутки