Навигация по коду
Visual Studio предоставляет множество способов для перемещения по коду в редакторе. Эта статья описывает различные способы перемещения по коду, а также содержит ссылки на статьи с более подробными сведениями.
Команды «Перейти назад» и «Перейти вперед»
Вы можете использовать кнопки Перейти назад (CTRL+—) и Перейти вперед (CTRL+SHIFT+—) на панели инструментов для перемещения курсора в предыдущее положение или возврата его к более позднему положению в активном документе. Эти кнопки сохраняют в памяти 20 последних положений курсора. Эти команды также доступны в меню Вид в разделах Переход назад и Переход вперед.

Панель навигации
Для перехода по коду в базе можно использовать панель навигации (раскрывающиеся списки в верхней части окна кода). Вы можете выбрать тип или элемент и перейти непосредственно к ним. Панель навигации отображается при редактировании кода в базе кода Visual Basic, C# или C++. В разделяемом классе элементы, определенные за пределами текущего файла кода, могут быть неактивны (отображаются серым цветом).

Перемещаться по раскрывающимся спискам можно следующим образом:
- Чтобы перейти к другому проекту, к которому относится текущий файл, выберите его в левом раскрывающемся списке.
- Чтобы перейти к классу или типу, выберите его в среднем раскрывающемся списке.
- Чтобы перейти непосредственно к процедуре или другому члену класса, выберите их в раскрывающемся списке справа.
- Чтобы переместить фокус с окна кода на панель навигации, нажмите клавиши CTRL+F2.
- Чтобы перемещать фокус от поля к полю на панели навигации, нажмите клавишу TAB.
- Чтобы выбрать элемент панели навигации, находящийся в фокусе, и вернуться в окно кода, нажмите клавишу ВВОД.
- Чтобы вернуть фокус с панели навигации на код без выбора каких-либо элементов, нажмите клавишу ESC.
Чтобы скрыть панель навигации, измените значение параметра Панель навигации в параметрах «Все языки» текстового редактора (Сервис>Параметры>Текстовый редактор>Все языки) или измените параметр для конкретного языка.
Найти все ссылки
Поиск всех ссылок на выбранный элемент в решении. Этот параметр можно использовать для проверки неиспользуемого кода или возможных побочных эффектов крупного рефакторинга. Для перехода между результатами нажимайте клавишу F8. Дополнительные сведения см. в разделе Поиск ссылок в коде.
| Входные данные | Function |
|---|---|
| Клавиатура | Установите текстовый курсор внутрь имени типа, а затем нажмите клавиши SHIFT+F12. |
| Мышь | Выберите пункт Найти все ссылки в контекстном меню. |
Выделение ссылок
Если щелкнуть символ в исходном коде, выделяются все вхождения этого символа в документе. Выделенные символы могут содержать объявления и ссылки, а также множество других символов, возвращаемых командой Найти все ссылки . Сюда входят имена классов, объектов, переменных, методов и свойств. В коде Visual Basic выделяются также ключевые слова для многих управляющих структур. Чтобы перейти к следующему или предыдущему выделенному символу, нажмите клавиши CTRL+SHIFT+СТРЕЛКА ВНИЗ или CTRL+SHIFT+СТРЕЛКА ВВЕРХ. Цвет выделения можно изменить в разделе Сервис>Параметры>Среда>Шрифты и цвета>Выделенная ссылка.
Команды «Перейти»
Доступны следующие команды перехода, которые находятся в разделе Перейти меню Правка:
В Visual Studio 2017 версии 15.8 и более поздних доступны также следующие команды Перейти к:
Дополнительные сведения об этих командах см. в разделе Поиск в коде с использованием команд перехода.
Перейти к определению
Команда «Перейти к определению» выполняет переход к определению выбранного элемента. Дополнительные сведения см. в разделах о функциях «Перейти к определению» и «Показать определение».
| Входные данные | Function |
|---|---|
| Клавиатура | Поместите текстовый курсор внутри имени типа, а затем нажмите клавишу F12 |
| Мышь | Щелкните правой кнопкой мыши имя типа и выберите Перейти к определению или нажмите клавишу CTRL и щелкните имя типа |
Показать определение
Команда «Показать определение» отображает определение выбранного элемента в окне без перехода из текущего расположения в редакторе кода. Дополнительные сведения см. в разделах Практическое руководство. Просмотр и изменение кода с помощью окна «Показать определение» и функции «Перейти к определению» и «Показать определение».
| Входные данные | Function |
|---|---|
| Клавиатура | Установите текстовый курсор внутрь имени типа, а затем нажмите клавиши ALT+F12. |
| Мышь | Щелкните правой кнопкой мыши имя типа и выберите Показать определение или нажмите клавишу CTRL и щелкните имя типа (если был установлен флажок Открыть определение в быстром редакторе). |
Перейти к реализации
С помощью команды «Перейти к реализации» вы можете перейти от базового класса или типа к его реализациям. Если существует несколько реализаций, они появятся в окне Результаты поиска символа.
| Входные данные | Function |
|---|---|
| Клавиатура | Установите текстовый курсор внутрь имени типа, а затем нажмите клавиши CTRL+F12. |
| Мышь | Щелкните правой кнопкой мыши имя типа и выберите команду Перейти к реализации |
Перейти к базовому
С помощью команды «Перейти к базовому» можно перейти вверх по цепочке наследования выбранного элемента. Если получено несколько результатов, они будут отображаться в окне Перейти к базовому:
| Входные данные | Function |
|---|---|
| Клавиатура | Установите текстовый курсор внутрь имени типа, а затем нажмите клавиши ALT+HOME. |
| Мышь | Щелкните правой кнопкой мыши имя типа и выберите команду Перейти к базовому. |
Иерархия вызовов
Можно просматривать входящие и исходящие вызовы для метода в окне иерархии вызовов:
| Входные данные | Function |
|---|---|
| Клавиатура | Установите текстовый курсор внутрь имени типа, а затем нажмите клавиши CTRL+K, CTRL+T. |
| Мышь | Щелкните имя элемента правой кнопкой мыши и выберите команду Просмотр иерархии вызовов. |
Команды «Следующий метод» и «Предыдущий метод» (Visual Basic)
В файлах кода Visual Basic эти команды можно использовать для перемещения курсора на различные методы. Выберите Правка>Следующий метод или Правка>Предыдущий метод.
Визуализатор структуры
Функция визуализатора структуры в редакторе кода позволяет отображать направляющие структуры, которые представляют собой вертикальные пунктирные линии, соединяющие парные фигурные скобки в базе кода. Это позволяет с легкостью определять начало и конец логических блоков.

