- PVSM.RU - https://www.pvsm.ru -
В этом посте я хотел бы обозначить основные «приятности» SynWrite [1] — свободного текстового редактора для программистов (и верстальщиков) под Windows. Будут показаны далеко не все фичи, а только часть.
Редактор появился относительно недавно, так что многие про него не знают.
Эта фича уже есть в бета-версии, а в релиз-версии она появится на следующей неделе. Можно устанавливать много кареток сразу: или отдельные каретки Ctrl+кликом, или каретки «в ряд» кликом и потом Ctrl+Shift+кликом по другой строке. Многих выделений нет, пока что. Вот анимированная картинка:
Панель дерева показывает доступные функции/процедуры/классы исходного кода, причем, для большинства языков, в виде дерева, а не одно-уровневым списком. Весь поиск построен на regex, и можно полностью настроить поиск элементов дерева для всех языков. Данная фича — основная выделяющаяся в редакторе, полного аналога в других редакторах нет, только в некоторых IDE и только для «основных» языков (вроде C/C++/PHP/Java/JS). Здесь же дерево 100%-настраиваемое.
Скажу только, что подсветки в SynWrite 100%-настраиваемые через визуальный редактор. Нет зашитого кода подсветок, как в Notepad++, нет ограниченного набора конструкций, которые можно как-то подсветить.
Менеджер проектов есть во всех уважающих себя редакторах. Здесь он сделан с посмотром в сторону редактора HippoEdit — по-моему, именно в Hippo самая понятная реализация проектов. Я (являюсь автором редактора) смотрел также как сделано в Notepad++ или Sublime Text, не впечатлило. Разве что, в N++ можно открывать 3 проекта сразу, здесь этого пока нет.
Есть и поиск по проекту:
Это сильная сторона редактора. Вся возможность встроена в программу, и все выполнено диалоговыми окнами.
Если сравнить с Notepad++ — гораздо удобнее, не надо плагина NppExec, не надо ручного ввода каких-то макросов. Если сравнить с Sublime Text, тоже удобнее — не надо чтения документации по текстовым конфигам и ручного набивания этих конфигов.
Настройки инструментов снова подсмотрены у HippoEdit — там довольно удобно.
Есть возможность настроить парсинг вывода внешних компиляторов (или любых консольных инструментов), после чего можно переходить по ошибкам в исходный код.
Можно вызывать файлы справки CHM по ключевому слову в тексте, т.е. например нажатием F1 на слове в PHP-тексте можно открыть PHP-справку по этому слову.
Авто-завершение пока работает только для известного набора имен (в HTML, CSS) или имен функций (для других языков). Умного авто-завершения с анализом исходника пока нет, но, возможно, в будущем будут плагины для некоторых языков. Для plain text есть завершение по текущим набитым в файле словам.
Есть опция авто-закрытия открытых тегов HTML/XML и скобок.
Шаблонами кода являются сниппеты, привязанные к некоторой подсветке (т.е. лексеру). Шаблоны можно вызывать по спец-клавише или по Таб. Есть фича «Клипы» — это шаблоны, не привязанные к лексеру, например это наборы «спец-символы HTML», «греческий алфавит» и т.д. Через шаблоны можно вставлять и date/time stamp в нужном формате.
Это фича, подсмотренная в редакторе Intype. Можно ввести имя тега, нажать Таб, и имя будет расширено в полную форму тега. После этого можно «прыгать» через параметры раскрытого тега по Таб. Очень удобная при написании HTML фича, экономит много времени. Вот ее анимированная картинка:
Фича, подсмотренная в IDE Delphi. Можно выделить блок и править одновременно все одинаковые имена в этом блоке. Вот анимированная картинка:
Про Emmet (Zen coding) на Хабр говорилось много. Тут есть минус — не поддерживаются всякие спец-действия Emmet-а, такие как «balance tag», «increment value». Это из-за того, что нет полного JScript API к редактору, поэтому сделана только базовая команда «расширить аббревиатуру».
В коде HTML или CSS можно подводить мышь в кодам вида #rrggbb и видеть цветовую подсказку. Можно вызывать встроенный color picker для вставки новых кодов. Цвета, выбранные через color picker, добавляются в отдельное верхнее меню для быстрого доступа.
Картинки, файловые пути к которым заданы в HTML, можно предпросматривать в маленьком окне подсказки.
Можно также вставлять полную форму тега IMG для графических файлов, для этого есть отдельная команда «Вставить тег картинки».
Проверка орфографии основана на движке Addict Spell и работает для многих языков. Фича — синтаксис-зависимая проверка в исходниках. При включенной подсветке неверных слов будут подсвечены только слова в синтаксических строках и комментариях (но не в идентификаторах).
Можно помещать в текст спец-комментарии вида /*TODO: nnnnnnn*/, которые будут искаться окном «Перейти к закладке». Таким образом, закладки можно делать в любом исходнике и они не потеряются при переносе файлов.
Фича была предложена пользователем RJ TextEd, встречается в редакторах очень нечасто.
Мини-карта — это уменьшенный вид редактора справа от самого редактора. Сделана с посмотром на Sublime Text. Лично я не считаю эту фичу полезной, разглядеть что-то на карте сложно, но другим может нравиться.
А микро-карта уже полезнее — это раскрашенный узкий столбец справа от редактора. По нему можно видеть все последние правки, или подсвеченные проверкой орфографии слова. Вот примерный вид:
Про возможности поиска я писать особенно не буду, понятно, что и рег. выражения поддерживаются, и массовый поиск/замена по файлам есть, и поиск по открытым файлам есть. Есть много опций при поиске, приведу картинку диалога:
Есть еще много возможностей — плагины, темы интерфейса, итд, но описывать сразу все мне не хотелось бы, это просто вводный обзор.
Что касается плагинов, то выбор небольшой пока — Проводник, FTP/SFTP. Нет такого большого набора, как в Notepad++. В общем-то, именно большой набор плагинов в N++ это и есть главное преимущество этого редактора. Возможно, нужные плагины из N++ будут делаться и для SynWrite в будущем. То же можно сказать и про Sublime Text — там действительно много хороших плагинов.
Автор: Alex222
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/32052
Ссылки в тексте:
[1] SynWrite: http://www.uvviewsoft.com/synwrite/
[2] Источник: http://habrahabr.ru/post/176553/
Нажмите здесь для печати.