15 сентября 2017

Программирование в Notepad++

Статья, написанная мною для группы ТехноФрактал. Рекомендую читать оригинальную версию на technofractal.org / technofractal.tk. На этом сайте, под управлением CMS Drupal 8, содержится более мощный редактор, чем здесь в Blogger-е. И в первую очередь на сайт ТехноФрактала будут вноситься все дополнения и уточнения.


======
Notepad++ является одним из самых лучших редакторов кода для Windows, прекрасно подходящий для программистов начального и среднего уровня. А в качестве вспомогательного инструмента полезный даже для профессионалов. Вследствие удобства использования создавать код в Notepad++ сподручнее, чем во многих IDE весом в 100Мб.  Здесь содержится описание приёмов и перечень горячих клавиш, полезных при написании программ в этом редакторе. Это не полноценная обучающая статья, которую нужно читать от верха до низа. Скорее конспект и быстрое вхождение для тех, кто хочет побыстрее приступить. Отрывочное выборочное чтение только приветствуется. Знакомьтесь с возможностями редактора, пробуйте, применяйте, затем возвращайтесь, чтобы углубиться.

Содержание:


В статье использованы сокращения, принятые в скриптовом языке AutoHotKey:Условные обозначения, используемые далее:
^ - Ctrl
! - Alt
+ - Shift
зелёный текст - информация для начинающих
серый текст - несущественная информация
Preferences>General - пункты меню
^+W - горячие клавиши, имеющиеся в Notepad++ по умолчанию
^!+Q - мои предложения горячих клавиш. Иногда переназначение объективно нужно для разруливания конфликтов с плагинами, а иногда мой собственный вкус. Последние случаи редки, в таких вещах я осторожна. Также предпочитаю удалять клавишесочетания для никогда неиспользуемых действий (записав на всякий случай их дефолтные значения). Это делает меню более чистым и понятным.

Установка

Официальный сайт редактора - notepad-plus-plus.org. Рекомендую выбрать 32-битную версию, даже если ваша OS имеет 64 бита. Причина в том, что большинство плагинов с 64-битной версией не работают (на 2017 год).  При установке программы можете отказаться от всех дополнительных плагинов, если у вас нет осознанных причин их иметь. В том числе и от Plugin Manager - в установщике он устаревший. После установки порекомендую подключить следующие плагины:
  • Plugin Manager (установка, обновление и удаление других плагинов - без него вы даже не узнаете, какие версии плагинов являются последними)
  • ToolBucket (набор полезных инструментов)
  • Compare Plugin (сравнение файлов)
  • Explorer (прямая работа с файловой системой, в т.ч. инструменты быстрого доступа)
  • MultiClipboard (запоминание содержимого буфера обмена)
  • Snippets (шаблоны)
  • Customize Toolbar (настройка пользовательской панели инструментов)
Если вам приходится много заниматься HTML, то ознакомьтесь с HTML Tag. Если приходится редактировать файлы на сервере, то NppFTP. Для SQL - SQL плагин. Для работы с CSS, PHP, Python и некоторыми другими вещами существуют свои специализированные плагины - исследуйте тему самостоятельно и расскажите другим в комментариях.

Plugin Manager необходимо скачать напрямую с сайта разработчиков. Pаспакуйте PluginManager.dll в папку plugins, а gpup.exe в папку updater. Остальные плагины ставятся через него (либо качайте напрямую от разработчиков, если знаете, где это). Воздержитесь от скачивания плагинов с их суммирующей страницы - большинство версий на ней уже устаревшие, используйте ту лишь для ознакомительных целей.
Начну с нескольких вещей, предназначенных для "совсем зелёных":
^N - создать новый файл
^O - открыть существующий


Подручный способ открыть файл или группу файлов - перетащить их на редактор. Если перетащить папку, то та развернётся в окне "Folder as Workspace".

^S - сохранить изменения
^+S - сохранить изменения в новый файл. В результате то, что мы редактируем, этим самым файлом и становится, а первоначальный файл остаётся лежать на диске нетронутым. По умолчанию используется чуть другая комбинация, то предпочитаю изменить по образцу других приложений.
^W - закрыть текущую вкладку
^+W - закрыть все вкладки. В окне редактора остаётся чистый файл.


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

Чтобы закрыть вкладку, достаточно щёлкнуть по ней средней кнопкой мыши.

Move to Recycle Bin - файл сразу же направляется в мусорную корзину

Если случайно закрыли нужную вкладку, то её можно сразу восстановить, нажав ^+T (Restore Recent Closed File).

Если хотите открыть один из недавних файлов, то можно щёлкнуть на нём в истории файлов.

!F4 - закрыть программу

Контекстное меню на панели вкладок

Редактор может располагать редактируемые файлы в двух рабочих областях (по-английски, View). Чтобы переместить файл в другую область, щёлкните по его вкладке правой кнопкой мыши и в открывшемся диалоговом окне выберите "Move to Other View" или "Clone to Other View". Аналогичным образом можно переместить файл в новый экземпляр программы.

Другие возможности контекстного меню, вызываемого на панели вкладок:
  • Закрытие всех вкладок кроме текущей или только справа/слева от неё.
  • Rename - переименование файла. При этом открывается окно "Save As" (что может ввести в заблуждение). В окне вводите новое имя. Файл со старым названием после этого исчезает.
  • Reload - перезагрузка файла с копии на винчестере. Тоже самое, что и File>Reload from Disk.
  • Открытие папки, в которой находится файл, в Проводнике и в cmd (Command Prompt).
  • Read-Only - временная защита файла от случайных изменений в редакторе (к примеру, от автозамены)
  • Clear Read-Only Flag - если редактируемый файл имеет флаг "Только для чтения", то его можно убрать напрямую из редактора. Но не поставить обратно.
  • Помещение в буфер обмена полного адреса файла или его части

Это меню нельзя модифицировать без глубокого залезания в код редактора.

Перемещение между вкладками

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

Ctrl+PgDn/PgUp - активировать следующую/предыдущую вкладку.
Ctrl+Shift+PgDn/PgUp- переместить активную вкладку среди других вправо/влево.

F8 (View>Focus on Another View) - переброс фокуса на другую рабочую область ('View')

Ctrl+Tab - вывод на экран контекстного меню со списком всех открытых вкладок. Преимущества: конденсируются файлы из обеих рабочих областей и показываются полные пути.
пример списка открытых файлов

Манипуляции с самим кодом. Для начала опять немного зелёного текста.

Если нужно передвинуть некоторый текст, то можно выделить его, зажать левую кнопку мышки и перенести на новое место. Если копировать, то удерживайте клавишу Ctrl. Будет ещё проще, если приобретёте программируемую мышку и настроите свободные клавиши на вырезание, копирование и вставку.

Для выделения слова дважды щёлкните по нему. Для выделения абзаца трижды. Можете выделить всё содержимое внутри скобок, дважды щёлкнув внутри них при зажатой Ctrl. В данном случае скобки выступают в роли ограничителей (delimiter), его тип можно изменить на Preferences>Delimiter.

^↔ - перемещиение влево/вправо на одно слово

^+↔ - перемещение с выделением

^[/] - перемещение на один абзац вверх/вниз. Если зажата Shift, то с выделением.

Home/End - перемещение в начало/конец текущей строки (c Shift выделение). Есть нюанс: если нажимаем одну Home, то курсор устанавливается после отступов, а если Alt+Home, то перепрыгивает в абсолютное начало строки.

Ctrl+Home/End - в начало/конец всего кода

!+↕ - задание прямоугольной зоны редактирования. Позволяет одновременно редактировать несколько соседних строк (попробуйте, чтобы понять). При использовании мышки прямоугольную зону можно задать, если предварительно зажать Alt.
См. поясняющий рисунок на оф.сайте.

Ctrl+левый_щелчок - мультиредактирование. Установка нескольких кареток, что позволяет одновременно редактировать несколько мест.
См. поясняющий рисунок на оф.сайте.
(Для использования должна быть активирована опция Preferences>Editing>Multi-Editing Settings)

^↕ - вертикальное перемещение кода внутри окна (сложные слова, но элементарная вещь, если попробуете). Курсор, остаётся на том же месте кода, пока не достигнет границы.

^Z - отменить последнее действие
^Y - повторить только что отменённое действие
^X, ^C, ^V - вырезать, копировать, вставить


Del и BackSpace - удалить
Ctrl+BackSpace/Del - удаления слова впереди/сзади
Ctrl+Shift+BackSpace/Del - удаление до начала/конца строки
^A - выделить всё

^+↕ - перемещение строки (или группы строк) вверх/вниз относительно других

Ins -  вставка символа / замена символа. Все об этой штуке знают, но подавляющее большинство на практике забывает.
Изменить режим можно и щелчком мыши на крайний правый пункт строки состояния:


