Работа с полезными плагинами в программе Notepad++
Установка редактора Notepad++ и плагинов к нему
В компьютере имеется большое количество текстовой информации. Это не только привычные всем файлы с расширением .txt называемые текстовыми это и огромное количество других файлов с самыми разными расширениями. Например файлы с расширением .ini, .log, .bat, .xml, .php, .html и огромное множество других в том числе и без расширения, как например файл hosts являются по сути своей тактовыми, так как хранят информацию в виде текста отформатированного определенным образом.
Значит их можно просматривать и редактировать текстовым редактором, таким как встроенный в Windows Блокнот. Проблема в том, что стандартный Блокнот имеет довольно скромные возможности в нем порой неудобно даже просто просматривать текстовый файл, не говоря уже редактировании конфигурационных файлов или программировании. Поэтому появились редакторы от сторонних разработчиков предлагающие более широкие возможности. Одним из таких редакторов является Notepad++ о котором мы сейчас и поговорим.
Чем же он лучше обычного Блокнота? Он поддерживает вкладки, имеет подсветку синтаксиса разных форматов файлов, настраиваемый внешний вид самого редактора, переносить автоматически строки не умещающиеся по ширине окна редактора, работать с разными кодировками, выполнять множество операций с текстом, выполнять поиск и/или замену, создавать макросы и так далее.
Проще самому попробовать и все станет понятно, Notepad++ просто космос по сравнению со стандартным Блокнотом. Причем, как и положено космосу, он расширяемый, поскольку поддерживает плагины, с помощью которых можно реализовать функционал, отсутствующий в базовом варианте.
Установка Notepad++
Хорошая новость, что он является полностью бесплатным и имеет в том числе русский интерфейс, поэтому идем на официальный сайт и скачиваем последнюю версию редактора в соответствии с разрядностью вашей Windows. Стоит иметь в виду, что для версии x32 доступно больше плагинов, так как не все плагины для Notepad++ доступны в 64 битном варианте.
После того как скачали установочный файл, запускаете установку. Она стандартная и не должна вызвать сложностей, надо только не забыть поставить галочку напротив русского языка в Localization при выборе компонентов для установки. После ее завершения можно начинать пользоваться редактором.
Установка плагинов в Notepad++
Плагины это отдельные мини программы, добавляющие в редактор новые возможности. Рассмотрим установку на примере плагина Emmet очень полезного для людей, занимающихся веб-разработкой, но поскольку установка плагинов осуществляется однотипно, то с другими плагинами все будет аналогично. Стоит отметить, что он работает только с версией редактора.
Раньше в Notepad++ был менеджер плагинов, потом его убрали из программы, а недавно снова добавили, теперь он называется Plugins Admin. Поэтому в верхнем меню нажимаем «Плагины» ⇒ «Управление плагинами» и открывается следующее окно.
В нем на вкладке «Доступные» содержится список плагинов, которые можно установить, отметив нужный галочкой и нажав кнопку «Установить». На вкладке «Обновления» можно обновить уже установленные плагины, а на вкладке «Удаление» соответственно удалить ненужные.
Проблема в том, что плагин Emmet отсутствует среди доступных для установки. Дело в том, что там присутствуют не все существующие плагины, а только часть. Поэтому нам придется устанавливать его вручную, что тоже совсем не сложно. Поскольку для работы Emmet требуется Python Script для Notepad++, то сначала установим соответствующий плагин. Идем на страницу плагина и нажимаем ссылку “Download the MSI” после чего через 5 секунд загрузка должна начаться автоматически. Запускаем скачанный файл и выполняем установку.
Теперь займемся установкой самого Emmet. Переходим по ссылке и загружаем на компьютер файл emmet-npp.zip распаковываем его и сохраняем содержимое в папку plugins расположенную в директории куда установлен Notepad++. Теперь запускаем редактор, нажимаем в меню на «Плагины» и видим, что в списке присутствуют только штатные плагины. Почему установленные плагины не работают?
Не работают плагины в Notepad++
Дело в том, что в версии редактора 7.6 был не только возвращен менеджер плагинов, но и внесены изменения в месторасположение пользовательских плагинов и они должны располагаться в AppDataLocal. Поэтому плагин Emmet и не работает. Однако не спешите что-то менять, дело в том, что уже в версии 7.6.1 местоположение снова изменилось на папку ProgramData.
Вы не поверите, но на этом чехарда не закончилась, поскольку уже в версии 7.6.3 разработчики очень извиняясь сообщили, что папка снова изменилась, в этот раз на %ProgramFiles%Notepad++plugins и обещали больше ее не менять без крайней необходимости. Фактически все вернулось так, как и было в ветке 7.5.x, но ведь Python Script и Emmet у нас не запускаются.
Так как установить плагин Emmet в Notepad++ 7.6.3? Разница в том, что теперь все файлы плагина должны располагаться внутри папки с одноименным названием, а у нас dll расположены просто в папке plugins. Поэтому перемещаем PythonScript.dll в папку PythonScript, а EmmetNPP.dll в папку EmmetNPP. Запускаем Notepad++ и видим наши плагины в списке установленных. Таким образом, если после обновления на 7.6.x у вас перестали работать установленные ранее плагины, вы знаете как это можно легко исправить.
Осталось сделать последних шаг, чтобы можно было нормально пользоваться плагином Emmet в Notepad++. Нажимаем в меню «Опции» ⇒ «Горячие клавиши» и открывшемся окне переходим на вкладку «Plugin commands» где видим две строчки выделенные красным.
Это значит, что комбинации горячих клавиш используемые в Emmet по умолчанию уже используются в редакторе и возникает конфликт. Поэтому нужно их изменить на какую-нибудь другую комбинацию. Выделяем нужную строчку, нажимаем клавишу Modify и выбираем новую комбинацию. На этом установка плагинов закончена.
Редактор Notepad++ является мощным инструментом с большими возможностями, а при соответствующих навыках можно расширять его функциональность под собственные нужды. Попробовав его в деле, вы уже никогда не вернетесь к стандартному Блокноту, разве что перейдете на какой-нибудь другой редактор, вроде Sublime Text.
Работа с полезными плагинами в программе Notepad++
Программа Notepad++ считается очень продвинутым текстовым редактором, который способен помочь профессиональным программистам и веб-мастерам выполнять свою работу. Но, даже функционал данного приложения можно ещё в значительной мере расширить, подключив удобные плагины. Давайте подробнее узнаем, как работать с плагинами в программе Notepad++, и какие наиболее полезные их варианты существуют для этого приложения.
Подключение плагинов
Для начала выясним, как подключить плагин к программе Notepad++. Для этих целей переходим в раздел верхнего горизонтального меню «Плагины». В открывшемся списке поочередно совершаем переход по наименованиям Plugin Manager (Менеджер плагинов) и Show Plugin Manager.
Перед нами открывается окно, посредством которого мы можем добавить в программу любые из интересующих нас плагинов. Для этого, достаточно выбрать нужные элементы, и нажать на кнопку Install (Установка).
Начнется установка плагинов посредствам интернета.
После окончания инсталляции, программа Notepad++ попросит перезагрузить её.
Перезагрузив приложение, пользователь получит доступ к функциям установленных плагинов.
Ещё больше плагинов можно найти на официальном сайте программы. Для этого, через пункт верхнего горизонтального меню, обозначенного знаком «?» переходим в раздел «Плагины…».
После данного действия, открывается окно браузера, установленного по умолчанию, и перенаправляет нас на страницу официального сайта Notepad++, где размещено огромное количество плагинов для скачивания.
Работа с установленными плагинами
Список установленных дополнений можно увидеть все в том же Менеджере плагинов, только во вкладке Installed. Тут же, выделив требуемые плагины, их можно переустановить или удалить, нажав соответственно кнопки «Reinstall» и «Remove».
Для того, чтобы перейти к непосредственным функциям и настройкам конкретного плагина, нужно войти в пункт «Плагины» верхнего горизонтального меню, и выбрать нужный вам элемент. В дальнейших своих действиях руководствуйтесь контекстом меню выбранного плагина, так как дополнения между собой значительно разнятся.
Лучшие плагины
А теперь более подробно остановимся на работе конкретных плагинов, которые в настоящий момент являются самими популярными.
Auto Save
Плагин Auto Save предоставляет возможность автосохранения документа, что очень важно при отключении электропитания и других сбоев. В настройках плагина имеется возможность указания времени, через которое будет производиться автосохранение.
Так же, при желании можно поставить ограничение на слишком малые файлы. То есть, пока размер файла не достигнет указанного вами количества килобайт, он сохраняться автоматическим способом не будет.
ActiveX Plugin
Плагин ActiveX Plugin помогает подключить фреймворк ActiveX к программе Notepad++. Существует возможность подключения до пяти скриптов одновременно.
MIME Tools
Плагин MIME Tools не нужно специально устанавливать, так как он предустановлен в самой программе Notepad++. Главной функцией этой небольшой встроенной утилиты является кодирование и декодирование данных алгоритмом base64.
Bookmark Manager
Плагин Bookmark Manager позволяет добавлять закладки в документ, чтобы после его повторного открытия можно было вернуться к работе на том же месте, где вы ранее остановились.
Converter
Ещё одним довольно интересным плагином является Converter. Он позволяет конвертировать текст с кодировкой ASCII в кодировку HEX, и в обратном направлении. Для того, чтобы произвести конвертацию, достаточно выделить соответствующий участок текста, и нажать на пункт меню плагина.
NppExport
Плагин NppExport обеспечивает корректный экспорт документов, открытых в программе Notepad++ в форматы RTF и HTML. При этом, образуется новый файл.
DSpellCheck
Плагин DSpellCheck является одним из самых популярных в мире дополнений для программы Notepad++. Его задачей является проверка орфографии текста. Но, главный недостаток плагина для отечественных пользователей в том, что он может проверять орфографию только в англоязычных текстах. Для проверки русскоязычных текстов необходима дополнительная установка библиотеки Aspell.
Мы перечислили наиболее популярные из плагинов для работы с программой Notepad++, и вкратце описали их возможности. Но, общее число плагинов для этого приложения многократно больше, чем представлено здесь.
Отблагодарите автора, поделитесь статьей в социальных сетях.
20 самых полезных расширений для Notepad++
Перевод статьи Junpei Shimotsu “20 Best Notepad++ plugins for Developers”.
Explorer
Может возникнуть ситуация, когда вам нужно записать в Notepad++ путь к определенной папке. Если вы используете плагин Explorer, то в левой части редактора можно открыть окно, в котором легко искать и открывать любые файлы.
Также этот плагин дает нам информацию о местонахождении файла, который открыт в данный момент.
Code Alignment
При определении переменной мы используем знак равенства. Но если нужно объявить множество переменных, проставление этого знака может раздражать.
Плагин Code Alignment выравнивает код и дает нам возможность выбрать для выравнивания любой знак.
Иногда нам нужно выполнить какие-то маленькие задачи, но приходится делать это вручную, поскольку шорткатов для них нет.
К счастью, этот плагин позволяет нам определять собственные шорткаты, так что можно экономить время и силы при выполнении подобных задач.
Autosave
Этот плагин — настоящий спасательный круг, поскольку он автоматически сохраняет ваш код.
Плагин предоставляет разные варианты автосохранения. Например, вы можете выбрать, через какие временные промежутки оно будет осуществляться (каждые 10, 15 минут и т.д.). Таким образом, даже если вы забыли сохранить код и вышли из редактора, плагин все равно сохранит его и вам не придется беспокоиться из-за пропажи последних изменений.
NPPExport
Если вы пишете код в Markdown и хотите поделиться с кем-нибудь своими наработками, вам придется конвертировать их в HTML перед отправкой, поскольку у получателя может не оказаться программы, читающей файлы в Markdown.
Поможет вам в этом плагин NPPExport, который конвертирует Markdown-файлы в HTML или rtf (Rich Text Format).
Multi-clipboard
Если мы хотим скопировать откуда-нибудь выделенный фрагмент кода и вставить его в наш собственный код, это может оказаться довольно сложной задачей, сопряженной со множеством трудностей. Но не с этим плагином. Когда он включен, у вас открывается окно в левой части Notepad++, где содержится вся история вашего скопированного кода. Вы можете с легкостью выбрать код, который хотите, и вставить его.
Compare
Этот файл позволяет вам открывать два файла точно один возле другого, чтобы вы могли их сравнить и увидеть, чем они отличаются или что у них общего (в зависимости от ваших нужд).
SpellChecker
Этот плагин проверяет ошибки правописания в документе. Благодаря ему вы будете уверены, что написанное вами в Notepad++ не содержит грамматических шибок, и сможете безбоязненно делиться этими документами с другими людьми.
JSToolNpp
Название как бы намекает, что этот плагин имеет отношение к JavaScript, и таки да! Он очень полезен при работе с этим языком.
У плагина есть много важных свойств:
- JSON: Этот просмотрщик будет отображать выбранный JSON-текст в отдельном окне в форме дерева.
- JMIN: Это уменьшает размер файла JavaScript путем удаления пробелов и комментариев.
- JS Fomat: используется для чистки кода путем удаления пробелов.
Finger Text
Этот плагин сэкономит вам кучу времени, поскольку позволяет использовать один и тот же блок кода множество раз.
Customize Toolbar
Этот плагин позволяет вам настроить панель инструментов путем добавление, удаления и перемещения кнопок.
По умолчанию в Notepad++ нет возможности настройки панели инструментов, так что этот плагин идеально подойдет для такой цели.
Preview Html
Чтобы увидеть эффект изменений, сделанных в коде в Notepad++, вам нужно перейти в браузер и обновить страницу.
С этим плагином вы можете просто нажать Ctrl + Shift + H, чтобы вызвать предпросмотр. Это экономит много времени и сил.
NppFTP
Этот плагин предоставляет окно FTP, с помощью которого можно управлять файлами и папками, доступными на FTP-сервере (хостинге).
Auto Indent
Этот плагин просто находка для программистов, у которых есть проблемы с отступами в их коде.
Плагин поддерживает языки C/C++ и php.
Отступы имеют большое значение, поскольку помогают улучить читаемость кода.
CharM
Этот плагин предоставляет вам множество символов, из которых вы можете выбирать. Среди них есть специальные символы и акценты, доступные напрямую с клавиатуры.
SnippetExecutor
С помощью этого плагина вы можете скомпилировать отрывки кода и выполнить их. Также плагин выдает output после выполнения.
TextFX Plugin
Этот плагин помогает закрывать тэги. Он экономит ваше время при работе с HTML и XML благодаря автоматическому закрытию тэгов. Это повышает в некоторой степени эффективность веб-разработки.
Function list
Если вы пишете код с большим количеством функций и методов и вам приходится проверять их снова и снова, или если вы хотите видеть, какие функции вы уже сделали, то этот плагин для вас.
Он дает вам подробную информацию обо всех функциях в вашем проекте.
NppSalt
В настоящее время этот плагин предоставляет следующие функции:
- Экран Notepad++ мигает, когда обнаруживает, что какие-нибудь из открытых файлов были изменены другими людьми;
- Предотвращает перезапись изменений, внесенных в конкурирующих сессиях Notepad++.
NodepadSharp
- Правильная новая строка в CommentDoc/DocBlock для C, C++, Javascript, PHP.
- Правильная новая строка для # комментария в Ruby.
- Отступ после открывающей фигурной скобки в С-подобных языках, CSS и правильный отступ для закрывающей фигурной скобки.
- Удаление текущей строки с сохранением столбца.
- Отмена закрытия вкладки.
- Переключение между вкладками с помощью ALT + LEFT/RIGHT
- Обрамление выделения открывающими и закрывающими тэгами
Список свойств можно продолжать…
HTML Tag
Этот плагин добавляет набор действительно удобных сочетаний клавиш для редактирования HTML/JavaScript. Отлично подходит для поиска нестандартных HTML-тэгов.
Удобная разработка в Notepad++
Прежде чем начать, хочу сразу пояснить, что в данной статье я не предлагаю использовать Notepad++ вместо каких-либо IDE. Заточенная под свои цели IDE всегда будет лучше обычного текстового редактора, даже несмотря на то, что большинство из них написаны на Java, отжирают более 2 гигов оперативки, и вообще безумно тормозные. Однако глубокая интеграция IDE с системами контроля версий, дебаггерами, функциями «Go to definition» и прочим делают их незаменимыми.
В данной же статье я хочу рассмотреть случай, когда вам необходимо разработать что-то серьёзное в системе, для которой просто не существует IDE. В моем случае это разработка скриптов для игрового движка FOnline, о котором на хабре уже писали не один раз.
Немного информации о движке FOnline:
- для своих скриптов использует известную в узких кругах библиотеку AngelScript
- имеет развитый API
- для предварительной проверки скриптов на синтаксические ошибки имеется отдельный компилятор
Процесс написания скриптов на текущий момент состоит из следующих этапов:
- написать скрипт
- проверить, компилируется ли он вообще
- подключить скрипт к серверу
- проверить скрипт в игре
Разумеется, в таких условиях довольно сложно разрабатывать что-либо, нет ни готового фреймворка для проведения тестов (никакого TDD), ни дебаггера.
Но некоторые удобства с некоторыми ограничениями в Notepad++ таки удаётся реализовать:
- подсветка синтаксиса
- автодополнение
- компиляция с возможностью перейти в место ошибки по двойному клику
- функция «Go to definition»
- отображение классов, переменных и т. п.
- карта документа
- быстрый переход к предыдущему положению курсора
- более или менее удобная реализация двойных разделителей (одинарные кавычки, двойные кавычки и т. п.)
Конечно, этого недостаточно для удобной разработки, но уже хоть что-то.
Далее в этой статье я хочу подробно рассказать о том, как всё это реализовать в Notepad++, но, чтобы не возникало лишних вопросов, сначала расскажу, какие функции я бы хотел видеть в npp, но которые мне НЕ удалось реализовать:
- Интеграция с системами контроля версий
Имеется ввиду не просто пункты в меню, вроде: показать дифф, закоммититься, запулиться и т. д. Мне очень не хватает отображения измененных, добавленных и удаленных строк прямо в редакторе.
Подобный плагин есть, например, для Sublime — github.com/jisaacks/GitGutter. Разумеется, только для git.
К слову, в идеале хотелось бы ещё иметь возможность отката этих изменений по клику, но не в IDE я такого не видел.
Но нечто похожее для notepad++ всё-таки есть: плагин Location Navigate. Который, кроме своей основной функции журналирования позиции курсора (для перехода вперёд-назад), ещё и отображает измененные за сеанс строки, к системе контроля версий не имеет никакого отношения, но хоть что-то. - Автодополнение для реализованных в скрипте сущностей
Автокомплит для зарезервированных слов и аргументов зарезервированных функций есть, а вот автоматического парсинга скрипта для целей автокомплита нет. - Дебаггер
Но это и не удивительно, у нас и самого дебаггера-то нет…
Если же в вашем случае он каким-то образом имеется, можно посмотреть данный плагин — DBGP. Сам не разбирался, ничего не могу сказать.
Теперь по порядку.
Подсветка синтаксиса
Базовая возможность notepad++. Настраивается в том числе и через интерфейс самого npp.
Вообще, возможность гибкой настройки определенного пользователем языка в npp существует очень давно, но не все знают, что данная возможность относительно недавно перешла на качественно новый уровень под названием UDL 2.0
Основные возможности: формирование списка ключевых слов, определение синтаксиса блоков, сворачивание этих блоков, определение числовых форматов и, разумеется, настройка стилей оформления для всего этого по отдельности.
Примечание:
Не пробуйте вручную редактировать настройки UDL при запущенном npp, он затрёт все изменения при выходе из программы.
Автодополнение
Так же базовая возможность npp, но уже не редактируется в интерфейсе, на этот раз нужно уже вручную править xml.
Основные возможности: автокомплит зарезервированных слов и функций, создание описания для них, подсказки параметров функций и информация о возвращаемых значениях. Кроме того, поддерживаются перегруженные функции.
Подробности о настройке тут.
Примечание:
Для правильной работы автокомплита нужно, чтобы строки в xml были правильно отсортированы в алфавитном порядке (подробности о сортировке, с учётом спецсимволов и чисел, были где-то на официальной вики). Нужно признать, данный момент довольно сильно раздражает, при отсутствии интерфейса xml, приходится действительно править вручную (писать свой велосипед для генерации как-то лениво).
Умная обработка вывода компилятора
Когда я только начинал реализацию окружения для разработки скриптов FOnline, для синтаксической проверки скриптов я долгое время пользовался обычным вызовом батника с передачей ему пути к скрипту. Однако, потом один из участников нашего сообщества выложил инструкцию по настройке EditPlus для работы с FOnline. Оказалось, что в данном редакторе возможность парсинга вывода компиляторов есть изначально. На тот момент я был уверен, что такие возможности бывают только в IDE и никто не будет возиться с данным функционалом для текстового редактора. Однако, если такой функционал есть в EditPlus, я всё же решил ещё раз пройтись по плагинам N++. К моему удивлению, решение для notepad++ нашлось: плагин NppExec.
Настройки довольно гибкие, не буду описывать процесс, там все довольно просто, просто покажу результат:
Примечание
Плагин не позволяет добавить кнопку для запуска компилятора на тулбар, однако с этой задачей отлично справляется плагин Custom toolbar.
Функция «Go to definition» и отображение списка сущностей
Карта документа
С недавних пор данный модный функционал имеется в n++ прямо из коробки.
Работает.
Быстрый переход к предыдущему положению курсора
Плагин Location Navigate.
Работает в пределах одного файла.
Кроме того, подсвечивает сохраненные и несохраненные изменения файла, произошедшие с момента запуска n++.
Примечание:
Стоит заметить, что основная функция данного плагина реализована в описанном выше плагине SourceCookifier.
Скобки, кавычки.
Расстановка парных кавычек и закрывающих скобок осуществляется плагином XBrackets Lite. Решение далеко не идеальное, но хоть какое-то.
Примечание:
В настройках голого n++ так же можно включить автоматическую подстановку парных символов, но там эта функция реализована совсем топорно и скорее будет раздражать.