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