Begin/End Select - задание выделения. Практического смысла в команде не вижу. Когда в первый раз щёлкаете по ней, то позиция курсора запоминается, это будет началом выделения. Когда щёлкаете второй раз, то текущее положение курсора обозначается как его конец.

Tab -  если курсор стоит в строке или выделяет часть строки, то в этом месте ставится знак табуляции (отступ). Интереснее, если курсор выделяет несколько строк - тогда нажатие на Tab приводит к их отступу вправо (технически перед строками ставится знак табуляции). Это удобная команда для изменения уровня вложенности. Shift+Tab при выделении нескольких строк совершает обратное действие, сдвигая всё содержимое влево.

Copy to Clipboard - Помещение в буфер обмена полного адреса файла или его части

Convert Case to - операции изменения регистров символов. В т.ч.
^+U (UPPERCASE) - сделать буквы прописными (заглавными)
^U (lowercase) - строчными
Горячие клавиши для прочих режимов рекомендую удалить по причине редкости нужности.

Convert Case to - группа команд работы со строками. В том числе:

^D (Duplicate Current Line) - дублировать строку

^I (Split Lines) - работает только если выключена функция Word wrap. Команда разбивает текущую длинную строку на несколько коротких, исходя из ширины окна редактора. Может пригодиться в редких случаях.

^J (Join Lines) - объединение нескольких строк в одну
Тонкости добавления новой строки.

При нажатии на Enter создаётся новая строка с отступом, равным имеющемуся в текущей.
При нажатии Shift+Enter создаётся новая строка без отступа.
Ctrl+Alt+Shift+Enter - полезное сокращение, как если бы нажали на End (курсор перемещается в конец текущей строки), а далее на Shift+Enter.

Существует несколько видов сортировки строк на тот случай, если используете файл в качестве простейшей базы данных. Изучайте скриншот.

Comment/Uncomment - работа с комментариями. Существуют 2 вида комментариев: строчные и блоковые. Здесь меня категорически не устроили горячие клавиши, предложенные разработчиками, - хаотичны и без интуитивно понятной системы. Предпочитаю переназначить.
Single Line Comment: ^Q
Single Line Uncomment: ^+Q
Block Comment: !Q
Block Uncomment: !+Q
Toggle Single Line Comment: ^!+Q - рабочие строки кода прячутся внутри комментариев, а закомментированные становятся рабочими. В том числе если располагаются вперемешку.

Auto-Completion - автозавершение. Существует несколько видов автозавершений, рекомендую запомнить два.
Ctrl+Spacebar - вывод окна с вариантами, из которых можно выбрать.
Ctrl+Enter - моментальная подстановка наиболее часто используемой команды, начинающейся с напечатанных букв.
Приведу пример. Вместо того, чтобы полностью прописывать 'getElementById' (с вероятностью опечататься в регистре), проще напечатать 'getE' и нажать Ctrl+Enter. Но если нужно 'getElementsByClassName', то после 'getE' нажимается Ctrl+Spacebar и выбирается вариант.

В пункте меню Preferences>Auto-Completion можно выбрать, будет ли меню с подсказками постоянно выскакивать под рукой или появляться только после Ctrl+Spacebar. Там же можно выбрать, будут ли автоматически выставляться парные скобки и html-теги.



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

Paste Special - особые режимы вставки. Могут быть полезны только для специфических задач, а в общем случае бессмысленны.

On Selection - некоторые операции с выделенным текстом:

• Если в тексте имеется ссылка на файл (к примеру, подключенный к HTML файл CSS или JavaScript), то можно сразу открыть его в Notepad++. Поставьте курсор внутрь и выберите команду Open File. Если эта операция требуется часто, то поместите её в контекстное меню или назначьте горячую клавишу.

• Ещё проще, если хотите открыть веб адрес, приведённый в документе. Ни в какие меню заходить не нужно, просто дважды щёлкните по ссылке.

• Open Containing Folder in Explorer - здесь дело обстоит сложнее и команда может оказаться полезной лишь для решения редких специфических задач. Прописанный в папке путь должен быть абсолютный, начиная с буквы диска. И этот путь нужно полностью выделить.

• Search on Internet - отправляет выделенную фразу в поисковую систему Google. Поисковую систему можно изменить в настройках (вкладка Search Engine). Пользы от команды не вижу.

