Здравствуйте!

В этой статье мне хотелось бы рассказать вам о редакторе Notepad++ (http://notepad-plus-plus.org/) и поделиться основными функциями, которые я использую практически ежедневно при разработке программ.

Если вы вдруг каким-то образом до этого ни разу не слышали про него — это самый крутой редактор для программистов (особенно web), который имеет миллионы пользователей по всему миру. К тому же он бесплатный и имеет русификатор.

Не помню когда именно я на него пересел, но сейчас он для меня — незаменимый помощник, фактически я не могу уже работать на компьютере, где он не установлен, настолько он удобен и настолько к нему привязываешься.

За время работы в разных компаниях мне довелось побыть на многих семинарах и коференциях для программистов, и практически все (и лекторы и слушатели) пользуются именно им. Можно сказать, что Notepad++ является стандартом де-факто в мире программистов.

Редактор имеет огромное количество плагинов на все случаи жизни (как firefox), за счет чего он и стал популярным. Его можно расширить как угодно в любую сторону. При желании можно вообще сделать из него полноценную среду разработки.

Давайте перейдем к практической части и пройдемся по основным функциям, которые вам пригодятся при разработке программ.

Не буду подробно останавливаться на базовых возможностях, которые я использую, а просто их перечислю:

  • сравнение файлов
  • масштабирование (через Ctrl и колесик мышки)
  • подсветка синтаксиса файлов практически всех языков программирования
  • EOL конверсия — преобразование признака конца строки между Unix, Win, Mac
  • преобразование кодировок
  • автозаполнение
  • горячие клавиши, позволяющие значительно ускорить работу в редакторе

Остановимся подробнее на некоторых возможностях.

Работа с текстом

Блокнот умеет находить дублирующиеся строки. Например, если вам нужно оставить только уникальные строки из текста:

 

выделяем весь текст и нажимаем

 

строки стали уникальными:

 

Кодирование и декодирование Base64. Выделяем текст и нажимаем:

Удобно, когда надо быстро перевести двоичные данные в Base64 или наоборот.

 

Работа с XML

Для работы с XML необходимо установить плагин XML Tools. Для этого запускаем менеджер плагинов:

Выбираем XML Tools и нажимаем «Install». Если нужно — настраиваем proxy в «Settings»

Теперь, если у вас есть xml в виде строки (они часто приходят в виде строки от других программистов)

и вам необходимо его отредактировать, то сначала можно привести его в древовидный вид.

и получаем автоматически отформатированный xml

Если у вас не подсвечиваются xml теги, то нажмите выберите меню Синтаксис -> XML. Теперь этот xml можно легко редактировать. Для запуска в браузере нажимаем

и выбираем нужный браузер. Все на расстоянии нескольких кликов.

Чтобы наоборот преобразовать отформатированный xml в строку, необходимо выбрать

и ваш xml опять станет строкой (удаляются все переводы каретки, пробелы, табуляторы). Удобно тем, что не надо вручную удалять все эти символы.

Также имеется большое количество полезных функций (XSLT трансформация, определение пути к тегу XML PATH и пр.)

Поиск и замена.

Поиск и замену текста  можно делать во всех открытых документах (кнопка «Заменить все во всех открытых документах»), что порой очень удобно.

Я часто использую регулярные выражения. Например, если вы скопировали код, а там пронумерованы все строки:

то их можно убрать одним кликом. Нажимаем Ctrl+H и вводим:

нажимаем «Заменить» и видим результат:

Это мощный инструмент по поиску и замене текста, только нужно знать правила составления регулярного выражения.

Допустим есть дамп MySQL и нужно восстановить такую же структуру таблиц на базе SQLite. Т.к. синтаксисы Data Definition Language (DDL) (язык описания данных)  для этих баз разные, необходимо
преобразовать скрипт MySQL в скрипт, понятный для SQLite. Это можно сделать с помощью замен регулярными выражениями и их записью в макросы (правда придется попотеть, но если один раз сделаешь — постоянно можно пользоваться просто запуская нужный макрос ).

Можно воспользоваться плагином  RegEx Helper или AnalysePlugin, которые помогут вам при составлении регулярных выражений.

Для работы с текстом также имеется плагин TextFX, который умеет делать с текстом что угодно.
О нем напишу отдельную статью.

Если вы часто просмотриваете чей-то код, редактор имеет возможность сворачивать и разворачивать методы структуры кода (как в netbeans)

Поиск в интернете

Интересные возможности связаны с быстрым поиском слов или словосочетаний в интернете. Например, если вы редактируете php файл и вам встретилась неизвестная функция, выделяем ее и нажимаем Alt+F1 или выбираем из меню:

Откроется браузер по умолчанию и сайт php.net с результатами вашего поискового запроса.

Аналогично можно искать любой текст на википедии (Alt+F3), в гугле (Alt+F2). Очень удобно.

Работа с FTP.

Если у вас есть свой сайт, и вы захотели быстренько что-то поменять (исправить опечатку, добавить текст и пр.) вам нужно подключиться к своему ftp-аккаунту, сделать изменения в нужном документе и сохранить. Редактор сам обновит его на сервере и вам не нужно будет подтверждать, что файл изменен и его нужно залить на сервер. Вы как будто открыли и  поработали с локальным файлом.

Обычно при использовании ftp-менеджеров необходимо выбрать файл для редактирования, нажать «Редактировать», после этого откроется редактор по-умолчанию для вашей системы. После завершения работы с ним вы сохраняете файл и ftp-менеджер спросит у вас подтверждения для заливки на сервер (если конечно не стоит опция «не спрашивать подтверждения»).Notepad++ позволит вам сделать это быстро и без лишних кликов на подтверждение. Для меня это очень удобно.

Чтобы открыть окно ftp, необходимо активировать его через меню:

После этого в правой части экрана откроется новое окно:

 

Выберите меню Settings -> Profile Settings, чтобы настроить доступ к ftp. Создайте профайл и введите свои данные:

 

Теперь выберем наш профайл для соединения

 

 

Нажмите кнопку   , чтобы увидеть логи подключения к ftp. Если все сделали правильно, лог должен показать успешное подключение:

 

 

и в правой части экрана выйдет структура папок вашего сайта.

 

Теперь для редактирования файла нужно выбрать его двойным кликом мыши. После чего файл откроется в главном окне редактора.

 

Отредактируйте его как нужно и нажмите Ctrl+S (или Сохранить). Notepad++ сам зальет его на сервер и отразит это в своем логе:

 

 

Никаких лишних действий и телодвижений.

Работа со вкладками

Если у вас открыто очень много документов и вам не хочется в следующий раз вспоминать какие были открыты файлы и вручную заново их открывать, можно сохранить текущую сессию (меню Файл -> Сохранить сессию). Следующий раз просто откроете сохраненную сессию  (меню Файл -> Загрузить сессию) и ваши вкладки с документами восстановятся. Настройки по восстановлению вкладок можно сделать в меню Опции -> Настройки -> Разное.

Также можно воспользоваться плагином Session Manager для более удобной работы с сессиями.

Баловство

Notepad++ умеет разговаривать! В этом вам поможет плагин Speech. Правда поддержки русского нет и некоторые слова коверкает, но в общем — интересно.

Редактор имеет множество тем оформления, которые можно найти в меню Опции->Определение стилей. Многие темы позволяют глазам комфортней просматривать текст за счет контрастов цветов. Подбирайте что вам нравится больше.

Можно сразу компилировать в редакторе java классы, подключив соответствующий плагин и настроив его.

Минусы

Конечно же без минусов никуда. К ним относятся:

— преобразование кодировок. Частенько бывает кодировщик глючит и неправильно перекодирует.

— иногда редактор зависает сам по себе. Помогает только удаление процесса.

— некоторые плагины не устанавливаются и вылетают с ошибкой

— не хватает многопоточности. Если можно было бы сворачивать процесс (например поиск и замену по большому тексту) в фоновый режим, чтобы продолжать работу с другим документом. Но это скорее пожелание, чем минус.

— не умеет сохранять список документов, открытых с ftp. При попытке сохранить и восстановить сессию загружаются файлы с кеша системы, а не с самого ftp.

Вот примерно вкратце об основных возможностях редактора, которые я использую в повседневной работе.

(Статья будет дополняться, т.к. описать все возможности за один раз не удалось)

А вы какие используете полезные плагины и удобства Notepad++ ? Или может быть у вас есть достойная замена?

Поделитесь в комментариях.