Как остановить отладку в visual studio
Как ни странно, программирование может быть сложным и ошибок может быть очень много. Ошибки, как правило, попадают в одну из двух категорий: синтаксические или семантические/смысловые.
Типы ошибок
Синтаксическая ошибка возникает, когда вы пишете код, который не соответствует правилам грамматики языка C++. Например, пропущенные точки с запятой, необъявленные переменные, непарные круглые или фигурные скобки и т.д. В следующей программе есть несколько синтаксических ошибок:
std : cout < "Hi there; << x; // недействительный оператор (:), незаконченное предложение (пропущено " ) и необъявленная переменная return 0 // пропущена точка с запятой в конце стейтментаК счастью, компилятор ловит подобные ошибки и сообщает о них в виде предупреждений или ошибок.
Семантическая ошибка возникает, когда код является синтаксически правильным, но делает не то, что задумал программист.
Иногда это может привести к сбою в программе, например, если делить на ноль:
Либо делать вообще не то, что нужно:
return x - y ; // функция должна выполнять сложение, но выполняет вычитание std :: cout << add ( 5 , 3 ) ; // должно быть 8, но результат - 2К сожалению, компилятор не ловит подобные ошибки, так как он проверяет только то, что вы написали, а не то, что вы хотели этим сделать.
В примерах, приведенных выше, ошибки довольно легко обнаружить. Но в большинстве программ (в которых больше 40 строк кода), семантические ошибки увидеть с помощью простого просмотра кода будет не так-то и легко.
И здесь нам на помощь приходит отладчик.
Отладчик
Старые дебаггеры, такие как GDB, имели интерфейс командной строки, где программисту приходилось вводить специальные команды для старта работы. Современные дебаггеры имеют графический интерфейс, что значительно упрощает работу с ними. Сейчас почти все современные IDE имеют встроенные отладчики. То есть, вы можете использовать одну среду разработки как для написания кода, так и для его отладки (вместо постоянного переключения между разными программами).
Базовый функционал у всех отладчиков один и тот же. Отличаются они, как правило, тем, как этот функционал и доступ к нему организованы, горячими клавишами и дополнительными возможностями.
Степпинг
Команда "Шаг с заходом"
Команда "Шаг с обходом"
Команда "Шаг с выходом"
Мы сейчас рассмотрим каждую из этих команд в индивидуальном порядке.
Давайте рассмотрим очень простую программу:
В Visual Studio, перейдите в меню "Отладка" > "Шаг с заходом" (либо нажмите F11 ):
Если вы используете другую IDE, то найдите в меню команду "Step Into/Шаг с заходом" и выберите её.
Когда вы это сделаете, должны произойти две вещи. Во-первых, так как наше приложение является консольной программой, то должно открыться консольное окно. Оно будет пустым, так как мы еще ничего не выводили. Во-вторых, вы должны увидеть специальный маркер слева возле открывающей скобки функции main(). В Visual Studio этим маркером является жёлтая стрелочка (если вы используете другую IDE, то должно появиться что-нибудь похожее):
Может показаться, будто отладчик намеревается еще раз повторить цикл с функцией printValue(), но в действительности он нам просто сообщает, что он только что вернулся из этой функции.
Таким образом мы полностью остановили сеанс отладки нашей программы.
В Visual Studio можно выполнять отладку решения, имеющего несколько процессов. Можно запускать несколько процессов, переключаться между ними, прерывать и возобновлять их выполнение, пошагово проходить исходный код, останавливать отладку, завершать отдельные процессы или отсоединяться от них.
Запуск отладки с несколькими процессами
Если в решении Visual Studio могут независимо выполняться несколько проектов, можно выбрать проект, запускаемый отладчиком. Текущий запускаемый проект отображается полужирным шрифтом в обозревателе решений.
Чтобы изменить запускаемый проект, правой кнопкой мыши щелкните имя другого проекта в обозревателе решений и выберите Назначить запускаемым проектом.
Чтобы начать отладку проекта из обозревателя решений без его назначения запускаемым, щелкните проект правой кнопкой мыши и выберите Отладка > Запустить новый экземпляр или Шаг с заходом в новый экземпляр.
Назначение запускаемого проекта или нескольких проектов на странице свойств решения
Выберите решение в обозревателе решений и щелкните значок Свойства на панели инструментов либо щелкните это решение правой кнопкой мыши и выберите пункт Свойства.
На странице Свойства выберите Общие свойства > Запускаемый проект.
Выберите Текущий выбор, Один запускаемый проект и файл проекта либо выберите Несколько запускаемых проектов.
Если выбран параметр Несколько запускаемых проектов, можно изменить порядок запуска и действие для каждого проекта: Запустить, Запустить без отладки или Нет.
Нажмите Применить или OK, чтобы применить изменения и закрыть диалоговое окно.
Присоединение к процессу
Отладчик также может присоединяться к приложениям, выполняемым в процессах вне Visual Studio, включая процессы на удаленных устройствах. После присоединения к приложению можно использовать отладчик Visual Studio. Функции отладки могут быть ограничены. Это зависит от того, было ли приложение построено с отладочной информацией, есть ли у вас доступ к исходному коду приложения и отслеживает ли JIT-компилятор отладочную информацию.
Присоединение к выполняющемуся процессу:
После запуска приложения выберите Отладка > Присоединить к процессу.
В диалоговом окне Присоединение к процессу выделите процесс в списке Доступные процессы и щелкните Присоединить.
Отладчик не присоединяется автоматически к дочернему процессу, который запущен отлаживаемым процессом, даже если дочерний проект находится в том же решении. Чтобы выполнить отладку дочернего процесса, подключитесь к дочернему процессу после его запуска или настройте редактор реестра Windows для запуска дочернего процесса в новом экземпляре отладчика.
Использование редактора реестра для автоматического запуска процесса в отладчике
В некоторых случаях может потребоваться отладить код запуска для приложения, которое запускается другим процессом. К ним относятся службы и действия пользовательской настройки. Можно запустить отладчик и автоматически присоединить его к приложению.
Запустите редактор реестра Windows с помощью regedit.exe.
В редакторе реестра перейдите к параметрам выполнения файла HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image.
Выберите папку приложения, которое требуется запустить в отладчике.
Если приложение не указано в качестве дочерней папки, щелкните правой кнопкой мыши Параметры выполнения файла образа, выберите Создать > Раздел и введите имя приложения. Или щелкните правой кнопкой мыши новый раздел в дереве, выберите команду Переименовать, а затем введите имя приложения.
Щелкните правой кнопкой мыши новый раздел в дереве и выберите Создать > Строковое значение.
Измените имя нового значения с Новое значение № 1 на debugger .
Щелкните debugger правой кнопкой мыши и выберите Изменить.
В диалоговом окне Изменение строки введите vsjitdebugger.exe в поле Данные значения, а затем нажмите кнопку OK.
Отладка с несколькими процессами
При отладке приложения с несколькими процессами команды прерывания, пошагового выполнения и продолжения выполнения затрагивают все процессы по умолчанию. Например, когда процесс приостанавливается в точке останова, выполнение всех остальных процессов также приостанавливается. Можно изменить это принимаемое по умолчанию поведение, чтобы обрести больший контроль над целевыми объектами команд выполнения.
Включение или отключение приостановки всех процессов при прерывании одного процесса
- Выберите Сервис (или Отладка) > Параметры > Отладка > Общие, затем установите или снимите флажок Прерывать все процессы при прерывании одного процесса.
Команды прерывания, пошагового выполнения и продолжения выполнения
В следующей таблице описано действие команд отладки при установке или снятии флажка Прерывать все процессы при прерывании одного процесса.
Команда | Selected | Выбор отменен |
---|---|---|
Отладка > Остановить все | Все процессы приостанавливаются. | Все процессы приостанавливаются. |
Отладка > Продолжить | Все процессы возобновляются. | Все приостановленные процессы возобновляются. |
Отладка > Шаг с заходом, Шаг с обходом или Шаг с выходом | Во время выполнения шага текущего процесса все процессы выполняются. Затем все процессы приостанавливаются. | Текущий процесс выполняется пошагово. Приостановленные процессы возобновляются. Выполняемые процессы продолжают выполняться. |
Отладка > Шаг с заходом (только текущий процесс) , Шаг с обходом (только текущий процесс) или Шаг с выходом (только текущий процесс) | Н/Д | Текущий процесс выполняется пошагово. Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться). |
Окно исходного кода — Точка остановка | Все процессы приостанавливаются. | Приостанавливается только процесс окна исходного кода. |
Окно исходного кода — Выполнить до курсора Окно исходного кода должно находиться в текущем процессе. | Все процессы выполняются, а процесс в окне исходного кода выполняется до курсора и приостанавливается. После этого приостанавливаются все остальные процессы. | Процесс в окне исходного кода выполняется до курсора. Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться). |
Окно Процессы > Остановить процесс | Н/Д | Выбранный процесс приостанавливается. Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться). |
Окно Процессы > Продолжить процесс | Н/Д | Выбранный процесс возобновляется. Остальные процессы сохраняют свое текущее состояние (остаются приостановленными или продолжают выполняться). |
Поиск исходных файлов и файлов символов (PDB)
Для перехода по исходному коду процесса отладчику требуется доступ к исходным файлам и файлам символов процесса. Дополнительные сведения см. в разделе Указание файлов символов (PDB) и исходных файлов.
Если не удается получить доступ к файлам процесса, для перемещения можно воспользоваться окном Дизассемблирование. Дополнительные сведения см. в разделе Практическое руководство. использовать окно дизассемблирования.
Переключение между процессами
Во время отладки можно подключиться к нескольким процессам, но в любой момент времени только один из них будет активным в отладчике. Активный или текущий процесс можно выбрать с помощью панели инструментов Место отладки или в окне Процессы. Для переключения между процессами оба процесса должны находиться в режиме приостановки выполнения.
Установка текущего процесса на панели инструментов "Место отладки"
Чтобы открыть панель инструментов Место отладки, выберите Вид > Панели инструментов > Место отладки.
Во время отладки на панели инструментов Место отладки в раскрывающемся списке Процесс выберите процесс, который необходимо задать в качестве текущего.
Установка текущего процесса в окне "Процессы"
Чтобы открыть окно Процессы, во время отладки выберите Отладка > Окна > Процессы.
В окне Процессы текущий процесс будет отмечен желтой стрелкой. Дважды щелкните процесс, который необходимо задать в качестве текущего.
Переключение к процессу делает этот процесс текущим процессом для отладки. Статус текущего процесса отображается в окнах отладчика, и все команды пошагового выполнения влияют только на текущий процесс.
Остановка отладки с несколькими процессами
По умолчанию при выборе Отладка > Остановить отладку отладчик завершается или отсоединяется от всех процессов.
Если в отладчике был запущен текущий процесс, этот процесс завершается.
Если отладчик был присоединен к текущему процессу, отладчик отсоединяется от процесса, не прекращая его выполнение.
Если отладка процесса запущена из решения Visual Studio, присоединитесь к другому уже запущенному процессу, затем выберите Остановить отладку и сеанс отладки завершится. Процесс, запущенный в Visual Studio, завершится, а процесс, к которому вы присоединились, продолжит выполняться.
Чтобы управлять влиянием параметра Остановить отладку на отдельный процесс, в окне Процессы щелкните процесс правой кнопкой мыши и выберите или снимите флажок Отсоединиться при остановке отладки.
Параметр отладчика Прерывать все процессы при прерывании одного не влияет на поведение остановки, завершения процессов и отсоединения от процессов.
Команды остановки, окончания и отсоединения
В следующей таблице описаны действия команд отладчика по остановке, завершению и отсоединению с несколькими процессами.
С помощью отладчика Visual Studio можно переходить по коду для проверки состояния приложения и просмотра последовательности выполнения. Для быстрого перехода к коду, который необходимо изучить, можно использовать сочетания клавиш, команды отладки, точки останова и другие функции. Если вы знакомы с командами и сочетаниями клавиш для навигации по отладчику, вы можете быстро и с легкостью находить и устранять проблемы в работе приложений.
Если вы не знакомы с процессом отладки кода, перед выполнением задач в этой статье рекомендуется прочесть документ, посвященный отладке для начинающих, и статью Методы и инструменты отладки.
В режиме приостановки выполнения выполнение приложения приостанавливается, но функции, переменные и объекты при этом остаются в памяти. Когда отладчик находится в режиме приостановки выполнения, можно перемещаться по коду. Существует два стандартных способа быстрого перехода в режим приостановки выполнения:
Начните пошаговое выполнение кода, нажав клавишу F10 или F11. Это позволит быстро найти точку входа приложения. После этого можно продолжать нажимать команды перехода для перемещения по коду.
Например, в редакторе кода в Visual Studio можно использовать команду Выполнить до текущей позиции, чтобы запустить приложение, присоединить отладчик и перейти в режим приостановки выполнения, а затем нажать клавишу F11 для перехода по коду:
В режиме приостановки выполнения можно переходить по коду, используя различные команды. Можно выполнять поиск ошибок и нарушений целостности данных, проверяя значения переменных. Для некоторых типов проектов можно также вносить корректировки в приложение.
Большинство окон отладчика, таких как Модули и Контрольные значения, доступны только тогда, когда отладчик присоединен к приложению. Некоторые возможности отладчика, такие как просмотр значений переменных в окне локальных переменных или вычисление выражений в окне контрольных значений, доступны только при приостановке отладчика (то есть в режиме приостановки выполнения).
Если во время приостановки выполнения кода не загружены исходные файлы или файлы символов (PDB), отладчик отображает страницу Исходный файл не найден или Символы не найдены, которая поможет найти и загрузить файлы. См. статью Указание файлов символов (.pdb) и файлов с исходным кодом в отладчике Visual Studio. Если вы не можете загрузить исходные файлы или файлы символов, можно выполнить отладку инструкций на языке ассемблера в окне Дизассемблирование.
Пошаговое прохождение кода
С помощью команд пошагового выполнения отладчика можно проверять состояние приложения или изучать его последовательность выполнения.
Построчное выполнение кода
Для остановки выполнения на каждом операторе во время отладки используйте команду Отладка > Шаг с заходом или нажмите клавишу F11.
Отладчик осуществляет пошаговое выполнение операторов кода, а не физических строк. Например, предложение if может быть записано в одной строке:
Но при пошаговом выполнении этой строки отладчик рассматривает условие как один шаг, а результат — как другой шаг. В предыдущем примере условие выполняется.
При вызове вложенных функций команда Шаг с заходом позволяет попасть в самую глубокую вложенную функцию. Например, если использовать Шаг с заходом на вызове Func1(Func2()) , отладчик заходит в функцию Func2 .
При выполнении каждой строки кода можно наводить указатель мыши на переменные, чтобы просматривать их значения, или использовать окна Локальные переменные и Контрольные значения для наблюдения за изменением значений. Кроме того, можно визуально отслеживать стек вызовов при выполнении шагов с заходом в функции. (Сведения, касающиеся только Visual Studio Enterprise, см. в статье Сопоставление методов в визуализации стека вызовов при отладке.)
Пошаговое прохождение кода и пропуск некоторых функций
При отладке можно пропустить функцию. Или, возможно, вы знаете, что некоторый код работает, например, хорошо протестированный код библиотеки. Чтобы пропустить код во время пошагового выполнения, можно использовать приведенные ниже команды. Функции по-прежнему выполняются, но отладчик пропускает их.
Команда с клавиатуры | Команда меню «Отладка» | Описание |
---|---|---|
F10 | Шаг с обходом | Если текущая строка содержит вызов функции, команда Шаг с обходом выполняет код, а затем останавливает выполнение в первой строке кода после возврата управления вызываемой функцией. |
SHIFT+F11 | Шаг с выходом | Команда Шаг с выходом возобновляет выполнение кода и приостанавливает выполнение, когда текущая функция возвращает управление. Отладчик пропускает текущую функцию. |
Выполнение до указанного места или функции
Вам может потребоваться выполнить код непосредственно до определенного места или функции, если вы точно знаете, какой код нужно проверить или с какого места следует начать отладку.
Выполнение до точки останова в коде
Чтобы задать простую точку останова в коде, щелкните в левом поле напротив строки кода, в которой нужно приостановить выполнение. Можно также выбрать строку и нажать клавишу F9, выбрать команду Отладка > Переключить точку останова или щелкнуть правой кнопкой мыши и выбрать команду Точка останова > Вставить точку останова. Точка останова отображается как красный кружок в левом поле рядом со строкой кода. Отладчик приостанавливает выполнение непосредственно перед выполнением строки.
Точки останова в Visual Studio предоставляют широкий набор функций, таких как условные точки останова и точки трассировки. Дополнительные сведения см. в статье Использование точек останова.
Выполнение до точки останова функции
Можно дать отладчику команду на выполнение до тех пор, пока не будет достигнута определенная функция. Можно задать функцию по имени или выбрать ее из стека вызовов.
Указание точки останова функции по имени
Выберите команду Отладка > Создать точку останова > Точка останова функции.
В диалоговом окне Новая точка останова функции введите имя функции и выберите ее язык:
Щелкните ОК.
Если функция перегружается или находится в нескольких пространствах имен, нужную функцию можно выбрать в окне Точки останова:
Выбор точки останова функции из стека вызовов
Во время отладки откройте окно Стек вызовов, выбрав пункт Отладка > Окна > Стек вызовов.
В окне Стек вызовов щелкните правой кнопкой мыши имя функции и выберите команду Выполнить до текущей позиции или нажмите клавиши CTRL+F10.
Сведения о визуальном отслеживании стека вызовов см. в статье Сопоставление методов в визуализации стека вызовов при отладке.
Выполнение до расположения курсора
Чтобы выполнить код до позиции курсора, в окне исходного кода или в окне Стек вызовов выберите строку, в которой нужно прервать выполнение, а затем щелкните ее правой кнопкой мыши и выберите команду Выполнить до текущей позиции или нажмите клавиши CTRL+F10. Выбор команды Выполнить до текущей позиции аналогичен заданию временной точки останова.
Принудительное выполнение до расположения курсора
Чтобы выполнить код до позиции курсора, в окне исходного кода или в окне Стек вызовов выберите строку, в которой нужно прервать выполнение, а затем щелкните ее правой кнопкой мыши и выберите элемент Force Run To Cursor (Принудительное выполнение до расположения курсора). Если выбрать параметр Force Run To Cursor (Принудительное выполнение до расположения курсора), все точки останова и первичные исключения будут пропускаться, пока отладчик не достигнет строки кода, где находится курсор.
Выполнение до щелкнутого
Во время приостановки работы отладчика можно навести указатель мыши на оператор в исходном коде или в окне Дизассемблирование и щелкнуть значок с зеленой стрелкой Выполнить до этого места. Если используется команда Выполнение до щелкнутого позволяет не устанавливать временную точку останова.
Команда Выполнение до щелкнутого доступна начиная с версии Visual Studio 2017.
Принудительное выполнение до щелчка
Когда работа отладчика приостановлена, вы можете навести указатель на оператор в исходном коде, удерживая нажатой клавишу SHIFT, и выбрать элемент Принудительное выполнение до текущей позиции (значок с двумя зелеными стрелками). При выборе этого параметра приложение присоединяет отладчик Visual Studio и приостанавливает выполнение в положении курсора. Все точки останова и первичные исключения, обнаруженные во время выполнения, временно отключаются.
Параметр Force Run to Click (Принудительное выполнение до отмеченного щелчком расположения) доступен, начиная с версии Visual Studio 2022.
Приостановка выполнения кода вручную
Чтобы приостановить выполнение в следующей доступной строке кода в выполняющемся приложении, выберите команду Отладка > Прервать все или нажмите клавиши CTRL+ALT+BREAK.
Перемещение указателя для изменения потока выполнения
Когда работа отладчика приостановлена, желтая стрелка в поле исходного кода или в окне Дизассемблированный код отмечает расположение оператора, который должен быть выполнен следующим. Вы можете изменить следующий оператор, который будет выполняться, переместив эту стрелку. Можно пропустить код или вернуться к предыдущей строке. Перемещение указателя полезно при возникновении таких ситуаций, как пропуск кода, содержащего известную ошибку.
Для изменения оператора, который будет выполнен следующим, отладчик должен находиться в режиме приостановки выполнения. В окне исходного кода или окне Дизассемблированный код перетащите желтую стрелку в другую строку или щелкните правой кнопкой мыши строку, которую нужно выполнить следующей, и выберите команду Задать следующий оператор.
Счетчик программы переходит непосредственно к новому расположению. Инструкции между старой и новой точками не выполняются. Однако при перемещении точки выполнения обратно промежуточные инструкции не отменяются.
Отладка кода, не являющегося пользовательским
По умолчанию отладчик пытается выполнить отладку только кода вашего приложения, так как включена функция Только мой код. Подробнее о том, как эта функция работает с проектами различных типов и на разных языках, а также о том, как настроить ее, см. в статье Только мой код.
Для просмотра кода платформы, кода сторонней библиотеки или системных вызовов во время отладки можно отключить функцию "Только мой код". В меню Сервис (или Отладка) выберите пункты Параметры > Отладка и снимите флажок Включить только мой код. Когда функция "Только мой код" отключена, в окнах отладчика отображается код, не являющийся пользовательским, и отладчик может выполнять его по шагам.
Режим "Только мой код" не поддерживается для проектов устройств.
Отладка системного кода
Если вы загрузили отладочные символы для системного кода Майкрософт и отключили режим "Только мой код", можно производить шаг с заходом в системный вызов так же, как в любой другой вызов.
Сведения о загрузке символов Майкрософт см. в разделе Настройка расположения символов и параметров загрузки.
Чтобы загрузить символы для определенного системного компонента, выполните указанные ниже действия.
Во время отладки откройте окно Модули, выбрав пункт Отладка > Окна > Модули или нажав клавиши CTRL+ALT+U.
Определить, для каких модулей символы загружены, можно по значению в столбце Состояние символов в окне Модули. Щелкните правой кнопкой мыши модуль, для которого требуется загрузить символы, и выберите команду Загрузить символы.
Шаг с заходом в свойства и операторы в управляемом коде
По умолчанию отладчик обходит свойства и операторы при пошаговом выполнении в управляемом коде. В большинстве случаев это повышает удобство и эффективность отладки. Чтобы отключить пошаговое выполнение свойств и операторов, выберите пункт Отладка > Параметры. На странице Отладка > Общие снимите флажок Обход свойств и операторов (только управляемый код) .
Сюда буду добавлять горячие клавиши в Visual Studio, способы быстрого ввода и прочие фишки, позволяющие кодить более комфортно.
Начнем с самого простого, что бывает нужно начинающему программисту:
cw + 2 раза Tab = Console.WriteLine();
Далее материалы статьи с Хабра, где-то с моими дополнениями, но в основном в чистом виде:
Комментирование
Ctrl+K,C — закомментировать выбранные линии в коде.
Ctrl+K,U — раскомментировать выбранные линии в коде.
Если перед именем метода набрать /// — автоматически будут добавлены XML комментарии, которые потом можно использовать для создания документации. Туда можно вписать название метода, описание переменных и т.п. Далее при использовании данного метода будут всплывать подсказки как раз с этой информацией.
Поиск
Ctrl+F — открывается стандартное окно поиска, если в буфер недавно было скопирован текст, то он автоматически подставиться.
Ctrl+F3 — поиск «активного» текста вниз (который выделен или слово на котором стоит курсор), без копирования в буфер обмена.
Ctrl+Shift+F3 — поиск «активного» текста вверх.
Ctrl+I — и начинаете печатать текст, этакий runtime поиск.
Вызов базового джина
Вам лень писать текст полностью?! Скорость выпадающего Intellisence не устраивает несущуюся впереди вас вашу мысль?!
Тогда самое время применить следующии комбинации:
Ctrl+Space — вызов Intellisence с показом «слов»
Ctrl+J — если вы подзабыли название метода класса или его свойсто, то эта комбинация вам поможет. Можно применять и предыдущую, но эта более «умная».
Ctrl+K, X — показ всех сниппетов, которые у вас есть, в виде выпадающего списка, использование интуитивно понятно 🙂
короткое_имя_снипета+Tab — использовать сниппет в коде.
Навигация по коду
Если обратите внимание то студия, по своей природе MDI, значит должна быть возможность перемещаться, между окнами:
Ctrl+Tab — аналог Alt+Tab в Windows, только применимо к студии.
Очень удобным инструментом в студии являются закладки, да-да, по аналогии с книжными. Можно отметить код чтобы потом перейти к нему:
Ctrl+B, T — поставить/снять закладку.
Ctrl+B, Ctrl+C — удалить все закладки.
Ctrl+B, N — перейти к следующей закладке.
Ctrl+B, P — перейти к предыдущей закладке.
Форматирование и редактирование
Многие знают и используют Ctrl+C и Ctrl+V, но студия обладает ещё рядом удобным комбинаций:
Ctrl+Shift+V — не отпуская Ctrl+Shift и нажимая на V, вы сможете вставить один из 10 последних кусков текста, скопированных в буфер обмена.
Tab — увеличить отступ.
Shift+Tab — уменьшить отступ.
Мне иногда не хватало вертикального выделения текста, бывает полезно. Оказывается и такая возможность есть! Стоит нажать Alt, и не отпуская, выделять мышкой текст. Но есть минус — меню и стрелочки клавиатуры :). Это решаемо, нажимаете Shift+Alt и используете стрелочки Left или Right
Если код доставшийся вам «грязен», не только по структуре, но и по внешнему оформлению, используйте:
Ctrl+E+D — форматирование всего документа, позволяет привести документ в более удобоваримый вид.
Ctrl+E+F — форматирование выбранной части текста
Иногда в целях рефакторинга или ещё каких-то благих начинаниях, есть смысл перевести все буквы в верхний или нижний регистр:
Ctrl+Shift+U — перевести выделенный блок в верхний регистр
Ctrl+U — перевести выделенный блок в нижний регистр
Небольшой экскурс в сборку и отладку
Конечно же со стороны хоткеев 🙂
Начнём со «сборки»:
Ctrl+Shift+B или F6 — собрать solution.
Shift+F6 — собрать активный проект.
Если честно, тут я немного пошаманил, заточив под себя, иногда бывает удобно пересобрать проект RebuildSolution, но почему-то хоткей для этого не предусмотрен, я поступил следующий образом:
F6 — собрать solution
Ctrl+Shift+B — пересобрать solution
Поступил я так из-за соображения, что иногда студия не выполняет пересборку проекта, а пишет «up-to-date», а мне нужно именно пересобрать.
Если появились ошибки, это плохо, но никто от них не застрахован:
F5 — запустить программу, с возможностью отладки. Или продолжить выполнение программы, после точки останова.
Ctrl+F5 — запустить программу без отладки
F9 — поставить/убрать точку останова — breakpoint
Ctrl+Shift+F9 — удалить все точки останова.
F10 — выполнить код, без захода внутрь
F11 — выполнить код, с заходом внутрь
В режиме отладки есть два типа просмотра — Watch и QuickWatch.
Вызвать QuickWatch вы можете нажав Ctrl+D, Q. Просто Watch — Ctrl+D, W.
Читайте также: