Перехват переменной PHP с помощью двойного щелчка в Notepad ++
Я только что переключился с eclipse на Notepad++ и изменил некоторое поведение блокнота, но все еще одно не решено: когда я дважды щелкаю по переменной, я ожидаю, что мой редактор перехватит всю переменную. Блокнот автоматически исключает префикс php "$", что неэффективно. Есть ли способ, которым я могу изменить поведение?
Спасибо
4 ответа
Я понимаю вашу проблему, но, к сожалению, с Notepad++ невозможно настроить это поведение.
Что вы можете сделать, это щелкнуть между знаком доллара и именем переменной. Затем вы получите всю переменную, пока перед знаком доллара нет специального символа (например, [$var]
).
Начиная с версии 7.3.1 (выпущенной 17 января 2017 г.) они добавили простой способ сделать это. Цитирование из заметок о выпуске,
В этой версии добавлено расширение для настройки символов Word: при двойном щелчке для выбора или поиска с параметром "Совпадение всего слова" выбранные символы останавливаются на несловарных символах. Благодаря этому усовершенствованию пользователи могут включать любой несловарный символ в набор символов слова, чтобы изменить его поведение по умолчанию.
Чтобы включить его, перейдите в "Настройки" -> "Настройки" -> "Разделитель", выберите "Добавить своего персонажа как часть своего слова" и добавьте знак доллара ($
) в текстовом поле. Закрыть и все работает!
Вот как вы можете выбрать целое слово $php_variable / $ в Npp, включая знак '$', с помощью Alt + Click:
РЕДАКТИРОВАТЬ: Теперь я понимаю, что вы можете пропустить макрос Npp и сделать это только с AutoHotKey. Но я все равно оставлю макрос, если кому-то это понравится. Для получения более подробной информации обратитесь к AutoHotkey.chm, на вкладке содержимого перейдите к элементу управления Kheyboard >> Send/SendRaw...
Не ставьте пробелы между {LButton}{...}, иначе они будут вставлены в редактор (пробел после запятой кажется нормальным).
Вероятно, что-то вроде этого (еще не проверял).
!LButton::
Send, {LButton}{CTRLDOWN}{LEFT}{CTRLUP}{LEFT}{CTRLDOWN}{SHIFTDOWN}{RIGHT}{RIGHT}{SHIFTUP}{CTRLUP}
return
КОНЕЦ РЕДАКТИРОВАНИЯ
Я наконец сделал это с помощью
- AutoHotkey (Google это).
- макрос npp
Макрос:
- перед тем, как начать запись макроса: щелкните внутри переменной php, чтобы мигающий курсор был внутри нее (например:
$php_varia|ble
) - теперь ударил запись макроса
- теперь нажмите: Ctrl+ влево, влево (без Ctrl), Ctrl + Shift + вправо, Ctrl + Shift + вправо; Это выберет всю переменную / слово php, включая '$'
- остановите запись макроса, затем: "Сохранить текущий записанный макрос". Назначьте ему сочетание клавиш (я назначил Ctrl + Alt + Shift + B)
Скрипт AutoHotkey:
; alt + click translated to Click followed by Ctrl Shift Alt B
!LButton::
Send, {LButton}{CTRLDOWN}{SHIFTDOWN}{ALTDOWN}b{ALTUP}{SHIFTUP}{CTRLUP}
return
Теперь, когда вы нажимаете Alt + Click на php-переменной в NPP, она выберет все из них, включая знак '$'.
У меня также есть скрипт для копирования / вырезания / вставки по Ctrl + LMouseBtn / Ctrl + Shift + LMouseButton / Ctrl + RMouseButton:
^RButton::
Send, {CTRLDOWN}v{CTRLUP}
return
^LButton::
Send, {CTRLDOWN}c{CTRLUP}
return
^+LButton::
Send, {CTRLDOWN}x{CTRLUP}
return
; the plus sign means the Shift key, etc
; see 'Keyboard control' >> 'Hotkeys and Hotstrings' in the Autohotkey help.chm
Я создал макрос, который пишет $
затем вставьте все, что находится в буфере обмена, затем назначьте ярлык для этого макроса ctr+alt+v.