Column Mode - выделение столбцом. Рудимент от первых версий редактора. Служит лишь для того, чтобы проинформировать пользователя, что в Notepad++ существует режим редактирования столбцом. Но переход в режим теперь осуществляется клавишами !+↕  и зажатием Alt перед щелчком мыши . Этот пункт меню сам по себе ничего не делает.

Column Editor (!C) - "генератор столбца". Позволяет вставить в столбец, пересекающий множество строк, одинаковый текст или цифровую последовательность. К примеру, дописать расширение файла или пронумеровать строки.
См. поясняющий рисунок на оф.сайте.

Character Panel - таблица ASCII символов. Позволяет вставлять в документ некоторые нестандартные вещи вроде ƒ ½ ± © €. Щёлкните по символу и он появится в документе.

Clipboard History - панель истории буфера обмена. Позволяет скопировать на отдельную панель несколько текстовых фрагментов, а потом вставлять их в нужные места. Функционал минимален.
Вместо этой панели рекомендую использовать плагин MultiClipboard, предоставляющий некоторые дополнительные возможности. К примеру, редактирование фрагментов, выборочное удаление и сохранение между сессиями.


Read-Only - временная защита файла от случайных изменений в редакторе

Clear Read-Only Flag - если редактируемый файл имеет флаг "Только для чтения", то его можно убрать напрямую из редактора. Но не поставить обратно.
Подручный поиск: выделить слово - и все, одинаковые с ним, сразу же подсветятся.  Просто и предсказуемо, в отличие от некоторых мощных IDE, пытающихся удивить пользователя своей интеллектуальностью, а в результате запутывающие. Если такое поведение в какой-то момент мешает, то отключите на Preferences>Highlighting.
Аналогичным образом подсвечиваются парные теги.

^F (Find) - поиск фрагмента текста.
После нахождения первого совпадения можно закрыть окно поиска и переходить к другим вхождениям посредством F3 (Find Next) и +F3 (Find Previous).


Альтернативный способ задать поисковое выражение - выделить образец и нажать ^F3 (Select and Find Next). При этом сразу перескочите на следующее вхождение (или на предыдущее, если ^+F3). А дальше можно использовать одиночную F3.

Поиск через комбинация ^F3 регистронезависим. От найдёт и 'function', и 'Function'. Если требуется учёт регистра, то используйте "Find (Volatile) Next". По умолчанию команду запускает клавишесочетание ^!F3, но я его удалила для расчистки интерфейса.

Find in Files - поиск по всем файлам в директории, включая наложение на поиск фильтра. А также автозамена. Можно запустить через меню, но проще вызвать окно стандартного поиска и переключить вкладку.


Replace - замена. В подавляющем большинстве программ такое действие производится по ^R. Из-за конфликтов горячих клавиш по умолчанию в программе было выставлено другое, я предпочла переопределить.


Если попросили программу найти все случаи совпадения в текущем документе или в некоторой группе документов (кнопки вида "Find All"), то будет сформировано окно результатов поиска. Между ним и основным окном редактора можно переключаться с помощь клавиши F7. Перемещение по результатам такого поиска осуществляется нажатиями F4 и +F4.


Поиск по F3 и F4 - вещи разные, сосуществующие параллельно, но порой происходит их слияние.

^!I (Incremental Search) - поиск по мере набора. Осуществляется посредством поисковой строки, выводимой под редактором. Имеет свои плюсы и минусы.

См. видео Notepad++: How to use Incremental Search (3:36, eng).

И наконец, для многостроковых поиска и замены используйте плагин ToolBucket. Чтобы разрулить конфликт горячих клавиш, предлагаю для данной функции использовать ^!+F (вещь мощная, полезная, но редко нужная). Полностью заменить стандартный поиск он не может, поскольку не поддерживает некоторые его возможности.


^G (Go to...) - перескок на строку с тем номером, который вы введёте.


^B (Go to Matching Brace) - Переход на парную скобку. Точнее, курсор окажется перед ней. Работает со всеми тремя видами скобок: традиционными круглыми ( ), фигурными { } и квадратными [ ].

^!B (Select All Between Matching Braces) - выделение содержимого скобок, включая их самих. Чтобы команда запустилась, курсор обязан касаться одной из скобок. Наиболее любопытные спросят, что будет, если курсор одновременно касается двух скобок. Ориентируйтесь на то, какая их пара окажется подсвеченной.

