Путеводитель по редакторам исходного кода

Известно, что IDE (англ. «Integrated Development Environment» — интегрированная среда разработки) предоставляет программисту наиболее полный инструментарий для работы с кодом. Примеры таких сред — NetBeans, Microsoft Visual Studio, Eclipse. Проблема выбора между IDE и редакторами исходного кода активно обсуждается в интернете прежде всего новичками в программировании. Многие сходятся во мнении, что для работы с языками HTML, JS (включая фреймворк jQuery) IDE-среда не нужна. Также при работе с небольшими проектами разработчики отдают предпочтение легким редакторам исходного кода. О них далее и пойдет речь.

Sublime Text

Sublime Text 2
Sublime Text 2

Домашняя страница: http://www.sublimetext.com/

Sublime Text — мультиплатформенный редактор (Linux, Mac OS, Windows). Цена лицензии — $70, но бесплатная версия работает без ограничений.

Из первичных возможностей нужно отметить базовую поддержку нескольких десятков языков программирования и разметки: HTML, CSS, Ruby, PHP, SQL, Javascript, C и других. Для поддерживаемых форматов предусмотрена подсветка синтаксиса и автодополнение.

Для более тесной интеграции Sublime Text с языком (например, с jQuery, Ruby, C) можно установить расширения. Среди наиболее полезных: SideBarEnhancements, Emmet, SublimeGDB, SFTP. Расширения инсталлируется в Sublime Text через командную палитру с помощью модуля Package Control.

Одна из наиболее интересных функций Sublime Text — мультивыделение, что позволяет редактировать несколько участков кода одновременно. Для этого достаточно нажать Ctrl и установить курсор на тех участках, где нужно ввести данные, или Alt + F3. Для редактирования нескольких строк можно нажать Ctrl+Shift+L и передвинуть курсор в нужное место.

В ST широкие поисковые возможности. Помимо поиска по файлу, можно быстро перемещаться по всему проекту, например:

  • Ctrl + R — переход к символу (@)
  • Ctrl + G — переход к строке (:)
  • Ctrl + P — переход к файлу

Для того чтобы сосредоточиться на написании кода, можно перейти в режим Distraction Free Mode (Shift + F11). При этом останется доступной карта файла, также будет возможно переключаться между вкладками (Alt + цифра) или поменять режим отображения.

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

Из других особенностей интерфейса — боковая панель, которая ускоряет доступ к файлам и проектам. Удобны сессии вкладок: можно закрыть Sublime Text, и при следующем запуске редактора вкладок будут в состоянии, сохраненном при закрытии.

Пожалуй, у Sublime Text два заметных неудобства: невозможность локализации и отсутствие графического окна с настройками. Обе проблемы, впрочем, мало обременят программиста. Посредством редактирования текстовых файлов конфигурации настройке поддается абсолютно все (см. раздел «Preferences» в меню). Можно сменить тему оформления, цветовую схему, настроить расширения, горячие клавиши и т. д.

Intype

Intype
Intype

Домашняя страница: http://inotai.com/intype/

Intype — текстовый редактор, который, на первый взгляд, ничем интересным не отличается. Однако неплохая базовая функциональность в связке с легким и аккуратным интерфейсом найдет своих сторонников.

Поддерживаемых языков немного, около 20. Для работы с ними предусмотрены сборки (bundles), предполагающие подсветку кода, сниппеты, а также проверку правописания. Есть специальный редактор, в котором легко посмотреть имеющиеся сниппеты, изменить их или соответствующие им триггеры (сокращенные фразы).

Как и в Sublime Text, есть мультивыделение и режим «умного» выделения в колонках. Увы, команд редактирования самый минимум, и вместо указанных функций было бы рациональней добавить хотя бы возможность закомментировать строку.

Из особенностей интерфейса: Intype, помимо вкладок и сессий, также предоставляет боковую панель, куда можно перенести любые файлы и папки для дальнейшего использования, например, в проекте. Имеется режим Distraction Free (F11), при его активации отображается лишь поле редактирования и линейка. Тем самым, от написания кода на экране ничего не отвлекает.

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

