Самое интересное — я нигде не обнаружил списка макрокоманд… пришлось покопать исходный код 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