для чего нужен редактор кода
Редактор кода
Содержание
Типы текстовых редакторов
Условно выделяют два типа редакторов.
Первый тип ориентирован на работу с последовательностью символов в текстовых файлах. Такие редакторы обеспечивают расширенную функциональность — подсветку синтаксиса, сортировку строк, шаблоны, конвертацию кодировок, показ кодов символов и т. п. Иногда их называют редакторы кода, так как основное их предназначение — написание исходных кодов компьютерных программ.
Второй тип текстовых редакторов имеет расширенные функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания различного рода документов, от личных писем до официальных бумаг. Классический пример — Microsoft Word.
Также выделяют более общий класс программ — текстовые рабочие среды. По сути, такие среды представляют собой полноценную рабочую среду, в которой можно решать самые разнообразные задачи: с помощью надстроек они позволяют писать и читать письма, веб-каналы, работать в вики и Вебе, вести дневник, управлять списками адресов и задач. Представители этого класса — Vim и Plan 9. Такие программы могут служить средами разработки программного обеспечения. В любом случае, последние всегда содержат текстовый редактор как необходимый инструмент программирования.
5 распространённых редакторов кода и их функции
Сервисы для фронтенд-разработчиков, для работы над масштабными проектами и для тех, кто привык настраивать сервисы под себя
Редактор кода — один из главных инструментов разработчика. Правильно подобранное приложение позволит быстро делать коммиты в Git, поможет избежать ошибок в коде и предложит дополнительные плагины под задачи пользователя. Академия Яндекса составила список редакторов кода, которые помогут обустроить рабочее пространство для его написания.
Atom — это бесплатный редактор с открытым исходным кодом, который разработали создатели GitHub. Он поддерживает плагины, написанные на Node.js.
Главное преимущество Atom — это большое количество расширений, которые позволяют настроить редактор под себя. А если вам не хватит 8668 расширений, которые уже есть в библиотеке, то можно написать своё.
Изначально в Atom встроены файл-менеджер, автокомплит, продвинутые функции поиска и замены, разнообразные курсоры и опции сворачивания кода. Редактор работает на всех ключевых операционных системах: OS X, Windows и Linux. Ложка дёгтя в том, что Atom требует много памяти и не способен обрабатывать большие объёмы данных.
Brackets (Adobe)
Brackets — редактор кода, созданный для фронтенд-разработчиков и веб-дизайнеров.
В основе редактора Brackets лежат JavaScript, HTML5 и CSS3, и поэтому он больше всего подходит для работы с ними. Редактор поддерживает Live Preview кода (этот плагин показывает, как будет выглядеть итоговая веб-страница), предлагает подсказки и автоматически компилирует CSS в LESS-файлы. Кроме того, Brackets работает с системой контроля версий Git.
Visual Studio Code
Visual Studio Code — редактор, разработанный Microsoft. По функциональности он похож на IDE (интегрированную среду разработки) и подходит для работы над масштабными проектами.
В VS Code есть встроенные терминал и поддержка Git. А чтобы упростить написание кода, можно использовать автокомплит с информацией о параметрах функций и названиях переменных. Однако Visual Studio работает медленнее, чем другие редакторы.
Vim — редактор старой школы. Был выпущен в 1991 году, но продолжает использоваться и дополняться: последние изменения вышли в декабре 2019 года.
Главная особенность этого редактора — применение двух режимов ввода, между которыми можно переключаться вручную: командного и текстового. Vim управляется в основном с помощью шорткатов на клавиатуре, поэтому, чтобы освоить сервис, нужно время. Однако если вы готовы постараться, то Vim обрадует вас скоростью работы, стабильностью и возможностями для настройки.
Sublime
Sublime — текстовый редактор, который поддерживает плагины, написанные на Python.
В него встроено множество внутренних инструментов, которые облегчат и уcкорят работу с кодом. Например, c помощью Multiple selections можно редактировать несколько строк кода одновременно — это удобно, если нужно переименовать переменную.
Главный недостаток Sublime — цена. Лицензия на использование этого редактора обойдётся в 80 долларов.
10 лучших HTML-редакторов
Рассматриваем лучшие приложения для работы с HTML-разметкой. Узнаем, чем пользуется верстальщик с глубокими познаниями в разработке, а чем пользуется тот, кто совсем не разбирается в программировании.
Что такое HTML-редактор?
HTML-редактор – это программа, в которой пишут «основание» для сайтов. Технически эту роль может выполнять любой текстовый редактор, даже «Блокнот». Но лучше доверить эту задачу приложению, специально созданному для работы с кодом.
Обычно в таких программах есть подсветка синтаксиса (отдельных элементов разметки), автоматическая проверка на ошибки и опечатки, да и в целом интерфейс спроектирован таким образом, чтобы в нем было удобнее работать именно с сайтами.
HTML-редакторы не так функциональны, как полноценные среды разработки, но они подходят как для новичков, так и для профессионалов, не желающих заниматься версткой страниц в громоздких приложениях.
Иногда такие программы называют HTML-компиляторами, хотя по факту в них никакой код не компилируется. HTML – это не язык программирования, а язык разметки, не требующий компиляции как таковой. Тем не менее пользователи иногда так говорят, и я не буду им противиться.
Типы редакторов
Есть два основных типа:
Еще есть среды для разработки. Это программы, созданные для профессиональных разработчиков и содержащие в себе весь спектр инструментов, необходимых для создания сайта или приложения с нуля. В этой статье я не буду их затрагивать.
Полезные характеристики HTML-редакторов
При выборе текстовых и визуальных HTML-компиляторов стоит обратить внимание на наличие базовых функций:
Текстовые редакторы
Сперва рассмотрим HTML-редакторы для разработчиков. Для тех, кто понимает структуру страницы и может, используя HTML, разместить контент на сайте. Такие приложения дают больше свободы верстальщикам. Ведь благодаря возможностям разметки они получают полный контроль над информацией на ресурсе и его визуальной составляющей.
Атом появился в 2014 году и резко набрал популярность среди разработчиков всех сортов. Он бесплатный, с открытым исходным кодом. Его созданием занималась команда GitHub – главного хранилища кода в интернете. За поддержку и развитие проекта отвечает сообщество независимых программистов, продвигающих opensource-проекты.
Atom построен на базе фреймворка Electron, что делает его универсальным приложением для всех платформ сразу, то есть для Windows, macOS и Linux. Также это дает возможность расширять возможности редактора, используя JavaScript. Разработчики могут менять функциональную составляющую Atom и внешний вид приложения, адаптируя его под свои нужды (используемый язык программирования, проект, над которым работает пользователь и т.п.). Поэтому многие разработчики по праву считают его лучшим HTML-редактором.
Из интересных фишек стоит отметить множественные курсоры для редактирования одновременно нескольких строк кода и функцию Teletype для совместной работы нескольких программистов в одном пространстве.
Скачать Atom (Windows, macOS и Linux)
VS Code
Еще один бесплатный редактор HTML-разметки на базе Electron. Это разработка Microsoft с огромным набором плагинов. С помощью расширений можно добавить в него массу дополнительных функций:
Также в VS Code встроен клиент Git, позволяющий загружать проект в GitHub прямо из компилятора, не используя для этого отдельный терминал. А еще система IntelliSense, помогающая дополнять код за счет уже использованных функций, классов и кусков разметки.
В отличие от Atom, детище Microsoft работает заметно быстрее. Разработчики массово переходят на VS Code из-за разницы в производительности.
Скачать VS Code (Windows, macOS и Linux)
Sublime Text
HTML-компилятор из Австралии, распространяющийся по условно-бесплатной модели. То есть сам редактор в базовом виде можно загрузить и использовать бесплатно, но чтобы получить весь набор доступных в нем функций, придется раскошелиться.
Sublime Text сочетает в себе лучшее из двух миров (из Open Source и мира проприетарного ПО). За счет платных лицензий и грамотной монетизации у разработчиков программы остается возможность регулярно обновлять продукт и поддерживать его. В то же время код достаточно «открыт», чтобы сторонние разработчики могли добавлять в него новые функции и создавать расширения, используя язык программирования Python.
Sublime Text – высокопроизводительный редактор. Причем это проявляется не только в плавности и отзывчивости интерфейса. В компиляторе есть функция моментального переключения между проектами. Не приходится долго искать папку с другим сайтом, перезагружаться в другую среду разработки и ждать, пока она прогрузится, как это происходит в Atom или VS Code.
Notepad++
Бесплатный редактор кода для операционной системы Windows (на Linux и macOS работает через эмуляторы). Распространяется бесплатно, имеет открытый исходный код, который можно загрузить с официального репозитория программы на GitHub.
Продукт написан на языке С++ и базируется на площадке Scintilla. Как и другие компиляторы, развиваемые сообществом разработчиков, Notepad++ поддерживает сторонние плагины. С помощью них можно добавлять в редактор новые функции или изменять внешний вид интерфейса.
Создатель проекта считает главным преимуществом своего приложения использование только встроенных инструментов для разработки под Windows, чтобы добиться максимальной производительности и сократить нагрузку на процессор компьютера.
У Notepad++ есть мобильная версия для тех, кто занимается разработкой «на ходу».
CodeRunner
Один из лучших редакторов HTML-разметки и кода, разработанный для macOS. Он не поддерживает расширение плагинами (в отличие от перечисленных выше решений). Напротив, его создатель решил вместить максимум возможностей в программу, избегая необходимости в сторонних дополнениях.
Он поддерживает работу в нескольких вкладках, удобную систему навигации по документам и файлам, редактор скриптов, полноценную консоль внутри CodeRunner, готовые текстовые шаблоны и т.п.
Из интересных решений стоит отметить наличие встроенной панели с документацией. Эта панель обеспечивает доступ к ресурсу Mozilla MDN с описанием функций JavaScript и других языков. Там же можно быстро найти информацию по поводу той или иной функции языка на популярном форуме для программистов Stack Overflow.
CodeRunner поддерживает автодополнение кода, ищет популярные ошибки, позволяет ставить курсор сразу в несколько частей разметки и настраивать свои горячие клавиши. При этом программа часто получает обновления и полностью адаптирована под macOS.
Espresso
Еще один эксклюзивный редактор для macOS, поддерживающий HTML, CSS, JavaScript и несколько других языков, используемых при разработке сайтов.
Одно из главных преимуществ Espresso – функция Xray. Она в реальном времени отображает состояние сайта или веб-приложения. Любое изменение в коде в ту же секунду появляется на превью. А превью, в свою очередь, поддерживает работу с браузерами Chrome, Firefox и Safari.
Также Espresso часто используют для работы с CSS. Компилятор поддерживает новейшие технологии, связанные с каскадными стилями. Редактор упрощает работу над внешним видом страницы (градиенты, цвета, тени, разметка и т.п.)
Расширить возможности редактора можно за счет плагинов. Их коллекция не такая внушительная, как у условного VS Code, но самые востребованные точно найдутся.
А еще в Espresso встроен пакет инструментов для публикации сайтов в сети. Он синхронизирует данные с сервером, независимо от того, какую платформу для размещения ресурса вы используете.
Brackets.io
Легковесный кроссплатформенный редактор, адаптированный для работы с сайтами. Одна из лучших функций Brackets – мини-редактор, встроенный в основной код. Он появляется только в те моменты, когда нужен пользователю. Например, вы вносите изменения в HTML с определенным классом. Чтобы не переключаться на вкладку с CSS, редактор предлагает открыть небольшое окно с кодом CSS для выбранного класса, чтобы внести туда изменения, не покидая главную страницу.
Таким образом удается на ходу редактировать сразу два или даже три файла, не переключаясь между окнами и вкладками.
Также здесь есть режим Live Preview, позволяющий в реальном времени наблюдать за изменениями, вносимыми в дизайн и содержимое страницы. Все, что делает пользователь, появляется на экране в ту же секунду.
Ну и еще одно преимущество – встроенная поддержка препроцессоров SCSS и LESS со всеми их особенностями и дополнительными функциями. Не придется подключать их отдельно.
Знаменитый текстовый редактор, использующийся для решения самых разнообразных задач – от записи математических конспектов до создания полноформатных заскриптованных онлайн-магазинов.
Он удобен для разработки, так как за счет плагинов поддерживает подсветку синтаксиса, исправление ошибок, быстрый поиск, замену содержимого страниц и другие функции, доступные в полноценных средах.
Сложностью для многих пользователей станет только специфичное управление, которым и знаменит Vim. Но поклонники редактора как раз и любят его за нестандартный подход к перемещению по тексту и его редактированию.
Визуальные HTML-редакторы
С помощью визуальных редакторов вы будете напрямую взаимодействовать со страницей в том виде, в котором ее увидят потенциальные пользователи.
А они, понятное дело, не увидят на нем код и структуру CSS-файлов. Только полезную информацию.
Adobe Dreamweaver CC
Массивный продукт компании Adobe для создания веб-страниц. Он адаптирован для работы с языками разметки HTML и CSS, а также для работы с языками программирования JavaScript и другими. Dreamweaver подходит как для фронтенд-разработки (то есть внешней части сайта, с которой взаимодействует посетитель), так и для бэкенда (внутренней части, отвечающей за логику сайта).
Dreamweaver CC создавался для работы в кооперации с другими продуктами компании. Под этим подразумевается быстрый экспорт изображений и макетов из Photoshop или XD. DW имеет закрытый исходный код, поэтому его возможности можно расширять только плагинами, одобренными самой Adobe.
И хотя Dreamweaver CC, в первую очередь, визуальный компилятор страниц, он отлично работает в текстовом режиме. Между режимами можно переключаться в любое время, выбирая удобный стиль работы.
Купить Dreamweaver CC (1550 рублей в месяц, платформы – Windows, macOS и Linux)
RapidWeaver
Это аналог Dreamweaver, созданный для операционной системы Apple. Вместе с тем, это один из наиболее часто используемых визуальных HTML-компиляторов.
По умолчанию он содержит в себе парочку симпатичных шаблонов для будущих сайтов, удобную систему навигации между страницами, а также файловый менеджер для загрузки собственного контента на публикуемые страницы. А еще функцию размещения ресурса в сети.
В нем есть удобная интеграция с сервисом Unsplash, симулятор устройств, чтобы можно было оценить внешний вид сайта в разных разрешениях, и базовые инструменты для поисковой оптимизации.
Но возможности RapidWeaver легко поддаются расширению за счет эксклюзивных плагинов. Благодаря им можно сделать любой тип сайта, будь то небольшую галерею или полноценный онлайн-магазин, просто перемещая блоки с информацией по странице и добавляя в них модули из маркетплейса с расширениями.
Купить RapidWeaver (7400 рублей, только для macOS)
В CMS есть инструменты для проектирования сайтов, заменяющие HTML-редакторы. В них можно быстро собрать страницу, добавив туда весь необходимый контент (или добыв его из соответствующих плагинов). Назвать их HTML-редакторами трудно, но движки в себя таковые включают.
Даже Gutenberg (интерфейс для написания постов в WordPress) содержит HTML-редактор.
Выводы
Если ищите себе первый редактор для работы с кодом, то попробуйте что-нибудь попроще, Notepad++ или CodeRunner. Если нужен лучший HTML-редактор среди доступных, то для этого есть VS Code (или Atom для поклонников Teletype). Если нет навыков в работе с кодом, то для быстрого старта сойдет то, что уже есть в WordPress. А если нужно править код на базе уже готового бэкенда, то можно перескочить на Dreamweaver.
HTML и CSS редакторы скачать бесплатно на русском
Про что здесь я буду вести речь? Эта статья не является обзором различных редакторов, она рассчитана на людей с более низким уровнем подготовки в вопросе создания сайтов. Поэтому здесь будут рассмотрены три вопроса:
1. Что такое редактор кода?
2. Виды редакторов кода.
3. Какой вид лучше использовать.
Последний вопрос – более рассудительный, так как он откроет новичкам ряд причин, по которым не стоит пользоваться редактором, сильно облегчающим работу создания сайта.
Зачем нужен редактор кода
И так, что такое редактор кода? Редактор кода – это программа, разработанная специально для написания кода, в каком либо языке программирования. Суть такой программы заключается в том, что бы максимально облегчить жизнь вебмастера. Такие программы, как правило, сильно помогают в написании кода своим удобством.
В качестве удобства могут выступать:
1. Подсветка кода, что сильно облегчает навигацию в самом коде, так как иногда код может быть очень большим.
2. Специальные кнопки, при нажатии на которые, автоматически прописывается какая-нибудь функция, или, в случае с HTML – вставляется тег.
Впрочем, если я начну перечислять, даже в общих чертах, все удобства, получится книга не меньше, чем «Война и мир». Их может быть очень много.
Подробнее о видах
Теперь давайте приступим ко второму вопросу, и узнаем, на какие виды делятся редакторы кодов. Их только два – это обычный редактор кода и визуальный. Чем же отличаются эти два вида? Разница их в том, что в обычном редакторе кода вы делаете все изменения посредством ввода самого кода, и смотреть последствия этих изменений вы сможете, только запустив тот файл, который вы редактировали. В визуальном редакторе кода человек может вообще не знать HTML и CSS, и при этом создать красивую страничку для сайта.
Так ли важны редакторы кода?
Кажется, что может быть лучше? Не надо знать ни CSS, ни HTML, можно сказать – вы работаете как в Microsoft Word, пишите себе текст, вставляете картинки, таблицы, ссылки – а программа их автоматом кодирует в HTML формат и создает рабочую страницу сайта, более того, вы можете сразу посмотреть, как будет выглядеть созданный вами сайт одним нажатием кнопки.
Реально, если уметь пользоваться такой программой (визуальный редактор кода) – вам не надо знать HTML и CSS. И вроде бы все хорошо, но у этих редакторов есть свои, надо сказать, большие минусы.
Теперь мы плавно переходим к третьему вопросу этой статьи: какой вид редактора кода лучше использовать.
Кажется, все карты в руках лежат у визуального редактора, вам не надо знать ни HTML, ни CSS – а просто писать нужный текст и вставлять необходимые картинки. А недостатки то есть!
Минусы редакторов
Второй минус, и надо сказать очень существенный – каждый визуальный редактор, который автоматически генерирует код для страницы, создает этого кода больше чем надо.
Как правило, такой код больше на 20 процентов. Если посещаемость вашего ресурса маленькая – здесь ничего страшного нет, но если у вас несколько сот человек в день – ваши страницы будут создавать лишнюю нагрузку на сервера хостинг компании, и нагрузка будет увеличена на 20 процентов. А это не очень понравится представителям компании.
Третий минус, какой бы «крутой» редактор не был – он не сможет создать вам сайт с различными функциями программирования. Допустим – это отправка письма, нумерация страниц, формы комментариев, рейтинги, опросы и много еще интересного, которое сделает ваш сайт современным.
Можно ли создать сайт с помощью редактора кода?
Но, из этого также вытекает еще один существенный минус, который заключается в том, что в комплекте каждой CMS идет несколько стандартных шаблонов для сайта – говоря проще, дизайн вашего сайт. И эти шаблоны некрасивы, не уникальны и только отпугивают посетителей. А визуальный редактор не сможет создать шаблон для CMS! Так как там используются свои встроенные стили и опции. Редактировать такие шаблоны нужно вручную, а для этого опять необходимы знания CSS и HTML.
Отсюда вывод – если вы хотите красивый современный сайт – у вас есть два выхода – либо заказать этот сайт у профессионалов, а это стоит от ста долларов и выше, либо сделать шаблон для системы управления сайтом самому. А для этого необходимо разбираться в CSS и HTML – обязательное условие! Ну и немного знать PHP, но можно обойтись и без него!
А для того, что бы выучить HTML и CSS – необходимо брать обучающие пособия и пробовать их на практике, и не в визуальном редакторе, так как, просто нажимая кнопки, вы ничего не запомните, а в обычном, вводя каждую функцию на клавиатуре.
Где скачать редакторы HTML и CSS бесплатно
Лично я не использую визуальные редакторы, но, если вам очень нравится такой способ создания кода, и вы желаете выучить CSS и HTML – для начала вводите код вручную, пока не выучите хотя бы самые распространенные элементы создания веб страниц, а уж потом, со спокойной совестью пользуйтесь визуальным редактором.
Ниже ссылки на хорошие редакторы для верстальщиков:
редактор Brackets русская версия, лучший и понятный для новичков:
редактор SublimeText 3, быстрый и надёжный, используют многие профи (правда только английский):
По ссылкам выше вы найдёте не только ссылки, но и целые видеокурсы по работе с этими редакторами. Я постарался сделать уроки короткими и понятными.
Редактор или IDE? Очередная попытка анализа
Хотелось бы в очередной раз поднять эту довольно спорную тему.
С тех пор, как я начал заниматься программированием, этот вопрос не даёт мне покоя, а многочисленные темы на форумах и хабре ясности не внесли. Плюс к этому, мне кажется, некоторые аргументы как за одну, так и за другую сторону не были приведены. А у тех, что приведены, неверно расставлены приоритеты и упущен контекст.
В статье я постараюсь исправить это упущение и расставить ещё немного точек над «ё».
Приглашаю всех поучавствовать в поисках идеального инструмента.
О моём опыте
Программировать я начинал ещё в ДОС. на Turbo Pascal-е. Причём, почему-то, IDE мы тогда использовали только для отладки, и то достаточно редко. Для писания кода предпочитали использовать некий безымянный edit.exe без всякой подсветки синтаксиса в связке с Volkov Commander. И этого хватало. Этим же способом я позже занимался ассемблером и, частично, C++.
Продолжая изучать C++ я перешел на Windows и, соответственно, Visual Studio — куда же без него. Застал версии, если не ошибаюсь, с 5 до 7. После простенького редактора это было нечто — кодогенерация и автодополнение вызывали восторг. Правда, во всём этом сгенерированном добре разобраться было практически невозможно, но это казалось неважным.
Через некоторое время я пересел на Linux и занялся веб-разработкой на php. Здесь параллельно изучал vim и для разработки использовал ZendStudio. В какой-то момент начал использовать только Vim для всего — превратил его, в соответствии с многочисленными руководствами в маленькую ide. В нём же написал свою первую велосипедную CMS на php.
Замечу, что до этого программирование не было основным видом моей деятельности. Да, я и для работы писал различные мелкие утилитки, делал темы для для WordPress, но основным родом деятельности было администрирование.
Как только я занялся разработкой профессионально — возможностей vim мне перестало хватать. Был сначала eclipse, потом netbeans, сейчас — phpstorm.
Последние пол-года героически пытаюсь освоить emacs, в т.ч. в качестве основной рабочей среды.
Так что у меня есть с чем сравнивать и, надеюсь, моё мнение будет достаточно обоснованным и агрументированным.
IDE? IDE.
Я долго думал, в какой форме привести сравнение преимуществ и недостаков сторон. Список для этого не очень подходит, т.к. простое перечисление не вполне отражает суть вопроса. Редактор и IDE не противоположности, а инструменты, чья область применения перекрывается в некоторой области. Преимущества редактора далеко не всегда является недостатками среды и наоборот. По этой причине дальше идут более-менее структурированные рассуждения на тему.
Начну, пожалуй, с одного из бесспорных преимуществ редактора — его богатых возможностей по работе с текстом и возможности всё делать не отрывая рук от клавиатуры. Cреды в большинстве своём так не умеют. Только вот нужны ли такие возможности при написании кода? При написании статьи или письма, думаю, удобно одним нажатием клавиши поменять местами 2 слова или передвинуть абзац вверх страницы. Но в тексте программы это, в большинстве случаев бессмысленно и требует рефакторинга. А платить за это приходится либо пальцедробительными сочетаниями клавиш emacs, либо не менее мозгодробительными командами в vim. А ведь это всё нужно поминать! То, что просто решается одним движением мыши, вроде перемещения окна или изменения их размеров, превращается в целый квест. Да даже выделить текст проще мышкой — точнее, быстрее, и на надо считать сколько там слов до нужнго места в тексте. Нет, программисту тоже могут быть полезны эти функции, но дело в том, что его временные затраты на собственно редактирование кода ничтожны, так что выгоды во времени не будет практически никакой. А вот значительное усложнение инструмента — налицо.
Программист 80% своего времени тратит на понимание написанного кода и перемещению по нему. Причём перемещению именно по коду, а не по тексту! И здесь ему редактор не может помочь абсолютно ничем. Список параметров метода во всплывающей подсказке не покажет, перейти к определению метода не позволит, синтаксис не проконтролирует. А IDE, даже самые простые, с этим справляются просто и элегантно. Я недавно потратил минут 10 на поиск определения одного метода в проекте при помощи silversearcher из emacs. Оказалось, класс был определён в другом модуле и т.п. 10 минут, вместо одного клика мышкой! Я в emacs, конечно, недостаточно опытен, поэтому пусть будет 5 минут, даже минута. Но всё равно соотношение впечатляет.
И вот здесь IDE показывает свой, пожалуй, единственный, но очень жирный плюс — это наличие синтаксического анализатор языка программирования. Среда «понимает» что она редактирует код. Редактор — нет. А это и автодополнение, и навигация, и подсветка синтаксических, а, иногда, и семантических ошибок. Кажется, излишество, приятная мелочь, баловство. Но оно, превращается в необходимость после того, как размер проекта привысит некоторый предел. А с учётом объемных современных фреймворков — этот предел наступает практически сразу.
Да, на проекте из десятка файлов и пары тысяч строк, этот плюс не проявляет себя во всей красе. Редактор тоже может выполнять то же самое автодополнение, но он никогда не отсеет бессмысленные, варианты. И если размер проекта приближается к 100 тыс строк и состоит из тысяч файлов не считая библиотек, то становится проблемно выбирать нужное название из мешанины из названий переменных, методов других классов, да и просто слов из комментариев (было такое в vim-е у меня, не знаю, может, исправили). Интеллектуальные подсказки избавляют от необходимости помнить названия нужных функций и их параметры. Часто это просто физически невозможно.
Кстати о проектах. Во всех IDE есть такое понятие. К нему привязываются настройки, ресурсы, можно осуществлять поиск и т.п. В редакторах это в лучшем случае открытый каталог файловой системы. Иногда чуть больше.
Интеграция с отладчиком в редакторах тоже оставляет желать много лучшего. Юнит-тестирование, логирование в какой-то мере спасают ситуацию, но, иногда без отладчика никуда.
Кто-то может возразить, что в современных редакторах многие из этих функций уже реализованы и ничем не уступают самым навороченным IDE. Не соглашусь. Во-первых, полноценных реализаций нет. Не работают они, как должны. Во-вторых, установка всего этого уже достаточно сложная задача. Да даже конфигурация внутренних функций редактора уже нетривиальна. Попробуйте, скажем, включить нумерацию строк в том же emacs! Плюс ко всему, часто нужный функционал реализуется десятком плагинов непонятно как между собой взаимодействующих. А часто ещё и имеющих десяток версий и веток, не всегда совместимых, странно настраиваюхся и т.п. Можно, конечно, потратить месяц, всё настроить и установить (что тоже удел энтузиастов), но это всего лишь приблизит редактор к уровню IDE. К примеру, вернёмся к тем же проектам — я пробовал и Project под vim и projectile под emacs и ещё некоторые плагины. Если Project ещё более-менее отвечает моим требованиям (хотя в последней версии мне вообще не удалось создать проект из-за багов), то projectile оставил исключительно негативные впечатления.
И тем не менее, у редакторов есть несколько областей применения, где они, как минимум, составляют достойную конкуренцию средам разработки.
Во-первых, они себя лучше показывают на мелких проектах. Нет смысла загружать IDE-комбайн для работы с проектом в 10-20 файлов. Проще в редакторе подправить 3-4 строки.
Во-вторых, в некоторых специфических областях все преимущества IDE нивелируются. Например, низкоуровневая разработка для linux. Я этим не занимался, но, судя по структуре кода и предпочтениям разрабочиков (около 70% — emacs и клоны, 25% — vim, 5% — какая-то экзотика вроде jed), IDE там делать нечего. Весь нужный код, с которым происходит работа, собран, как правило в одном-двух файлах, и не нужно прыгать в пределах всего проекта. Да и не сильно поможет автодополнение при выборе из десятка-двух функций с почти одинаковыми названиями.
В-третьих, редакторы могут работать не только с кодом. Всю их мощь можно задействовать при работе с csv или xml файлами. Либо чего-то другого, в чём иногда возникает необходимость, вроде статьи или письма. И не нужно переучиваться, искать удобную программу или запоминать горячие клавиши — всё под рукой, всё одинаковое.
В-четвёртых, возможность работы с языками, для которых нет вменяемой IDE. Скажем, с тем же ruby мне среда не сильно помогла. SublimeText-а оказалось достаточно. Хотя с большим ruby проектом я не работал, возможно, там бы IDE себя показала.
И в-пятых, пресловутая возможность расширения. При наличии хороших плагинов редактор становится очень удобным! Плюс специфическое удовольствие непрерывного тюнига своего основного инструмента и ощущение полного контроля над ним — дорогого стоит.
Итого
Я не очень люблю IDE, хотя так могло показаться по предыдущему тексту. Считаю их довольно монструозными, с кучей ненужных функций, медленными и требовательными к ресурсам. Да и лучшие из них довольно дорогие. Кроме того, я считаю, использование IDE расслабляет, и привязывает к себе. У редакторов, соответственно, всё наоборот. Плюс доступность и возможности тонкой доводки под себя. По крайней мере vim и emacs. В конце концов, они мне просто нравятся. Эту статью, например, я пишу в Emacs.
Но индустрия (и начальство) диктует свои требования. Если не использовать IDE, производительность значительно упадёт. Но никто не даст вам пол-часа на поиск пропущенной запятой в 10 тыс строках кода. Это всё должно выполняться автоматически и автоматически же исправляться. Мне тоже иногда нравится покопаться в коде без всяких инструментов — но на работе это непозволительная трата времени.
После всех своих проб и ошибок я сделал такой вывод — редактор можно использовать для разработки, но с IDE, после определённого предела он не сравнится и использование редактора для чего-то, за что вам платят — непозволительная роскошь. Да, если использовать правильные практики разработки, правильно проектировать/документировать код, следовать стандартам — можно сгладить врождённые недостатки редакторов. Но мы живём далеко не в идеальном мире, поэтому использование IDE — необходимость, независимо от нашего желания.