Mark... - команда, стоящая в одном ряду с Find/Replace и незаслуженно не имеющая горячей клавиши. Я поместила её в контекстное меню. Позволяет перманентно выделить некоторый текст, который в рамках сессии так и будет оставаться выделенным, невзирая ни на какие манипуляции с ним. Если последовательно через Mark задаётся несколько выделений, то есть опция, станут эти выделения суммироваться или при каждом запросе будет происходить очищение от результатов предыдущего. Напротив найденных вхождений возможно автоматически выставлять закладки, к которым затем возможно применить пакетное действие (Search>Bookmark)

См. видео Notepad++: How to remove all lines containing a specific string text (4:29)

Notepad++ содержит удобный, но недооценённый механизм анализа чужого кода и анализа трудных мест в своём. Можно перманентно подсвечивать различные произвольные участки с помощью 5-ю различных стилей. Горячие клавиши для их установки не выделены, предлагается использовать контекстное меню. В главном меню за это отвечает группа команд Search>Mark All / Unmark All. Перемещаться между выделениями можно с помощью клавиш ^0..5 (вверх)/^+0..5 (вниз). Цифра "0" здесь означает, что под рассмотрение подпадают все стили.
В случае очищения от стиля (команды "Clear ... Style") выделения разом снимаются со всех мест, помеченных этим стилем. Т.е. нельзя снять стиль только с одного конкретного вхождения, и даже нельзя переопределить.

Bookmark - закладки. Установка осуществляется клавишами ^F2. Обычно удобнее делать это мышкой, щёлкнув на линии между номерами строк и кодом. Переход к следующей закладке по F2, к предыдущей - Shift+F2. К помеченным закладками строкам можно применять различные действия, изучайте скриншот.
(Поле закладок можно убрать через Preferences>Editing>Display bookmark. Сами закладки при этом не пропадают и вы можете выполнять с ними прежние действия, только теперь вслепую.)

Минусом выделений (обоих видов Mark) является то, что их невозможно сохранить между открытиями редактора никакими стандартными способами. Закладки (Bookmark) сохранить можно, но только через целенаправленное создание файла сессии (File>Save Session...).

Always on Top - перевод редактора в режим "поверх всех окон"
(полезная штука, но я рекомендую научиться делать это с помощью внешней программы или скрипта, чтобы можно было применять не только к данному редактору, но и к любой другой программе.)

F11 (Toggle Full Screen Mode) - полноэкранный режим. При этом сворачивается панель задач Windows, а в редакторе прячутся заголовок окна, меню и панель инструментов.

F12 (Post-It) - текст во всё окно. Убираются все вспомогательные элементы, даже панель закладок. Остаётся только Его Величество Код. Размеры самого окна остаются прежними, так что для получения максимума места под код сочетайте F11 и F12.

Show Symbol - подменю работы с пробелами, знаками табуляции и конца строки.


^+/- (на цифровом блоке) (Zoom In/Out) - шрифт крупнее/мельче. Альтернативный способ - колесо мышки при нажатой Ctrl.
^/ (на цифровом блоке) (Restore Default Zoom) - восстановить размер текста в первоначальное значение


!H (Hide Lines) - спрятать выделенные строки

!0 (Fold All) - свернуть все уровни вложенности кода. В результате в редакторе будут отображаться только заголовки функций и глобальные переменные, все подробности спрячутся.
!+0 (Unfold All) - развернуть все уровни вложенности

Можно сворачивать/разворачивать код до определённого уровня, нажимая !1..9 . Хитроватый полезный приёмчик: если свернуть 1-ый и 2-ой уровни (!1, !2, в любой последовательности), а затем развернуть второй (!+2), то раскроются только большие функции. А все мелкие и комментарии по-прежнему будут сжаты до состояния одной строчки.

Есть возможность свернуть только текущий блок. По умолчанию это делается мудрёной легкозабываемой комбинацией. Рекомендую переназначить на !9.

Summary - статические данные по файлу: когда был создан, сколько символов, сколько слов. Практической пользы нет.

Project - "проекты", удобны в случае, если в папке находится множество файлов, а редактировать нужно лишь несколько из них. Или когда редактируемые файлы разбросаны по разным папкам. Работа с панелью проектов в Notepad++ сделана примитивно, но достаточно составить структуру один раз, а далее пожинать выгоду. Для открытия проектов рекомендую назначить горячие клавиши, у меня исторически сложилось ^+F4..F6.

