Самое интересное — я нигде не обнаружил списка макрокоманд… пришлось покопать исходный код IDE.
Что такое макрос
Макрос в данном контексте — записанная последовательность действий (ввод текста, перемещение курсора и др.), которую можно выполнять автоматически.
Как создать макрос
В главном меню выбираем:
Tools → Options → Editor → Macros → New
Сервис → Параметры → Редактор → Макросы → Новый
В открывшееся окно вписываем последовательность макрокоманд.
Через «Set shortcut…» можно назначить макросу сочетание клавиш.
Мой макрос:
"<div class=\">"
insert-break
insert-break
"</div>"
Данный код макроса, при нажатии CTRL+D быстро вводит в редактор такую полезную конструкцию:
<div class="">
</div>
Почему нужно только один раз \” сам не знаю, главное что работает.
Полезные макрокоманды
| Команда | Результат |
|---|---|
| Курсор | |
| caret-down, caret-up, caret-forward, caret-backward | ↓, ↑, →, ← |
| caret-begin-line, caret-end-line | В начало/конец строки |
| page-up, page-down | Страницу вверх/вниз |
| caret-begin, caret-end | В начало/конец документа |
| caret-begin-word, caret-end-word | К началу/концу слова |
| adjust-caret-bottom, adjust-caret-top, adjust-caret-center | Вниз/вверх/в центр экрана |
| first-non-white, last-non-white | К первому/последнему пробелу или разделителю |
| caret-next-word, caret-previous-word | К следующему/предыдущему слову |
| caret-begin-line, caret-line-first-column | В начало строки |
| Выделение | |
| selection-begin-line, selection-end-line | Выделить до начала/конца строки |
| selection-up, selection-down, selection-forward, selection-backward | Выделить символ ↑, ↓, ←, → |
| select-line | Выдеить строку |
| select-word | Выделить слово |
| select-all | Выделить всё |
| selection-match-brace | Выделить всё по парную скобку |
| select-identifier | Выделить идентификатор (переменная, метод) |
| selection-begin, selection-end | Выделить от курсора до начала/конца документа |
| selection-begin-word, selection-end-word | Выделить от курсора до начала/конца текущего слова |
| selection-previous-word, selection-next-word | Выделить предыдущее/следующее слово |
| selection-page-up, selection-page-down | Выделить страницу вверх/вниз |
| selection-last-non-white, selection-first-non-white | Выделить по первый/последний не пробел и не разделитель |
| selection-line-first-column | Выделить до начала строки |
| Буфер обмена | |
| cut-to-clipboard | Вырезать |
| copy-to-clipboard | Копировать |
| paste-from-clipboard | Вставить |
| paste-formated | Вставить с форматированием. Форматирование частичное |
| cut-to-line-begin, cut-to-line-end | Вырезать до начала/конца строки |
| Текст | |
| “text” | Ввести заданную строку |
| insert-break | Вставить перенос строки |
| insert-tab | Вставить TAB |
| delete-next, delete-previous | DEL/BACKSPACE |
| comment, uncomment | Закомментировать/раскомментировать строку |
| format, reindent-line | Форматировать / выставить TAB-ы |
| insert-date-time | Вставить дату и время |
| remove-selection | Удалить выделенное |
| switch-case | Сменить регистр |
| to-lower-case, to-upper-case | К нижнему/верхнему регистру |
| split-line | Разделить строку на две в текущей позиции курсора |
| remove-trailing-spaces | Убить все пробелы после значимого конца строки во всём документе |
| remove-line | Удалить строку |
| start-new-line | Начать с новой строки |
| remove-word-previous, remove-word-next | Удалить предыдущее/следующее слово |
| shift-line-left, shift-line-right | Аналог SHIFT+TAB/TAB |
| toggle-typing-mode | Переключить режим вставки/перезаписи текста |
| toggle-case-identifier-begin | Первая буква выделения большая/маленькая |
| remove-tab | Удалить табуляцию слева |
| remove-line-begin | Удалить все символы строки слева от курсора |
| move-selection-else-line-up, move-selection-else-line-down | Передвинуть строку вверх/вниз поменяв с той, на которую двигаем |
| copy-selection-else-line-up, copy-selection-else-line-down | Продублировать текущую строку и сдвинуться вверх/вниз |
| Всякое | |
| find-selection | Найти выделенное |
| find-next, find-previous | Следующее/предыдущее совпадение при поиске |
| adjust-window-bottom, adjust-window-top, adjust-window-center | Прокрутить окно, чтобы курсор был снизу/сверху/по середине |
| match-brace | Перейти от одной парной скобки к другой |
| set-read-only, set-writable | Поставить/снять документу флаг «только чтение» |
| undo | Отмена |
| redo | Вернуть |
Примеры макросов
Обрамить выделенный текст в
Как вы догадались, можно обрамлять выделение каким угодно текстом. При вёрстке очень помогает.
извините, код затерялся
Оставить пометку о том, что код надо дописать
start-new-line "//TODO: посмотреть код!" select-line move-selection-else-line-up
Бэкап в комментарии
Сохраняет текущую строку в комментарии под ней.
select-line copy-selection-else-line-up caret-begin-line "//" caret-up caret-begin-line