Чтобы отключить направляющие структуры, выберите Сервис>Параметры>Текстовый редактор>Общие и снимите флажок Показать направляющие структуры.
Расширенная полоса прокрутки
Вы можете просмотреть обобщенное представление кода, используя расширенную полосу прокрутки в окне кода. В режиме карты можно просматривать код при перемещении курсора вверх и вниз по полосе прокрутки. Дополнительные сведения см. в разделе Практическое руководство. Отслеживание кода за счет настройки полосы прокрутки.
Сведения о CodeLens
Вы можете найти сведения о конкретном коде (например, изменения, автора этих изменений, ссылки, ошибки, рабочие элементы, проверки кода и состояние модульного теста), используя средство CodeLens в редакторе кода. Средство CodeLens работает как система индикации во время использования Visual Studio Enterprise с сервером Team Foundation Server. См. статью Поиск изменений кода и других журналов.
Связанный контент
- Возможности редактора кода
- Просмотр иерархии вызовов
Возможности редактора кода
Редактор Visual Studio предоставляет множество возможностей, облегчающих написание кода и текста, а также управление им. Используя структуру, вы можете разворачивать и сворачивать различные блоки кода. Получить дополнительные сведения о коде можно с помощью технологии IntelliSense, окна Обозреватель объектов и иерархии вызовов. Для поиска в коде можно использовать такие функции, как Перейти, Перейти к определению и Найти все ссылки. Вставлять блоки кода можно с помощью фрагментов кода. Код также можно создавать с помощью функций, таких как Создание в результате использования. Если вы ранее не работали в редакторе Visual Studio, см. статью со сведениями об использовании редактора кода.
Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Редактор исходного кода (Visual Studio для Mac).
Код можно просматривать различными способами. По умолчанию в обозревателе решений код упорядочен по файлам. Вы можете выбрать вкладку «Представление классов» в нижней части окна, чтобы просмотреть код, организованный по классам.
Можно выполнять поиск и замену текста в одном или нескольких файлах. Дополнительные сведения см. в статье Поиск и замена текста. Регулярные выражения платформы используются для поиска и замены текста. Дополнительные сведения см. в статье Использование регулярных выражений в Visual Studio.
Разные языки Visual Studio предоставляют разные наборы функций, а в некоторых случаях одни и те же функции ведут себя по-разному в разных языках. Многие из этих различий указаны в описаниях функций, но дополнительные сведения см. в разделах по определенным языкам Visual Studio.
Возможности редактора
| Функция | Description |
|---|---|
| Цветовая раскраска синтаксических конструкций | Некоторые элементы синтаксиса кода и файлов разметки для наглядности выделяются разными цветами. Например, ключевые слова (такие как using в C# и Imports в Visual Basic) выделены одним цветом, а типы (такие как Console и Uri ) — другим. Другие элементы синтаксиса (например, строковые литералы и комментарии) также выделены цветом. Язык C++ использует цвета для различения типов, перечислений и макросов среди других токенов. |
Дополнительные возможности редактирования
На панели инструментов можно найти множество дополнительных функций в меню «Изменить >дополнительно». Не все они доступны для каждого типа файлов кода.
| Функция | Description |
|---|---|
| Форматировать документ | Установка правильного отступа строк кода и перемещение фигурных скобок для разделения строк в документе. |
| Форматирование выделенного фрагмента | Установка правильного отступа строк кода и перемещение фигурных скобок для разделения строк в выделенном фрагменте. |
| Преобразовать пробелы в знаки табуляции в выделенных строках | Замена начальных пробелов на знаки табуляции там, где это уместно. |
| Преобразовать знаки табуляции в пробелы в выделенных строках | Замена начальных знаков табуляции на пробелы. Если требуется преобразовать все пробелы в знаки табуляции в файле (или все знаки табуляции в пробелы), можно использовать команды Edit.ConvertSpacesToTabs и Edit.ConvertTabsToSpaces . Эти команды не отображаются в меню Visual Studio, но их можно вызвать из окна быстрого доступа или командного окна. |
| Все прописные | Изменяет все символы в выделенном фрагменте в верхний регистр или если нет выделения, измените символ в точке вставки на верхний регистр. Сочетание клавиш: CTRL+SHIFT+U. |
| Все строчные | Изменяет все символы в выделенном фрагменте в нижний регистр или если нет выделения, измените символ в точке вставки на нижний регистр. Сочетание клавиш: CTRL +U. |
| Переместить выбранные строки вверх | Перемещение выбранной строки вверх на одну строку. Сочетание клавиш: ALT+СТРЕЛКА ВВЕРХ. |
| Переместить выбранные строки вниз | Перемещение выбранной строки вниз на одну строку. Сочетание клавиш: ALT+СТРЕЛКА ВНИЗ. |
| Удалить пустое пространство по горизонтали | Удаление символов табуляции и пробелов в конце текущей строки. Сочетание клавиш: CTRL+K, CTRL +\ |
| Показать пустое пространство | Отображение пробелов в виде приподнятых точек, а символов табуляции — в виде стрелок. Конец файла отображается как прямоугольный глиф. Если с помощью меню выбран вариант Сервис>Параметры>Текстовый редактор>Все языки>Перенос по словам>Показывать графические метки в местах переноса слов, этот глиф также будет отображаться. |
| Перенос по словам | В этом режиме все строки документа отображаются полностью в окне кода. Перенос по словам можно включить или отключить в разделе Все языки для текстового редактора (Сервис>Параметры>Текстовый редактор>Все языки). |
| Преобразовать выделенный фрагмент в комментарий | Добавление символов комментария к выбранному фрагменту или текущей строке. Сочетание клавиш: CTRL+K, CTRL C+ |
| Отменить преобразование в комментарий | Удаление символов комментария из выбранного фрагмента или текущей строки. Сочетание клавиш: CTRL+K, CTRL U+ |
| Увеличить отступ строки | Добавление символа табуляции (или эквивалентных пробелов) к выбранным строкам или текущей строке. |
| Уменьшить отступ строки | Удаление символа табуляции (или эквивалентных пробелов) из выбранных строк или текущей строки. |
| Выбрать тег | Выбор тега в документе, содержащем теги (например, XML или HTML). |
| Выделить содержимое тега | Выбор содержимого в документе, содержащем теги (например, XML или HTML). |
Перемещение по коду и поиск
Перемещаться по редактору кода можно несколькими способами, включая переход назад и вперед к точкам вставки, просмотр определения типа или члена и переход к определенному методу с помощью панели навигации. Дополнительные сведения см. в разделе «Код навигации».
Вы также можете задать закладки, чтобы пометить строки в коде, чтобы можно было быстро вернуться в определенное расположение или перейти в другое место. Дополнительные сведения см. в разделе «Код закладки».
Поиск ссылок в базе коде
Чтобы найти, где именно в базе кода используются ссылки на элементы кода, можно использовать команду Найти все ссылки или нажать SHIFT+F12. Кроме того, при выборе типа или члена функция выделения ссылок автоматически выделяет все ссылки на этот тип или член. Дополнительные сведения см. в разделе Поиск ссылок в коде.
Создание, исправление или рефакторинг кода
Visual Studio помогает создавать, исправлять код и выполнять его рефакторинг самыми разными способами.
- Вы можете использовать фрагменты кода для вставки шаблона, такого как блок switch или объявление enum.
- Вы можете использовать быстрые действия для создания кода, например классов и свойств, или для введения локальной переменной. Кроме того, быстрые действия можно использовать для улучшения кода, например для удаления ненужных приведений и переменных либо для добавления проверок значений NULL перед обращением к переменным.
- Можно рефакторинг кода переименовать переменную, изменить порядок параметров метода или синхронизировать тип с именем файла, чтобы назвать несколько.
Копирование и вставка кода
Visual Studio предлагает несколько экономий времени, когда речь идет о копировании и вставки кода, как показано ниже.

- Копирование и обрезка отступа. Начиная с версии 17.7 Visual Studio автоматически исправляет отступ кода при копировании кода из Visual Studio и вставке его в другое приложение.
- Вставьте JSON или XML в качестве классов. Скопируйте любой фрагмент текста JSON или XML в буфер обмена, а затем вставьте его как строго типизированные классы .NET в любой файл кода C# или Visual Basic. Для этого используйте команду Edit>Paste Special>Paste JSON As Classes (или Вставить XML-классы в качестве классов).
Настройка редактора
Вы можете использовать свои параметры Visual Studio совместно с другим разработчиком, привести параметры в соответствие со стандартом или вернуться к настройкам, заданным по умолчанию в Visual Studio, с помощью команды Мастер импорта и экспорта параметров в меню Сервис. В мастере импорта и экспорта параметров можно изменить выбранные общие параметры, а также зависящие от языка и проекта параметры.
Чтобы определить новые или переопределить существующие сочетания клавиш, выберите Сервис>Параметры>Среда>Клавиатура. Дополнительные сведения о сочетаниях клавиш см. в статье Сочетания клавиш по умолчанию в Visual Studio.
Параметры редактора для JavaScript см. в статье о параметрах редактора JavaScript.
Связанный контент
- Редактор исходного кода (Visual Studio для Mac)
- Интегрированная среда разработки Visual Studio
- Начало работы с C++ в Visual Studio
- Начало работы с C# и ASP.NET в Visual Studio
- Начало работы с Python в Visual Studio
Как в редакторе VS двигать вправо(влево) выделенные блоки?

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

Как поворачивать персонажа влево и вправо?
Пишу банальный вопрос, как поворачивать персонажа влево и вправо, смотрел много гайдов и т.п некто.
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
ctrl+shift+alt+стрелка вверх/вниз
Регистрация: 03.12.2010
Сообщений: 228
В редакторе C# не работает
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
Если я правильно понял вопрос — то надо зайти в меню Правка — Дополнительно — Увеличить (уменьшить) отступ.
Или — кнопки на панели инструментов, которые я выделил.
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
Спутал с двиганьем вверх/вниз.
Увеличение отступа — TAB
Уменьшение — SHIFT + TAB
399 / 366 / 54
Регистрация: 23.05.2010
Сообщений: 716
Сообщение от Unril 
Увеличение отступа — TAB
Уменьшение — SHIFT + TAB
Да, забыл упомянуть и о горячих клавишах.
Регистрация: 03.12.2010
Сообщений: 228
Unril и Etrimus !
Спасибо !
80 / 73 / 25
Регистрация: 26.10.2010
Сообщений: 231
в VS работает авто конфигурация.
если те отступы (стиль оформирования текста) которые установлены в VS устраивают
то достаточно нажатия клавиш
Ctrk+K и сходу за ними Ctrl+D
не стоит благодарностей
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как структурировать в редакторе куски кода в отдельные блоки
Такой вопрос, больше не по C#, а по самому Visual Studio Когда создаёшь обработчик события, ну к.

Как сместить блок текста влево/вправо?
Доброго времени суток. У меня проблема с тегом <h1> (слово "Регистрация"), не могу его поместить.
Как произвести сдвиг битов вправо или влево
Как произвести сдвиг битов вправо или влево в VB?
Как повернуть картинку (Image) вправо (влево) на 90 градусов?
Здрасьте. Не могу найти функцию для поворота загруженной фотографии , чтобы затем сохранить в.
Или воспользуйтесь поиском по форуму:
Как сдвинуть блок кода

Когда вы пишете программу, особенно большую, то экономия времени становится как никогда актуальной. И здесь даже сэкономленные секунды в итоге складываются в часы, а то и дни (в зависимости от того, насколько сложна ваша программа).
Поэтому все профессиональные программисты стараются использовать возможности среды разработки на “всю катушку”.
В этой статье я расскажу об одной из фишек, которая используется довольно часто (во всяком случае мной) и которая на самом деле экономит время и нервы.
Для лучшей наглядности посмотрите видео. А если вы его уже посмотрели, то статью уже можно не читать. Потому что статья написана на всякий случай — для тех, у кого видео почему-то не работает или очень медленный Интернет.
Итак, суть вопроса: довольно часто вы пишите, например, такой код:
for i := 0 to 10 do begin x := i * 10; y := i; z := x + y; z := z / i; end;
Это совершенно бесполезный код с практической точки зрения. Смысл в другом — смысл в том, что после того как код написан и уже красиво отформатирован (выровнен), вы вдруг вспоминаете, что на ноль делить нельзя, а индекс у нас может быть равен нулю. Поэтому надо добавить проверку индекса на ноль, и не выполнять итерацию цикла, если таковая проверка выявит равенство индекса нулю.
В этом случае новичок делает так:
for i := 0 to 10 do if i <> 0 then begin x := i * 10; y := i; z := x + y; z := z / i; end;
При этом красота форматирования исчезает, потому что нам теперь надо сдвинуть блок кода вправо. И новичок делает это для каждой строки, на что тратит много времени. А потом ещё и нервов, когда понимает, что он делал это совершенно напрасно — ведь можно было просто сделать цикл не от 0 до 10, а от 1 до 10. Он так и делает, и начинает снова построчно сдвигать код, но уже влево…
И так много много раз, потому что в большой программе таких действий приходится выполнять немало.
Но эти действия можно выполнить намного проще, потому что почти во всех современных средствах разработки есть сочетания клавиш, которые позволяют лёгким движением руки сдвинуть не одну строку, а целый блок кода, как вправо, так и влево.
Для этого просто выделяем в редакторе блок кода, который надо сдвинуть, и нажимаем нужное сочетание клавиш.
Как сдвинуть код вправо
Чтобы сдвинуть блок кода вправо в Lazarus, нажмите сочетание клавиш
CTRL + I
Чтобы сдвинуть блок кода вправо в Delphi, нажмите сочетание клавиш
CTRL + SHIFT + I
Как сдвинуть код влево
Чтобы сдвинуть блок кода влево в Lazarus, нажмите сочетание клавиш
CTRL + U
Чтобы сдвинуть блок кода влево в Delphi, нажмите сочетание клавиш
CTRL + SHIFT + U
Настройки клавиш в Lazarus
В Lazarus можно определить другие сочетания клавиш для выполнения этих действий (сдвига блока текста). Возможно, есть такое и в Delphi. Но утверждать не берусь. Потому что в моей старой версии такого нет, а в новых может и есть, но у меня нет новых версий, чтобы это проверить.
В Lazarus это делается через меню
В открывшемся окне выбрать
РЕДАКТОР — ТАБУЛЯЦИЯ И ОТСТУП
На этой вкладке вы можете изменить сочетания клавиш для сдвига кода. Для этого надо:
- Щёлкнуть по надписи “изменить клавиши”.
- В открывшейся вкладке выбрать нужное действие.
- Нажать кнопку ПРАВКА.
- Установить нужную комбинацию.
Там же можно проверить, нет ли конфликтов с другими комбинациями (то есть не задействована ли выбранная вами комбинация для других операций).
Я не советую вам без крайней необходимости изменять комбинации клавиш по умолчанию. Единственная причина, по которой это можно сделать — это если вы привыкли к такой комбинации в Delphi и не хотите отвыкать.
Кроме этого, вы можете поставить галочку напротив надписи ТАБ МЕНЯЕТ ОТСТУП БЛОКОВ, и тогда сдвигать блок кода можно просто одной клавишей TAB. Правда, таким образом можно сдвигать код только вправо. Но комбинации клавиш для сдвига кода вправо/влево остаются работать, так что установить эту галочку будет не лишним.
Ну что же, на этом всё. Если понравились статья и видео — не забывайте делиться ссылкой с друзьями, пока они не получили нервный срыв, сдвигая большие блоки кода построчно.