Folder as Workspace - позволяет держать под рукой содержимое папок. Если перетащите на редактор одиночные файлы, но Notepad++ их откроет. А если папку, то её содержимое раскроется в описываемом окне.
См.  виде0 Notepad++ 6.9 Most Wanted ‘Folder as Workspace’ Feature .

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

Function List - хорошая штука, но работает лишь с некоторыми видами файлов (к примеру, xml). При кодировании на HTML, CSS и JavaScript бесполезна.
См. разъяснение на оф.сайте.

"Synchronize Vertical Scrolling" - синхронизация вертикального скроллинга между рабочими областями (View)

Text Direction RTL / LTR - определяют направление текста. Для нужд кодирования бесполезны.

"Monitoring (tail -f)" предназначен для отслеживания в реальном времени изменений, производимых в файле другими программами. Обычно это используется для просмотра логов. Сам Notepad++ в этом режиме файл модифицировать не может, только следит. Подробнее на notepad-plus-plus.org . Аналогичную вещь производит плагин Document Monitor.
Mеню позволяет решать проблемы, связанные с кодировкой документа.
Запоминание действий пользователя и их воспроизведение.

^+R (Toggle macro record) - начало и конец записи макроса. Разработчики почему-то спрятали это удобное клавишесочетание.

^+P (Playback) - Однократное проигрывание макроса.

Run a Macro Multiple Times - многократное проигрывание.

Можно создавать и держать под рукой множество макросов. Но нельзя их модифицировать.

Notepad++ поставляется с одним полезным макросом от разработчиков - "Trim Trailing Space and Save" (!+S).

Команды меню Run позволяют позволяют запускать внешние программы с различными параметрами.


Вариантов использования множество, однако практическую пользу вижу только от запуска текущего файла в других приложениях. К примеру, можно запустить html-файл в браузере или перебросить в другой редактор. Команды этого меню можно изменять. Можно напрямую из программы, но лично мне более понятно прямое редактирование файла shortcuts.xml, расположенного в главной папке программы (это может быть C:\Users\ваше_имя\AppData\Roaming\Notepad++). При таких вещах всегда сохраняйте копию оригинала. Вряд ли вам понадобятся команды запуска файла в Safari (Apple выпускает новые версии Safari только для своих macOS и iOS), поиск выделенного слова в Википедии, отправление файла через Outlook. Я дописала запуск нового пустого экземпляра Notepad++ и открытие файла в AkelPad, который обычно использую для временного хранения текущих заметок. Делается такое кодом

<Command name="Open in Akelpad" Ctrl="no" Alt="no" Shift="no" Key="0">
  akelpad &quot;$(FULL_CURRENT_PATH)&quot;
</Command>
<Command name="Another Notepad++ instance" Ctrl="no" Alt="no" Shift="no" Key="0">
   notepad++ -nosession -multiInst
</Command> 
 
О том, как настроить запуск php-файла напрямую в браузере, читайте в нашей другой статье.
Некоторые рекомендации по настройке Notepad++.

Вы можете модифицировать контекстное меню (появляющееся в редакторе при щелчке правой кнопкой мыши). Используйте пункт Edit Popup ContextMenu. Инструкции закомментированы внутри файла.
пример модифицированного контекстного меню

Для доступа к меню глобальных настроек рекомендую установить горячую клавишу, поскольку лазать туда приходится часто. Предпочитаю ^P.

Далее рассмотрены вкладки окна Preferences.

General (Общие):

Панель вкладок (корешки с названиями файлов) можно разместить сбоку от окон редактирования. Tab Bar>Vertical. Выигрываем по высоте, проигрываем по ширине - что для вас важнее?


Editing (Правка):

Непременно включите Multi-Editing Settings. Это позволяет по нажатию Ctrl+щелчок_мыши установить несколько кареток для редактирования файла сразу в нескольких местах.

Если хотите, чтобы ширина кода не превышала некоторой длины (к примеру, 80 символов), то установите декоративную линию на этом расстоянии: Vertical Edge Settings.

Language (Синтаксисы):

Если используете всего несколько языков программирования, то запрячьте все ненужные и отключите опцию Make language menu compact. Это сделает пункт Language главного меню более компактным и удобным:

 Также рекомендую установить опцию Replace by space - тогда ваши отступы будут выглядеть одинаковыми во всех программах.

Highlighting (Подсветка):

Чтобы подсветка искала совпадения не только в текущем окне редактора, но и в смежном с ним, задействуйте опцию Highlight another view.

Backup (Резервное Копирование):

