Обновление: Этот ответ теперь доступен как видео .
Я изо всех сил пытался найти способ сделать это. Я знаю, что это не отвечает на ваш точный вопрос. Но на самом деле вы ищете рабочий процесс, в котором вы можете вносить изменения в код с нулевой (или почти нулевой) задержкой, и я думаю, что я понял, что самое близкое, что вы можете получить с помощью только Visual Studio. (И, следовательно, избегая огромных инженерных усилий и имея дело с «ненормальными» проектами).
Способ достижения этого рабочего процесса на самом деле удивительно прост, если подумать:
Используйте сочетания клавиш!
Первый способ, который я придумал, это просто использовать обычный метод редактирования и продолжения установки точки останова. Только с помощью клавиатуры вы можете сделать это значительно быстрее. Это работает только с кодом, вызываемым в цикле (например, draw / update). Щелкните по коду, который вы хотите изменить, добавьте точку останова ( F9 ), точка останова будет почти немедленно нажата, измените код, удалите точку останова ( F9 ), а затем запустите Снова код ( F5 ).
Это довольно хорошо. Вам не нужно использовать мышь, чтобы поразить относительно маленькую цель «Добавить точку останова» в левом столбце. Но он перемещает фокус ввода в начало строки, поэтому вам обычно приходится снова использовать мышь, чтобы исправить это, прежде чем вы сможете начать редактирование.
Я хочу что-то быстрее. Поэтому я нашел лучшее решение:
Снова с помощью клавиатуры: нажмите Ctrl + Alt + Break для «Break All». Это входит в отладчик практически мгновенно, не беспокоясь о настройке точки останова или о том, что код, который вы хотите изменить, выполняется в цикле. Это изменит окно редактора и поместит фокус на документ, в котором выполнение прервано, но вы можете сразу же исправить его, нажав Ctrl + - для «Навигация в обратном направлении».
Затем вы можете внести изменения и просто нажать F5 , чтобы увидеть их в действии. Вы должны использовать мышь только один раз (или не использовать ее вообще), чтобы сначала выбрать, где вы хотите начать печатать - как вы и ожидали.
По общему признанию Ctrl + Alt + Break и Ctrl + - ужасно сочетания клавиш для того, что вы хотите сделать очень быстро. И было бы лучше, если бы была нажата только одна клавиша.
Если у вас есть полная Visual Studio, вы, вероятно, можете превратить ее в макрос или надстройку. У Express их нет - поэтому лучшее, что вы можете сделать, это изменить привязки клавиш (Инструменты, Настроить, Клавиатура ...) и связать их с двумя смежными клавишами, которые вы можете нажимать по очереди. Или используйте утилиту внешнего макроса.
Лично я настроил две комбинации клавиш для последовательного нажатия (вам, кажется, не требуется задержка между ними) с помощью макроса, установленного на запасную кнопку на моей мыши. Который работает достаточно хорошо - я обычно выбираю текст одновременно. Я мог бы добавить макрос клавиатуры позже.
Пока что я обнаружил две незначительные ловушки этого метода:
- Когда вы снова запустите приложение, Visual Studio придаст ему фокус. Было бы неплохо, если бы это сохраняло фокус. Добавление щелчка левой кнопкой мыши к моему макросу является частичным решением для быстрого повторного редактирования кода.
- «Навигация в обратном направлении» не сохраняет выделенный текст, только позицию каретки.