Из других минусов: нет поддержки расширений, очень мало настроек. Как работает автодополнение — непонятно, а где искать документацию — тоже вопрос. Не очень привлекательной выглядит цена в 42 евро, которую пользователь платит, скорее, за минимализм. Ведь если сравнивать с Sublime Text, разрыв по функциональности огромный.

PSPad

PSPad
PSPad

Домашняя страница: http://www.pspad.com/ru/

В отличие от минималистичных по интерфейсу редакторов Intype или Programmer’s Notepad (см. ниже), иконка в меню есть практически для каждой команды, что при работе с графической оболочкой — дополнительный плюс. Можно возразить, что предпочтительней использовать горячие клавиши, но и такие моменты важны.

Боковая панель PSPad — наиболее функциональная среди рассматриваемых редакторов. С ее помощью можно не только управлять проектами, но и настроить синхронизацию. Также в панели доступны элементы избранного, менеджер файлов и даже FTP-менеджер.

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

PSPad будет интересен HTML(XML)-верстальщикам, поскольку в данный редактор встроен CSS-редактор TopStyle Lite и известная библиотека Tidy, которая позволяет оптимизировать код. Также доступна валидация и другие инструменты для верстки.

Тем не менее, форматирование HTML — не главный профиль PSPad. Так, из дополнительных инструментов можно обнаружить HEX-режим, хеш-генератор, генератор текста, сравнение текстовых файлов и множество других модулей. Очень востребованная возможность — проводник кода, который выводит список переменных, классов, функций и т. п. в виде дерева (Shift+Ctrl+E). Поиск доступен не только внутри файла, но и внутри определенной папки.

Доступно несколько десятков расширений в форматах .VBS и .JS.

Из замеченных недостатков: PSPad редко обновляется — но, тем не менее, актуальные обновления можно загрузить с форума.

Notepad++

Notepad++
Notepad++

Notepad++ обладает классическим набором возможностей для работы с кодом: автодополнение функций, параметров и слов, подсветка. Сюда же входят операции со строками, в том числе комментирование, преобразование текста. Характерная особенность Notepad++ — возможность применения токенов (шаблонов) стилей кода. Помимо стандартной нумерации строк, предполагается сворачивание кода (фолдинг), доступное не в каждом редакторе.

Notepad++ основан на базе редакторского компонента Scintilla, однако ожидать разительного сходства не следует. С точки зрения удобства, Notepad++ многим пользователям покажется наиболее привычным и понятным редактором. Это уже ставшие стандартом де факто вкладки, сохранение сессий, а также возможность смены режима интерфейса, поддержка огромного количества кодировок, поиск с использованием регулярных выражений, запись и воспроизведение макросов.

К Notepad++ написано немало плагинов (в состав дистрибутива некоторые из них уже включены). При желании, можно найти аналогичные Sublime Text дополнения (Zen Coding — Emmet, NppFTP — SFTP, и т. д.). Хотя если сравнивать Sublime Text и Notepad++, решающая разница между ними — все же не по функциональности, а по удобству. Notepad++ удобней осваивать, не вдаваясь в подробности документации и редактирование текстовых файлов конфигурации. Также не нужно забывать, что Notepad++ был и остается бесплатной программой.

SciTE

SciTE
SciTE

Домашняя страница: http://www.scintilla.org/SciTE.html (официальная версия), http://code.google.com/p/scite-ru (модификация)

Кроссплатформенный редактор также берет свое начало из компонента редактирования Scintilla. Это предполагает подсветку синтаксиса и автодополнение функций и переменных для наиболее популярных языков программирования. Также возможно сворачивание кода, подсветка парных скобок, автоматические отступы.

Все настройки, в том числе и параметры шрифтов, осуществляются с помощью текстовых файлов конфигурации 4 видов: глобальные настройки, пользовательские, настройки каталога и локальные файлы настройки. Поэтому при работе с редактором SciTE никак не обойтись без предварительного изучения документации.