Установите резервное копирование файлов при сохранении. Иногда бывают случаи, когда сохраняется что-то не то и хочется сделать откат до старой версии. Если не установите Custom Backup Directory, то резервная копия будет размещаться там же, где и основной файл, а это замусорит рабочие директории. Simple backup или Verbose backup - на ваш выбор. В первом случае каждый новый бекап будет затирать предыдущий. Во втором случае все бекапы будут сохраняться, в конец файлов будет дописываться дата.
Смотрите видео Notepad++ Version Control Tips & Tricks (3:45).

Auto-Completion (Автозавершение):

Группа опций Auto-Completion регулирует, будет ли контекстное меню автоподстановки появляться автоматически или только по нажатию Ctrl+Space. Поскольку я печатаю быстро, то лично мне удобнее самой набрать слово, чем анализировать выскочившую подсказку.

В группе Auto-Insert рекомендую задействовать авто-вставку закрывающих тегов html. Остальное на ваш вкус.

Темы оформления

Несколько заметок. Изменить стиль оформления Notepad++ можно через Settings>Style Configurator. В том числе править существующие стили. Ограничение стилей: они модифицируют только внутреннюю рабочую область  редактора, где набирается код. Меню, ползунки и некоторые вспомогательные панели по-прежнему зависят от общего стиля Windows. Плагины добавляют свою расцветку элементов. При использовании чёрных тем это превращается в большую проблему. Дизайнеры тем часто ориентируются только на главное окно редактора и свои любимые языки программирования, в результате этого получаются ляпы в других местах. Создать качественную тему сложно - профессиональных, ответственных и скрупулёзных дизайнеров нужно ценить на вес золота.

Если хотите, чтобы Notepad++ выглядел как Sublime Text, то используйте тему оформления Monokai и выставьте шрифт Style>Default Style>Font Name на Consolas (по умолчанию шрифт не прописан). Информация взята с youtube и с zag4me.wordpress.com. Для лучшей контрастности выделений порекомендую дополнительно изменить Selected text colour на rgb(30,87,87) и Current line background color на rgb(57,56,45). Хотя лично мне эта тема всё равно не нравится вследствие плохой заметности выделений и непродуманности суммирующего окна поиска.

Существует хорошая тема от Clever Techie, ссылка под его видео. Однако там слишком крупный шрифт, с моей точки зрения. У себя уменьшила. Ещё одна проблема - неравномерность фона: в некоторых местах тот ярко-чёрный, в других сероватый. Нужно подправить в ту или иную сторону.

У темы Deep Black наблюдается противоположная проблема со шрифтом, рекомендую его увеличить.

Тема "Hello Kitty" ужасна! Мне нравится розовый цвет, но нельзя задавать его в качестве фонового цвета в окне редактора! Тем более, настолько криво!

Лично я по различным причинам забраковала для себя темы Bespin, Black board, Choco, Hello Kitty, Monokai, MossyLawn, Solarized-light, Solarized, Twilight, Vibrant Ink, vim Dark Blue, Zenburn, HotFudgeSundae. Остальные лучше. Однако после многих экспериментов предпочитаю по-прежнему пользоваться дефолтной темой, поскольку работа всех плагинов и компонентов заточена под неё и  вследствие этого нет неприятных "сюрпризов".

Explorer

Имеет два рабочих окна: Проводник и Избранное.
Проводник (^!+E) подобен Проводнику Windows. Позволяет уменьшить количество открытых окон снаружи редактора. Имеет фильтр, позволяющий отбирать нужные файлы.
Избранное (^!+V) позволяет держать под рукой отдельные папки, файлы, интернет-адреса и сессии редактора.



MultiClipboard

Оперирует содержимым буфера обмена. Обогащённый аналог встроенной Clipboard History. Позволяет производить с содержимым буфера некоторые действия. К примеру, редактировать фрагменты, сохранять их между сессиями, удалять мешающиеся.



Compare

Сравнение файлов. В том числе сравнение нынешнего состояния файла с его версией на диске. Или с содержимым репозиториев SVN и Git.


Customize Toolbar

Настройка панели инструментов. В том числе возможно создавать свои собственные кнопки. Добавляет в меню View пункты Hide Line Number Margin, Hide Bookmark Margin, Hide Folder Margin.
пример пользовательской панели инструменто

Snippet

