Ответ 1
Это всегда раздражало меня. Один из вариантов - создать простой макрос.
- Введите свой тег XAML и назовите его. (В этот момент ваш курсор находится внутри кавычек атрибута.)
- Нажмите Ctrl-Shift-R, чтобы начать макросъемку.
- Нажмите End, а затем Enter. (Теперь ваш курсор находится там, где вы хотите.)
- Нажмите Ctrl-Shift-R еще раз, чтобы остановить запись макроса.
Если вы выполните описанные выше шаги, Visual Studio создаст следующий макрокоманд, который вы можете увидеть, если вы нажмете Alt-F8 и откройте RecordingModule.TemporaryMacro:
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.NewLine()
Теперь вы можете запустить этот макрос с помощью Ctrl-Shift-P, но в данный момент это только временный макрос. Вы должны сохранить его и назначить ему с помощью сочетания клавиш.
- Откройте Macro Explorer (Alt-F8).
- Найти временный макрос под MyMacros | RecordingModule и переименуйте его. Возможно, даже вывести его из RecordingModule в другой модуль тоже.
- Откройте меню "Сервис" и выберите "Параметры", "Среда", "Клавиатура".
- Введите имя вашего макроса в разделе "Показать команды, содержащие".
- Выберите свой макрос и назначьте его клавишами быстрого доступа. (Я выбрал Ctrl-Enter.)
Итак, вместо того, чтобы переместить вашу руку, нажмите End, а затем Enter, вы можете просто нажать Ctrl-Enter.
Я также записал еще один макрос, который перемещается в конец строки и набирает для меня "/" > ", и прикрепляет его к Ctrl-/. Генерируемый код VS выглядит следующим образом:
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.Text = " />"
DTE.ActiveDocument.Selection.NewLine()
Альтернативой всем этим макросам является отключить автоматические кавычки. Откройте меню "Сервис" и перейдите в "Параметры", "Текстовый редактор", "XAML", "Разное". Снимите флажок для автоматической вставки атрибутов. Тогда он не добавит к вам конечную цитату, и вам не придется использовать ключ arrow keys или End (хотя вам, конечно, придется вводить окончательную цитату).