Есть возможность интегрировать SciTE с компиляторами, поддерживается консоль для вывода результатов. Консоль удобно использовать для отладки кода, просмотра ошибок (Python, GCC, Visual C++, Borland C++ и т. п.). Есть поддержка расширений.

Интерфейс позволяет работать с вкладками и сессиями. Так или иначе, удобство графического интерфейса вызывает сомнения: сложно управлять обширным списком команд в меню. Поэтому, как вариант, можно посоветовать модификацию SciTE. Ее особенности — не только более дружелюбный интерфейс, но и поддержка русского языка, переведенная документация, расширенные возможности, дополнительные скрипты и утилиты.

Programmer’s Notepad

Programmer’s Notepad
Programmer’s Notepad

Домашняя страница: http://www.pnotepad.org/

На раннем этапе развития Programmer’s Notepad взял за основу компонент Scintilla, поэтому в нем присутствуют сворачивание кода, цветовые схемы и прочие функции, упомянутые при описании SciTE.

Интерфейс удобный, за некоторыми оговорками. Во-первых, вместо не так часто используемых кнопок (копировать/вставить/вырезать) логичней было бы предусмотреть более «программистский» набор. Панель инструментов приходится перенастраивать. Вторая оговорка — отсутствие удобной боковой панели, при активации нескольких окон (Вид → Окна) рабочее окно отвлекает от работы ввиду своей громоздкости. Из положительных моментов — в настройках можно разделить окно по горизонтали или вертикали.

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

Доступны расширения, однако их считанное количество, в этом же разделе можно скачать схемы для поддержки дополнительных языков. Несложно заметить, что они давно не обновляются, да и последняя версия Notepad вышла в 2011 году.

EditPlus

EditPlus
EditPlus

Домашняя страница: http://www.editplus.com/

Редактор платный, цена лицензии — $35.

EditPlus изначально поддерживает форматы HTML, CSS, PHP, ASP, Perl, C/C++, Java, JavaScript и VBScript, но можно расширить список. Файлы STX отвечают за синтаксис, ACP — автодополнение, CTL — сниппеты (доступны через Cliptext Window, Alt + Shift + 1).

В EditPlus изначально есть функции, которые в других редакторах доступны виде модулей: например, поддержка SVN (Subversion — контроль версий) и FTP-менеджер (нет надобности синхронизировать файлы проекта вручную). К сожалению, в данном менеджере нет никакого намека на протокол SFTP.

Также в редакторе можно обнаружить рабочий модуль ZenCoding. С его помощью легко задать структуру HTML-документа без копирования/вставки тегов, составив запрос буквально из одной короткой строки. Помимо того, для работы с HTML в EditPlus предусмотрена отдельная панель инструментов, встроенный браузер. Заметно, что под этот язык разметки EditPlus адаптирован в большей степени, чем под другие форматы. Хотя у него есть и другие инструменты, вроде HEX-редактора, но их не так много.

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

Сводная таблица

ПрограммаЛицензияПоддержка расширенийЛокализация (официальная)Поддержка платформ
Sublime TextProprietary software, 70 долларов+Windows, Mac OS, Linux
IntypeShareware, 42 евроWindows
PSPadFreeware++Windows
Notepad++Freeware++Windows
SciTEFreeware+Windows, Linux
Programmer’s NotepadFreeware++Windows
EditPlusProprietary EULA, 35 долларовWindows

Резюме

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

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

Отличительная черта PSPad — наличие удобных инструментов для различных языков. Это делает его наиболее универсальным редактором, который по функциональности может на равных соперничать с Sublime Text.

Notepad++ — редактор исходного кода с удобным интерфейсом, с богатым инструментарием по редактированию кода и широкой поддержкой плагинов.

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

Programmer’s Notepad — редактор с базовой функциональностью, гибкий в настройке. Не обновляется с 2011 года.

EditPlus содержит базовые функции редактора исходного кода, а также FTP и SVN «из коробки». Будет оптимален HTML-верстальщикам.

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

