(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Запуск внешних приложений из Notepad++. NppExec: ускоряем поиск в Интернете и не только…

Источник: habrahabr
Placido

Поскольку я не очень опытный разработчик - так вышло, что в веб я пришел недавно - по ходу написания кода мне часто приходится обращаться к официальной документации PHP и MySQL, а также искать во время работы с текстами определенную информацию еще на паре сайтов, не связанных с IT, но связанных с другой моей работой.

Notepad++ и поиск в Интернете


Раньше в случае возникновения вопроса мне нужно было выполнить следующие действия:

  1. Выделить фрагмент текста (или кода);
  2. Скопировать его в буфер обмена;
  3. Перейти в браузер;
  4. Вставить текст из буфера обмена в строку поиска (где предварительно должно уже было быть введено site: адрес сайта или открыт требуемый сайт);
  5. Нажать кнопку "искать" (ввод).

С помощью дополнения 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-шнику требуемого браузера).

image

Сохраняем: Save… - php_search

image

image

Аналогично настраиваем поиск по сайту 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.

image

Использование


Теперь все, что нужно сделать - выделить фразу или слово (например, имя функции) - Shift+Ctrl+rightArrow - и нажать Ctrl+F6. Браузер откроется на необходимой странице и отправит GET-запрос с выделенным словом в строке поиска (первый вызов Ctrl+F6 аналогичен F6 - необходимо ввести или выбрать сохраненную команду, в нашем случае - php_search или mysql_search).

В моем примере я использовал переменную окружения (переменная среды, англ. environment variable) CURRENT_WORD, но возможности дополнения NppExec гораздо шире, чем просто ускорение поиска в Интернете. C помощью этого плагина можно запускать практически любые внешние приложения и передавать им обширный ряд переменных - как собственных, так и системных переменных Windows. Это подробно описано в статье How to Run an external program from Notepad++ на сайте sourceforge.net, перевод которой я представляю ниже.

Как запустить внешнюю программу из Notepad++


Предположим, вам необходимо запустить внешнее приложение (например, компилятор, интерпретатор или веб-браузер) из Notepad++ (пункт меню "Запуск"), передав текущий документ в качестве аргумента. Чтобы это сделать, вам придется использовать переменные окружения. Плагин NppExec предоставляет в этом отношении большую гибкость.

Переменные окружения файлового уровня


Использование переменной окружения:

$(ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ)

Например, текущий файл, который вы редактируете в Notepad++ - "E:\my Web\main\welcome.html".

Ниже приведены некоторые переменные окружения, содержащие информацию о текущей сессии:

FULL_CURRENT_PATH - "E:\my Web\main\welcome.html".
CURRENT_DIRECTORY - "E:\my Web\main\".
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-F3 соответственно.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 20.07.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Panda Internet Security - ESD версия - на 1 устройство - (лицензия на 1 год)
Quest Software. TOAD Xpert Edition
GFI WebMonitor Plus Edition - подписка на 1 год
ABBYY Lingvo x6 Многоязычная Профессиональная версия, электронный ключ
SmartBear LoadComplete - Node-Locked License Subscription w/ 250 Virtual Users (includes 1 year of Maintenance)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
СУБД Oracle "с нуля"
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Компьютерные книги. Рецензии и отзывы
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100