что такое редактор кода
Редактор кода
Содержание
Типы текстовых редакторов
Условно выделяют два типа редакторов.
Первый тип ориентирован на работу с последовательностью символов в текстовых файлах. Такие редакторы обеспечивают расширенную функциональность — подсветку синтаксиса, сортировку строк, шаблоны, конвертацию кодировок, показ кодов символов и т. п. Иногда их называют редакторы кода, так как основное их предназначение — написание исходных кодов компьютерных программ.
Второй тип текстовых редакторов имеет расширенные функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания различного рода документов, от личных писем до официальных бумаг. Классический пример — Microsoft Word.
Также выделяют более общий класс программ — текстовые рабочие среды. По сути, такие среды представляют собой полноценную рабочую среду, в которой можно решать самые разнообразные задачи: с помощью надстроек они позволяют писать и читать письма, веб-каналы, работать в вики и Вебе, вести дневник, управлять списками адресов и задач. Представители этого класса — Vim и Plan 9. Такие программы могут служить средами разработки программного обеспечения. В любом случае, последние всегда содержат текстовый редактор как необходимый инструмент программирования.
Путеводитель по редакторам исходного кода
Известно, что IDE (англ. «Integrated Development Environment» — интегрированная среда разработки) предоставляет программисту наиболее полный инструментарий для работы с кодом. Примеры таких сред — NetBeans, Microsoft Visual Studio, Eclipse. Проблема выбора между IDE и редакторами исходного кода активно обсуждается в интернете прежде всего новичками в программировании. Многие сходятся во мнении, что для работы с языками HTML, JS (включая фреймворк jQuery) IDE-среда не нужна. Также при работе с небольшими проектами разработчики отдают предпочтение легким редакторам исходного кода. О них далее и пойдет речь.
Sublime Text
Из первичных возможностей нужно отметить базовую поддержку нескольких десятков языков программирования и разметки: 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 и передвинуть курсор в нужное место.
Для того чтобы сосредоточиться на написании кода, можно перейти в режим Distraction Free Mode (Shift + F11). При этом останется доступной карта файла, также будет возможно переключаться между вкладками (Alt + цифра) или поменять режим отображения.
Работая в Sublime Text, написание кода также можно ускорить за счет сниппетов и макросов. Сниппеты — фрагменты часто используемого кода, которые вставляются посредством автодополнения. Макросы применяются для воспроизведения последовательности действий.
Из других особенностей интерфейса — боковая панель, которая ускоряет доступ к файлам и проектам. Удобны сессии вкладок: можно закрыть Sublime Text, и при следующем запуске редактора вкладок будут в состоянии, сохраненном при закрытии.
Пожалуй, у Sublime Text два заметных неудобства: невозможность локализации и отсутствие графического окна с настройками. Обе проблемы, впрочем, мало обременят программиста. Посредством редактирования текстовых файлов конфигурации настройке поддается абсолютно все (см. раздел «Preferences» в меню). Можно сменить тему оформления, цветовую схему, настроить расширения, горячие клавиши и т. д.
Intype
Intype — текстовый редактор, который, на первый взгляд, ничем интересным не отличается. Однако неплохая базовая функциональность в связке с легким и аккуратным интерфейсом найдет своих сторонников.
Поддерживаемых языков немного, около 20. Для работы с ними предусмотрены сборки (bundles), предполагающие подсветку кода, сниппеты, а также проверку правописания. Есть специальный редактор, в котором легко посмотреть имеющиеся сниппеты, изменить их или соответствующие им триггеры (сокращенные фразы).
Как и в Sublime Text, есть мультивыделение и режим «умного» выделения в колонках. Увы, команд редактирования самый минимум, и вместо указанных функций было бы рациональней добавить хотя бы возможность закомментировать строку.
Из особенностей интерфейса: Intype, помимо вкладок и сессий, также предоставляет боковую панель, куда можно перенести любые файлы и папки для дальнейшего использования, например, в проекте. Имеется режим Distraction Free (F11), при его активации отображается лишь поле редактирования и линейка. Тем самым, от написания кода на экране ничего не отвлекает.
Поиск поддерживает регулярные выражения, однако нет поиска по нескольким документам, что при работе с проектами создает проблемы.
Из других минусов: нет поддержки расширений, очень мало настроек. Как работает автодополнение — непонятно, а где искать документацию — тоже вопрос. Не очень привлекательной выглядит цена в 42 евро, которую пользователь платит, скорее, за минимализм. Ведь если сравнивать с Sublime Text, разрыв по функциональности огромный.
PSPad
В отличие от минималистичных по интерфейсу редакторов Intype или Programmer’s Notepad (см. ниже), иконка в меню есть практически для каждой команды, что при работе с графической оболочкой — дополнительный плюс. Можно возразить, что предпочтительней использовать горячие клавиши, но и такие моменты важны.
Боковая панель PSPad — наиболее функциональная среди рассматриваемых редакторов. С ее помощью можно не только управлять проектами, но и настроить синхронизацию. Также в панели доступны элементы избранного, менеджер файлов и даже FTP-менеджер.
Среди стандартных возможностей — макросы, шаблоны (здесь так называются сниппеты). Подсветка парных скобок, автодополнение — в наличии, правда, реализовано последнее не самым лучшим образом: очень неудобное меню.
PSPad будет интересен HTML(XML)-верстальщикам, поскольку в данный редактор встроен CSS-редактор TopStyle Lite и известная библиотека Tidy, которая позволяет оптимизировать код. Также доступна валидация и другие инструменты для верстки.
Тем не менее, форматирование HTML — не главный профиль PSPad. Так, из дополнительных инструментов можно обнаружить HEX-режим, хеш-генератор, генератор текста, сравнение текстовых файлов и множество других модулей. Очень востребованная возможность — проводник кода, который выводит список переменных, классов, функций и т. п. в виде дерева (Shift+Ctrl+E). Поиск доступен не только внутри файла, но и внутри определенной папки.
Из замеченных недостатков: PSPad редко обновляется — но, тем не менее, актуальные обновления можно загрузить с форума.
Notepad++
Notepad++ обладает классическим набором возможностей для работы с кодом: автодополнение функций, параметров и слов, подсветка. Сюда же входят операции со строками, в том числе комментирование, преобразование текста. Характерная особенность Notepad++ — возможность применения токенов (шаблонов) стилей кода. Помимо стандартной нумерации строк, предполагается сворачивание кода (фолдинг), доступное не в каждом редакторе.
Notepad++ основан на базе редакторского компонента Scintilla, однако ожидать разительного сходства не следует. С точки зрения удобства, Notepad++ многим пользователям покажется наиболее привычным и понятным редактором. Это уже ставшие стандартом де факто вкладки, сохранение сессий, а также возможность смены режима интерфейса, поддержка огромного количества кодировок, поиск с использованием регулярных выражений, запись и воспроизведение макросов.
К Notepad++ написано немало плагинов (в состав дистрибутива некоторые из них уже включены). При желании, можно найти аналогичные Sublime Text дополнения (Zen Coding — Emmet, NppFTP — SFTP, и т. д.). Хотя если сравнивать Sublime Text и Notepad++, решающая разница между ними — все же не по функциональности, а по удобству. Notepad++ удобней осваивать, не вдаваясь в подробности документации и редактирование текстовых файлов конфигурации. Также не нужно забывать, что Notepad++ был и остается бесплатной программой.
SciTE
Кроссплатформенный редактор также берет свое начало из компонента редактирования Scintilla. Это предполагает подсветку синтаксиса и автодополнение функций и переменных для наиболее популярных языков программирования. Также возможно сворачивание кода, подсветка парных скобок, автоматические отступы.
Все настройки, в том числе и параметры шрифтов, осуществляются с помощью текстовых файлов конфигурации 4 видов: глобальные настройки, пользовательские, настройки каталога и локальные файлы настройки. Поэтому при работе с редактором SciTE никак не обойтись без предварительного изучения документации.
Есть возможность интегрировать SciTE с компиляторами, поддерживается консоль для вывода результатов. Консоль удобно использовать для отладки кода, просмотра ошибок (Python, GCC, Visual C++, Borland C++ и т. п.). Есть поддержка расширений.
Интерфейс позволяет работать с вкладками и сессиями. Так или иначе, удобство графического интерфейса вызывает сомнения: сложно управлять обширным списком команд в меню. Поэтому, как вариант, можно посоветовать модификацию SciTE. Ее особенности — не только более дружелюбный интерфейс, но и поддержка русского языка, переведенная документация, расширенные возможности, дополнительные скрипты и утилиты.
Programmer’s Notepad
На раннем этапе развития Programmer’s Notepad взял за основу компонент Scintilla, поэтому в нем присутствуют сворачивание кода, цветовые схемы и прочие функции, упомянутые при описании SciTE.
Интерфейс удобный, за некоторыми оговорками. Во-первых, вместо не так часто используемых кнопок (копировать/вставить/вырезать) логичней было бы предусмотреть более «программистский» набор. Панель инструментов приходится перенастраивать. Вторая оговорка — отсутствие удобной боковой панели, при активации нескольких окон (Вид → Окна) рабочее окно отвлекает от работы ввиду своей громоздкости. Из положительных моментов — в настройках можно разделить окно по горизонтали или вертикали.
Наибольший интерес представляет диалог настроек с грамотным разделением опций: настройка горячих клавиш, автодополнения, стилей, схем, файловых ассоциаций и т. д. Это позволяет гибко настроить Notepad на свое усмотрение. Есть возможность смены локализации на русский. Цветовые схемы — переопределяемые: их можно перенастраивать, причем нашлось отдельное место продвинутым настройкам.
Доступны расширения, однако их считанное количество, в этом же разделе можно скачать схемы для поддержки дополнительных языков. Несложно заметить, что они давно не обновляются, да и последняя версия Notepad вышла в 2011 году.
EditPlus
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 Text | Proprietary software, 70 долларов | + | − | Windows, Mac OS, Linux |
Intype | Shareware, 42 евро | − | − | Windows |
PSPad | Freeware | + | + | Windows |
Notepad++ | Freeware | + | + | Windows |
SciTE | Freeware | + | − | Windows, Linux |
Programmer’s Notepad | Freeware | + | + | Windows |
EditPlus | Proprietary EULA, 35 долларов | − | − | Windows |
Резюме
Sublime Text ближе всех редакторов исходного кода приближается к функциональности IDE. Помимо отличной функциональности и возможности ее расширения, акцент сделан те возможности, которые влияют на скорость написания кода.
Intype придется по вкусу пользователям, которые работают с очень небольшими проектами и привыкли использовать самый минимальный набор возможностей — подсветку кода, автодополнение и т. п.
Отличительная черта PSPad — наличие удобных инструментов для различных языков. Это делает его наиболее универсальным редактором, который по функциональности может на равных соперничать с Sublime Text.
Notepad++ — редактор исходного кода с удобным интерфейсом, с богатым инструментарием по редактированию кода и широкой поддержкой плагинов.
SciTE — наиболее сложный в настройке редактор, который требует тщательного изучения документации. Впрочем, русскоязычная сборка многие сложности упрощает.
Programmer’s Notepad — редактор с базовой функциональностью, гибкий в настройке. Не обновляется с 2011 года.
EditPlus содержит базовые функции редактора исходного кода, а также FTP и SVN «из коробки». Будет оптимален HTML-верстальщикам.
Одним словом, функциональный редактор вполне может соперничать с IDE. Тем более, программы этой категории легко еще больше приблизить к IDE с помощью плагинов, адаптировать под определенный язык программирования.
10 лучших IDE и редакторов кода для веб‑разработчиков
Что такое IDE и зачем она вам
Существует немало функций IDE, которые вы вряд ли встретите в более простых инструментах, особенно если работаете над созданием веб-приложения или довольно сложного сайта. Вам, скорее всего, пригодятся:
— компилятор: превращает ваш код в исполняемый файл;
— интерпретатор: запускает скрипты, которые не нужно компилировать;
— отладчик: позволяет находить проблемные места и ошибки в коде;
— инструменты автоматизации: помогают автоматизировать сборку проекта и ускорить процесс разработки.
В IDE все эти элементы обычно объединяются в единую платформу.
На что обратить внимание при выборе среды разработки
1. Поддержка нужной вам операционной системы (ОС). Особое внимание этому пункту стоит уделить, если вы работаете в команде. Лучше всего отдавать предпочтение кроссплатформенным решениям.
2. Возможности совместной разработки. Это опять же относится к командам, собирающимся работать с общим репозиторием. Многие платформы, которые мы рассмотрим ниже, интегрируются с Git.
3. Поддерживаемые языки (программирования, разумеется). Здесь не забывайте о долгосрочной перспективе — вдруг когда-нибудь вы решите добавить в проект возможности, реализуемые на каком-либо другом языке. Стоит выбрать среду, которая поддерживает несколько языков программирования.
А ещё веб-разработчику важно выбрать хостинг с поддержкой нужного языка. Например, в REG.RU на большинстве тарифов хостинга есть поддержка PHP, Perl и Python, а также СУБД MySQL. А те, кто хочет получить больше возможностей для кастомизации, могут обратить внимание на Облачные серверы со стабильными версиями Ubuntu, CentOS, Debian и шаблонами для веб-разработки.
4. Цена вопроса. Есть много бесплатных решений с открытым исходным кодом. Однако, как обычно бывает почти со всем подобным программным обеспечением, стоимость зависит от количества доступных функций.
Чтобы помочь вам определиться, мы собрали 10 лучших IDE и редакторов кода, которые поддерживают популярные языки для веб-разработки (HTML, CSS, JavaScript, PHP и Python). Сразу оговоримся, что это не топ, а список (первый — не значит лучший, последний — не значит самый плохой). Поэтому вы можете выбирать любой инструмент, исходя из своих нужд и предпочтений.
Примечание: все указанные цены актуальны на момент написания материала.
1. Visual Studio + Visual Studio Code
IDE от Microsoft, Visual Studio, доступна только для операционных систем Windows и macOS. Поддерживает Python, PHP, JavaScript, HTML, CSS и многие другие языки.
Visual Studio обладает всеми преимуществами IDE, включая удалённую отладку. Кроме того, платформа содержит:
— Умное дополнение кода IntelliSense, чтобы ускорить процесс написания программ;
— Инструменты для совместной работы: управление доступами и настраиваемые параметры редактора позволят писать код в едином стиле;
— Простое развёртывание благодаря встроенной интеграции с Azure.
Есть и хорошие новости: для старта вам вполне подойдёт и бесплатная Community лицензия — но учтите, что у неё есть некоторые ограничения.
Visual Studio Code
В качестве более простого решения можете рассмотреть бесплатный, но очень мощный и популярный редактор Visual Studio Code — он предлагает не так много возможностей, как IDE, зато позволяет писать код более чем на 72 языках и включает функции отладки. VS Code поддерживается не только на Windows и macOS, но и на Linux.
В редакторе есть умное автодополнение IntelliSense, встроенная интеграция с Git, а также огромная библиотека расширений.
А ещё разработчики GitHub собираются встроить VS Code прямо в браузер с помощью инструмента Codespaces, чтобы можно было вносить изменения в проект, не выходя из GitHub. Сейчас Codespaces находится на этапе бета-тестирования.
2. IntelliJ IDEA
IntelliJ IDEA — Java-ориентированная платформа для разработки от JetBrains. Несмотря на это, она позволяет работать со всеми языками, которые мы упоминали выше (HTML, CSS, JavaScript, PHP и Python). Из коробки вам будут доступны инструменты для написания кода на HTML, CSS и JavaScript (в версии Ultimate). Поддержку PHP и Python можно добавить с помощью плагинов.
IntelliJ IDEA доступна для систем Windows, macOS и Linux. Ключевые функции:
— Умное автодополнение, которое предлагает элементы кода исходя из текущего контекста;
— Встроенная интеграция с системами контроля версий;
— Интеграция с инструментами сборки, такими как Apache Maven, Gradle и Webpack.
3. PyCharm
Если вы занимаетесь разработкой на Python, то присмотритесь к PyCharm — ещё одной IDE от JetBrains. Как и IntelliJ, она поддерживается всеми тремя основными операционными системами. Professional-лицензия включает поддержку HTML, JavaScript и CSS. Кроме того, вы всегда можете расширить функционал с помощью плагинов.
С PyCharm вам будут доступны:
— Автодополнение кода и автоматический поиск ошибок;
— Интеллектуальная навигация по проекту;
— Встроенные отладчик, профилировщик Python и терминал;
— Интеграция с популярными системами контроля версий, а также с Jupyter Notebook, Anaconda и другими библиотеками.
Как и IntelliJ IDEA, PyCharm имеет Community-версию с открытым исходным кодом, но с ограниченными функциями — в ней отсутствуют многие инструменты для веб-разработки, нет профилировщика Python и поддержки баз данных.
4. PhpStorm
Если вам больше по душе PHP, то обратите внимание на PhpStorm от JetBrains. Эта IDE имеет много общего с IntelliJ IDEA и PyCharm. Вы можете использовать её на Windows, macOS и Linux, и она поддерживает разработку на JavaScript, CSS и HTML.
Кроме того, PhpStorm рекомендуется JetBrains для работы с популярными CMS: например WordPress, Drupal, Joomla и другими.
Функциональность включает в себя:
— Автодополнение кода и рефакторинг;
— Эффективные функции навигации;
— Встроенная интеграция с системами контроля версий, инструменты командной строки, управление базами данных SQL;
— Визуальный отладчик и функция Live Edit, позволяющая сразу посмотреть, как будут выглядеть изменения в браузере.
5. WebStorm
Для разработчиков на JavaScript JetBrains предлагает платформу WebStorm. Она поддерживает популярные фреймворки для фронтенда (Angular, React, Vue.js) и бэкенда (Node.js, Meteor). Среди преимуществ IDE можно выделить:
— Умное автодополнение кода;
— Инструменты для тестирования Karma, Mocha, Protractor и Jest;
— Интеграция с популярными системами контролями версий.
6. Komodo IDE
Komodo IDE от ActiveState позиционирует себя как «одна IDE для всех языков». И это действительно так: платформа поддерживает JavaScript, HTML, CSS, Python, PHP и множество других языков программирования.
Ключевые особенности Komodo IDE:
— Интеллектуальная подсветка синтаксиса и автодополнение кода;
— Визуальный отладчик и инструменты для тестирования;
— Предварительный просмотр страниц: не нужно переключаться между IDE и браузером;
— Интеграция с Devdocs.io для удобного поиска документации;
— Поддержка популярных систем контроля версий;
— Профилирование кода на Python и PHP.
7. Sublime Text
Строго говоря, Sublime Text больше похож на редактор кода, но он содержит функции, аналогичные полноценным IDE. Sublime Text доступен для всех трёх основных операционных систем и поддерживает HTML, CSS, JavaScript, PHP, Python и другие языки. Кроме того, он включает в себя несколько функций, позволяющих ускорить и упростить редактирование кода, например:
— Навигация Goto Anything для быстрого перехода к файлам, строкам или словам;
— Быстрое внесение изменений сразу в нескольких местах;
— Интеграция с Git через Sublime Merge;
— Быстрое переключение между несколькими проектами с фиксацией изменений.
Если вы хотите расширить возможности Sublime Text, подключите к нему плагины для автозаполнения, отладки и других расширенных функций.
8. Brackets
Brackets — редактор с открытым исходным кодом, который отлично подойдёт для разработчиков веб-интерфейсов. Доступен для Windows, Linux и macOS. Из коробки поддерживает HTML, CSS и JavaScript, а PHP и Python можно подключить через LSP.
Brackets позволяет редактировать файлы в режиме реального времени: вы можете следить за внешним видом вашего проекта по мере внесения изменений без необходимости перезагрузки страницы.
Также в Brackets есть множество расширений для интеграции с Git, автодополнения кода и других полезных фич.
Хотя Brackets тоже больше относится к редакторам кода, чем к полноценным IDE, он полностью бесплатен и даёт простор для экспериментов: вы можете сами создавать расширения для него или даже переписать исходный код программы под себя.
9. Atom
Atom — редактор кода с открытым исходным кодом от GitHub. Как можно догадаться, он имеет встроенную интеграцию с Git и GitHub. Atom совместим с Windows, macOS и Linux, а также позволяет:
— Совместно редактировать код в режиме реального времени с помощью Teletype;
— Быстро писать код с умным автодополнением;
— Разделять интерфейс редактирования, чтобы одновременно работать с несколькими файлами или проектами;
— Устанавливать расширения с помощью встроенного менеджера пакетов.
Также вы можете попробовать Atom IDE — расширенную версию Atom, более похожую на полноценную IDE.
10. NetBeans
NetBeans — платформа с открытым исходным кодом от Apache, включающая множество функций, необходимых для веб-разработки. Совместима с системами Windows, Linux и macOS. NetBeans больше ориентируется на Java, но по умолчанию также доступны JavaScript, HTML и CSS. PHP и Python можно добавить с помощью плагинов.
Функциональность NetBeans включает:
— Умное редактирование и автодополнение кода;
— Настраиваемые сочетания клавиш для более быстрой работы;
— Интеграция с Git, Maven и другими платформами.
NetBeans полностью бесплатна и открыта для вклада разработчиков, желающих усовершенствовать платформу.
Бонус: какими IDE пользуются разработчики REG.RU
Разумеется, в этой подборке мы привели лишь малую часть существующих сред разработки и редакторов кода. Например, можно было бы упомянуть о Notepad++, Eclipse или активно развивающихся облачных IDE вроде Codeanywhere или Cloud9.
Тем не менее, мы в том числе перечислили инструменты, которыми пользуются разработчики в REG.RU. Например, те, кто так или иначе взаимодействует с Python, отдают предпочтение PyCharm. Разработчики интерфейсов больше склоняются к редакторам, чем к IDE, и выбирают Visual Studio Code и Sublime Text. Также встречаются и те, кто работает в WebStorm, Komodo, Atom. Многие, кстати, считают идеальным редактором Vim: конечно, в нём нет того обилия функций, которые предлагают IDE, однако его вполне можно превратить в удобную для работы среду с помощью многочисленных плагинов и расширений.
Пишите в комментариях, какую IDE или редактор используете вы. Что вам в них нравится, а чего не хватает? Пробовали ли вы другие решения?
Делитесь, какие полезные подборки вы хотели бы видеть в блоге в будущем — мы обязательно учтём ваши пожелания.