4 апреля 2013 Г.

, IDE (. «Integrated Development Environment» — ) . — NetBeans, Microsoft Visual Studio, Eclipse. IDE . , HTML, JS ( jQuery) IDE- . . .

Sublime Text

Sublime Text 2
Sublime Text 2

: http://www.sublimetext.com/

Sublime Text — (Linux, Mac OS, Windows). — $70, .

: HTML, CSS, Ruby, PHP, SQL, Javascript, C . .

Sublime Text (, jQuery, Ruby, C) . : SideBarEnhancements, Emmet, SublimeGDB, SFTP. Sublime Text Package Control.

Sublime Text — , . Ctrl , , Alt + F3. Ctrl+Shift+L .

ST . , , :

  • Ctrl + R — (@)
  • Ctrl + G — (:)
  • Ctrl + P —

, Distraction Free Mode (Shift + F11). , (Alt + ) .

Sublime Text, . — , . .

— , . : Sublime Text, , .

, Sublime Text : . , , . (. «Preferences» ). , , , . .

Intype

Intype
Intype

: http://inotai.com/intype/

Intype — , , , . .

, 20. (bundles), , , . , , ( ).

Sublime Text, «» . , , .

: Intype, , , , , . Distraction Free (F11), . , .

, , .

: , . — , — . 42 , , , . Sublime Text, .

PSPad

PSPad
PSPad

: http://www.pspad.com/ru/

Intype Programmer’s Notepad (. ), , — . , , .

PSPad — . , . , FTP-.

— , ( ). , — , , : .

PSPad HTML(XML)-, CSS- TopStyle Lite Tidy, . .

, HTML — PSPad. , HEX-, -, , . — , , , . . (Shift+Ctrl+E). , .

.VBS .JS.

: PSPad — , , .

Notepad++

Notepad++
Notepad++

Notepad++ : , , . , , . Notepad++ — () . , (), .

Notepad++ Scintilla, . , Notepad++ . , , , , , .

Notepad++ ( ). , Sublime Text (Zen Coding — Emmet, NppFTP — SFTP, . .). Sublime Text Notepad++, — , . Notepad++ , . , Notepad++ .

SciTE

SciTE
SciTE

: http://www.scintilla.org/SciTE.html ( ), http://code.google.com/p/scite-ru ()

Scintilla. . , , .

, , 4 : , , . SciTE .

SciTE , . , (Python, GCC, Visual C++, Borland C++ . .). .

. , : . , , SciTE. — , , , , .

Programmer’s Notepad

Programmer’s Notepad
Programmer’s Notepad

: http://www.pnotepad.org/

Programmer’s Notepad Scintilla, , , SciTE.

, . -, (//) «» . . — , ( → ) . — .

: , , , , . . Notepad . . — : , .

, , . , , Notepad 2011 .

EditPlus

EditPlus
EditPlus

: http://www.editplus.com/

, — $35.

EditPlus HTML, CSS, PHP, ASP, Perl, C/C++, Java, JavaScript VBScript, . STX , ACP — , CTL — ( Cliptext Window, Alt + Shift + 1).

EditPlus , : , SVN (Subversion — ) FTP- ( ). , SFTP.

ZenCoding. HTML- / , . , HTML EditPlus , . , EditPlus , . , HEX-, .

EditPlus , ( ). : , .

()
Sublime TextProprietary software, 70 +Windows, Mac OS, Linux
IntypeShareware, 42 Windows
PSPadFreeware++Windows
Notepad++Freeware++Windows
SciTEFreeware+Windows, Linux
Programmer’s NotepadFreeware++Windows
EditPlusProprietary EULA, 35 Windows

Sublime Text IDE. , , .

Intype , — , . .

PSPad — . , Sublime Text.

Notepad++ — , .

SciTE — , . , .

Programmer’s Notepad — , . 2011 .

EditPlus , FTP SVN « ». HTML-.

, IDE. , IDE , .