Перехват переменной 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.

Другие вопросы по тегам