Поскольку я не очень опытный разработчик — так вышло, что в веб я пришел недавно — по ходу написания кода мне часто приходится обращаться к официальной документации PHP и MySQL, а также искать во время работы с текстами определенную информацию еще на паре сайтов, не связанных с IT, но связанных с другой моей работой.
Notepad++ и поиск в Интернете
Раньше в случае возникновения вопроса мне нужно было выполнить следующие действия:
- Выделить фрагмент текста (или кода);
- Скопировать его в буфер обмена;
- Перейти в браузер;
- Вставить текст из буфера обмена в строку поиска (где предварительно должно уже было быть введено site: адрес сайта или открыт требуемый сайт);
- Нажать кнопку искать (ввод)*.
С помощью дополнения NppExec это можно сделать в несколько раз быстрее. Предварительно, конечно, NppExec необходимо настроить.
Установка NppExec
Плагины->Plugin Manager->Show Plugin Manager->NppExec->Install. Перезапускаем Notepad++.
Настройка
Нажимаем F6.
В поле Command(s) вводим следующее:
C:...chrome.exe php.net/manual-lookup.php?function="$(CURRENT_WORD)"&lang=ru
(вместо троеточия вставляем полный путь к exe-шнику требуемого браузера).
Сохраняем: Save… – php_search
Аналогично настраиваем поиск по сайту MySQL. Поскольку я так и не смог разобраться с поиском на сайте mysql.com — при попытке найти что-либо через строку поиска на dev.mysql.com почему-то происходит перенаправление на search.oracle.com (а там сам черт ногу сломит) — ищем с помощью Google:
Нажимаем F6.
"C:...chrome.exe" http://www.google.com/search?q="site:dev.mysql.com $(CURRENT_WORD)"
Сохраняем: Save… – mysql_search.
Использование
Теперь все, что нужно сделать — выделить фразу или слово (например, имя функции) — Shift-Strl+rightArrow — и нажать Ctrl-F6. Браузер откроется на необходимой странице и отправит GET-запрос с выделенным словом в строке поиска (первый вызов Ctrl-F6 аналогичен F6 — необходимо ввести или выбрать сохраненную команду, в нашем случае – php_search или mysql_search).
В моем примере я использовал переменную окружения (переменная среды, англ. environment variables) CURRENT_WORD, но возможности дополнения NppExec гораздо шире, чем просто ускорение поиска в Интернете. C помощью этого плагина можно запускать практически любые внешние приложения и передавать им обширный ряд переменных – как собственных, так и системных переменных Windows. Это подробно описано в статье How to Run an external program from Notepad++ на сайте sourceforge.net, перевод которой я представляю ниже.
Как запустить внешнюю программу из Notepad++
Предположим, вам необходимо запустить внешнее приложение (например, компилятор, интерпретатор или веб-браузер) из Notepad++ (пункт меню «Запуск»), передав текущий документ в качестве аргумента. Чтобы это сделать, вам придется использовать переменные окружения. Плагин NppExec предоставляет в этом отношении большую гибкость.
Переменные окружения файлового уровня
Использование переменной окружения:
$(ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ)
Например, текущий файл, который вы редактируете в Notepad++ — «E:my Webmainwelcome.html».
Ниже приведены некоторые переменные окружения, содержащие информацию о текущей сессии:
FULL_CURRENT_PATH — «E:my Webmainwelcome.html».
CURRENT_DIRECTORY — «E:my Webmain».
FILE_NAME — «welcome.html».
NAME_PART — «welcome».
EXT_PART — «html».
SYS.<переменная> — имя системной переменной окружения, например, $(SYS.PATH).
Переменные стоит обрамлять двойными кавычками, поскольку они могут содержать пробелы:
"$(ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ)"
Примеры
firefox "$(FULL_CURRENT_PATH)"
iexplore "$(FULL_CURRENT_PATH)"
Эти две пользовательские команды также включены в Notepad++ 3.0 и в более поздние версии. Их можно запустить, нажав Ctrl+Alt+Shift+X и Ctrl+Alt+Shift+I соответственно.
Переменные окружения уровня документа
Существуют следующие переменные:
CURRENT_WORD — содержит слово (слова), которое в текущий момент выделено в Notepad++.
CURRENT_LINE — содержит номер строки Notepad++, на которой в данный момент находится курсор.
CURRENT_COLUMN — содержит номер колонки Notepad++, на которой в данный момент находится курсор.
NPP_DIRECTORY — содержит абсолютный путь к системной директории Notepad++.
Дополнительные переменные, доступные с помощью плагина NppExec:
PLUGINS_CONFIG_DIR — полный путь к конфигурационной директории, в которой находятся файлы плагинов.
#N — полный путь к n-ному открытому документу (n = 1, 2, 3 ...).
#0 — Полный путь к файлу notepad++.exe.
LEFT_VIEW_FILE — путь к файлу, открытому в главном (левом) окне Notepad++.
RIGHT_VIEW_FILE — путь к файлу, открытому в дополнительном (правом) окне Notepad++.
Если вы знаете, в какой директории находится плагин, вы можете вызвать любую функцию этого плагина, передав в rundll.exe имя плагина, имя функции и, если требуется, аргументы. Или же выгрузить плагин командой regsvr /u.
Примеры
http://www.php.net/%20$(CURRENT_WORD)
http://www.google.com/search?q=$(CURRENT_WORD)
http://en.wikipedia.org/wiki/Special:Search?search=$(CURRENT_WORD)
$(NPP_DIRECTORY)notepad++.exe $(CURRENT_WORD)
В примерах 1-3 мы передаем в качестве аргумента URL + выделенное в данный момент слово браузеру, установленному по умолчанию, с целью поиска слова в Интернете.
Четвертый пример полезен в том случае, если вы хотите открыть файл из текущего документа.
Предположим, что у нас есть файл, содержащий следующую запись:
include("../myFuncs.php");
Если выделить ../myFuncs.php и нажать сочетание клавиш, которому вы назначите эту команду, то в Notepad++ откроется файл myFuncs.php, если, конечно, он существует и находится по указанному пути.
Переменная CURRENT_WORD позволяет удобно конфигурировать внешние команды.
Запуск команды
Когда вы используете NppExec для запуска команды, перед ее запуском устанавливаются и становятся доступными для использования следующие переменные:
CWD — текущая рабочая директория NppExec (используйте «cd» для ее изменения).
ARGC — количество аргументов, переданных команде NPP_EXEC.
ARGV — все аргументы, переданные команде NPP_EXEC, которые следуют после имени скрипта.
ARGV[0] — имя скрипта — первый параметр команды NPP_EXEC.
ARGV[n] — n-ный аргумент (1, 2, 3...)
RARGV — все аргументы в обратном порядке (за исключением имени скрипта).
RARGV[n] — n-ный аргумент с конца (n, n-1, n-2, n-3...).
INPUT — это значение задается командой 'inputbox'.
INPUT[n] — n-ное поле переменной $(INPUT).
Если внешний процесс «знает» о NppExec, то может установить некоторые переменные для использования в NppExec (с версии 0.3.1):
OUTPUT — это значение может быть задано дочерним процессом (подробнее — в описании команды npe_console v+).
OUTPUT1 — первая строка в $(OUTPUT).
OUTPUTL — последняя строка в $(OUTPUT).
Нужно добавить, что возможность быстрого поиска в google.com и en.wikipedia.org встроена в Notepad++ по умолчанию. Нужно выделить необходимую фразу и нажать Alt-F2 и Alt-F7 соответственно.
Автор: Placido