Перемещение по коду С++ в Visual Studio
Visual Studio предоставляет набор средств, с помощью которых вы можете быстро и эффективно перемещаться по базе кода.
Открытие включенного файла
Щелкните правой кнопкой мыши директиву #include
и выберите Перейти к документу. Или же нажмите клавишу F12, наведя курсор на строку, чтобы открыть файл.
Переключение между файлами заголовков и кода
Вы можете переключаться между файлом заголовка и его соответствующим исходным файлом. Щелкните правой кнопкой мыши в любом месте файла и выберите Переключение между файлами заголовков и кода. Или же нажмите клавиши CTRL+K, CTRL+O.
Перейти к определению или объявлению
Вы можете перейти к определению элемента кода, щелкнув правой кнопкой мыши в редакторе и выбрав "Перейти к определению" или выбрав F12. Вы можете перейти к объявлению аналогичным образом из контекстного меню или нажав клавиши CTRL+F12.
Перейти
Перейти к набору функций навигации, которые предоставляют определенный результат на основе указанных фильтров.
Вы можете воспользоваться командой Перейти к, нажав клавиши CTRL+,. При этом открывается окно поиска по документу, который вы редактируете.
Команда Перейти к включает следующие фильтры поиска:
- Перейти к строке (CTRL+G): быстро перейти к другой строке в текущем документе.
- Перейти ко всем (CTRL+,) или (CTRL+T): результаты поиска включают все, что следует.
- Перейдите к файлу (CTRL 1, F): найдите файлы в решении.
- Перейти к типу (CTRL 1, T): результаты поиска включают:
- классы, структуры и перечисления;
- интерфейсы и делегаты (только управляемый код).
- Перейти к элементу (CTRL 1, M): результаты поиска включают:
- глобальные функции и глобальные переменные;
- переменные-члены и функции-члены класса;
- константы;
- элементы перечисления;
- свойства и события.
- Перейти к символу (CTRL 1, S): результаты поиска включают:
- результаты, полученные при переходе к типам и членам;
- Все оставшиеся конструкции языка C++, которые включают макросы.
При первом вызове команды Перейти к с помощью клавиш CTRL+ запускается команда Перейти ко всем (без фильтрации результатов поиска). Вы затем можете выбрать нужный фильтр с помощью кнопок рядом с полем поиска. Вы можете вызвать определенный фильтр с помощью соответствующего сочетания клавиш. Откроется поле поиска Перейти к с установленным фильтром. Все сочетания клавиш можно настраивать.
Чтобы применить фильтр текста, выполните поисковый запрос с соответствующим символом фильтра, за которым следует пробел. (При необходимости перейти к строке можно опустить пробел.) Доступны следующие текстовые фильтры:
- "Перейти ко всем" — без фильтра текста;
- "Перейти к номеру строки" — :;
- "Перейти к файлу" — f;
- "Перейти к типу" — t;
- "Перейти к члену" — m;
- "Перейти к символу" — #.
В следующем примере показаны результаты операции Перейти к файлам с фильтром f:
Чтобы просмотреть список фильтров текста, введите ?, за которым следует пробел. Вы можете также воспользоваться командой Перейти к, открыв пункт меню Изменить. Так вы сможете просмотреть основные сочетания клавиш для команды Перейти к.
Обычный поиск и поиск в файлах
Вы можете выполнить поиск любого текста в своем решении с помощью команды Найти (CTRL+F) или Найти в файлах (CTRL+SHIFT+F).
Команду Найти можно выполнять в выделенном фрагменте, текущем документе, во всех открытых документах, текущем проекте или всем решении. Вы также можете использовать регулярные выражения и обычный текст. При поиске все совпадения автоматически выделяются в интегрированной среде разработки.
Команда Найти в файлах — это более мощная версия команды Найти. Она отображает результаты в окне Результаты поиска. Вы можете искать внешние зависимости кода, отфильтровывать типы файлов и многое другое.
Результаты операции Найти в файлах можно отобразить в двух окнах. Вы можете добавлять результаты нескольких операций поиска. Выберите результат, чтобы перейти в соответствующее расположение в файле.
См. подробнее о поиске в файлах в документации по Visual Studio.
Найти все ссылки
Чтобы найти все случаи использования символа в базе кода, поместите курсор на символ или после него, а затем щелкните правой кнопкой мыши и выберите Найти все ссылки. Вы можете фильтровать, сортировать или группировать результаты различными способами. Результаты добавляются последовательно. Они отмечаются метками "Чтение" или "Запись", чтобы вы могли отличить содержимое вашего решения от системных файлов заголовков или других библиотек.
Результаты можно сгруппировать по следующим категориям:
- "Проект, затем определение";
- "Только определение";
- "Определение, затем проект";
- "Определение, затем путь";
- "Определение, проект, затем путь".
Фильтрация результатов
Чтобы отфильтровать результаты, наведите указатель мыши на столбец и нажмите всплывающий значок фильтрации. Вы можете отфильтровать результаты из первого столбца, чтобы скрыть строки и ссылки на комментарий, которые вы не хотите видеть.
Подтвержденные результаты: фактические ссылки на код, на который выполняется поиск символа. Например, поиск функции-члена
Size
вернет все ссылки наSize
, которые соответствуют области действия класса, определяющегоSize
.Дисконфирмированные результаты: этот фильтр отключен по умолчанию, так как он отображает символы, имена которых совпадают, но не являются фактическими ссылками на символ, который вы ищете. Например, если у вас есть два класса, каждый из которых определяет функцию-член
Size
, и вы выполняете поискSize
в ссылке из объектаClass1
, все ссылки наSize
изClass2
отображаются как неподтвержденные.Необработанные результаты: поиск всех операций ссылок может занять время, чтобы завершить работу в больших базах кода, поэтому в списке результатов отображаются результаты без обработки. Необработанные результаты соответствуют имени символа, который вы ищете, но они еще не определены как фактические ссылки на код. Вы можете включить этот фильтр, чтобы получать результаты быстрее. Некоторые результаты могут не быть фактическими ссылками.
Сортировка результатов
Вы можете сортировать результаты по любому столбцу, щелкнув его. Вы можете выбрать порядок по возрастанию или убыванию, щелкнув столбец еще раз.
Панель навигации
Вы можете перейти к определению типа в файле или членам типов с помощью панели навигации, расположенной над окном редактора.