Шаблоны кода для HTML, CSS, JavaScript, SQL и PHP. Возможно создание своих собственных. После установки рекомендую отключить автосоздание плагином новых вкладок. Минус: база данных на несколько лет устарела. К примеру, нет последних тегов HTML5. Ссылки: сайт разработчика, документация. Блок разработчика уже заброшен и не содержит последнюю версию плагина. Качайте через Plugin Manager.



ToolBucket

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


Сайт разработчика - редкий случай, когда можно указать первоисточник последней версии.

Для общего представления:
• Меню Lorem Ipsum создаёт только один абзац "рыбьего текста", всегда один и тот же.

• Меню Change indentation settings выводит окно, позволяющее раздельно задать размер табуляции для общего случая и для случая, когда отступ производится от начала строки. Но с его помощью нельзя динамически менять пробелы на табуляцию и обратно.



Обучающие видео по работе с Notepad++ (eng)

How to use NotePad++ (14:00, 2014, AvacWeb Tutorials)
Notepad++ Essential Plugins and Features (19:19, 2013, Earl McGowen) - половина ролика посвящена обучению Notepad++ новому языку программирования
Notepad++ Discover The Best Features and Plugins (33:02, 2015, Clever Techie) - в том числе разобран вопрос, как запускать редактируемый PHP-файл. Повторюсь, что подробнее об этом действии можно прочитать здесь.

Плейлист Amine Nina, содержащий массу полезных роликов. В т.ч.
 - Notepad++ tips and tricks (8:06, 2014)
 - Notepad++: Multi-editing and Selection Tutorial (5:40, 2015) - одновременное редактирование файла в нескольких местах
 - Notepad++: Bookmarks Tutorial (7:18, 2015) - работа с закладками и сохранение сессии
 - Notepad++: Version Control Tips & Tricks (3:45, 2016) - бекап файлов
 - Notepad++ 6.9: Most Wanted ‘Folder as Workspace’ Feature (3:36, 2016) - окно "Folder as Workspace"
 - Notepad++: How to use Incremental Search (3:36, 2016) - поиск через Incremental Search
 - Notepad++: How To Insert Incrementing Numbers (2:09, 2016) - редактирование столбца посредством Column Editor

 - Notepad++: Find In Files Tutorial (4:14, 2015) - регулярные выражения, поиск среди файлов
 - Notepad++: How to remove all lines containing a specific string text (4:29, 2015) - регулярные выражения и окно Mark
 - How To Remove Duplicate Lines with Notepad++ (3:26, 2015) - регулярные выражения и плагин TextFX Characters
 - Notepad++: How To Add Text at Start and End of Each Line (3:36, 2016) - регулярные выражения
 - Notepad++: How to Remove all XML or HTML tags (2:51, 2016) - регулярные выражения

 - Useful Notepad++ Plugins Tutorial (9:36, 2015) - плагины Explorer, Auto Save, Multi-Clipboard, Compare
 - Notepad++: How to encrypt selected text and entire text using NppCrypt (3:38, 2015) - плагин NppCrypt
 - Notepad++: SQL(Structured Query Language) Plugin tutorial (6:00, 2016) - плагин SQL
 - Notepad++: Monitor Log or Text File Changes in Real Time (4:23, 2016) - плагин Document Monitor
 - Notepad++: How to Remotely work on the Same File in Real Time (5:46, 2016) - плагин NppNetNote
 - Notepad++ as an FTP Client (4:55, 2016) - плагин NppFTP

Плейлист по использование Notepad++ для написания кода на С++. В том числе
  C++ Tutorial-1-Setting up a compiler and writing a basic program (10:49, 2012, Parsia Hedayat)
  C++: Tutorial 2 Hello C++ World! Using Notepad++ and Command Line (15:26, 2012, Ebonygeek45)
  How to Compile/Execute C/C++ code in Notepad++ with MinGW (7:39, 2016, Amine Nina)
  How to Compile C++ Code in Notepad++ (Windows) (18:20, 2016, littleblackbelt)

How to Install Notepad++ in Ubuntu Linux (8:12, 2013, ProgrammingKnowledge)

(Совет: не смотрите по Notepad++ обучающие ролики старше 2012 года.)


И в конце статьи выложу свою полностью настроенную портативную версию Notepad++, с которой были сделаны все скриншоты (v7.5.1 от сентября 2017). Портативная версия не позволяет открывать файлы из контекстного меню Проводника и вызывать себя из командной строки, для полноценной работы установите стационарную.

Комментариев нет:

Отправить комментарий