Zed - IDE будущего?

Дисклеймер

На момент написания этой статьи Zed не является полноценной интегрированной средой разработки (IDE). Этот продукт все еще находится в бета-версии, и настоящая статья  —  предварительный обзор его возможностей, предоставляемых на данном этапе. Пока же вам, скорее всего, подойдет VSCode или любая другая используемая вами IDE, если только скорость работы редактора не является для вас приоритетом.

Коротко о главном

Zed  —  это новая IDE с открытым исходным кодом, превосходящая по скорости Sublime Text и предоставляющая множество мощных функций “из коробки”.

В настоящее время она находится на стадии бета-тестирования и может быть загружена только на устройства Mac, но поддержка Windows и Linux появится в ближайшем будущем.


Текущее положение на рынке редакторов кода

Сегодня редактор VSCode является предпочтительным выбором для всех, кто начинает свой путь в программировании. На данный момент это самая популярная IDE, соответствующая современным требованиям, элегантная, многофункциональная и эффективная. Редактор VSCode полностью написан на HTML, CSS и JavaScript, что делает его приемлемым для большинства разработчиков. Внушительная коллекция его расширений позволяет варьировать поведение, менять темы и добавлять поддержку бесчисленных языков и фреймворков.

VSCode почти идеален, но у него есть один существенный недостаток: он медленно работает.

Полностью основанный на веб-технологиях, VSCode использует на различных платформах Electron.js  —  фреймворк для создания кроссплатформенных настольных приложений с помощью HTML, CSS и JavaScript. Electron широко известен как мощный фреймворк, но он часто работает медленно, зависает и требует много памяти. Поэтому в последнее время стали набирать популярность более производительные фреймворки, такие как Tauri.

Проблемы с производительностью VSCode привели к разработке новых редакторов, более быстрых и менее расходующих память. Одним из таких альтернативных вариантов VSCode, набирающих популярность в последнее время, стал Zed.


Новая IDE

Zed, разработанный создателями Atom и Tree-sitter, призван стать IDE, претендующей на место VSCode  —  сегодняшнего короля редакторов кода.

Разработчики Zed являются создателями не только Atom, но и Electron.js (ранее Atom Shell)  —  фреймворка, на котором основан VSCode, и источника его проблем с производительностью.

Выпущенный недавно с открытым исходным кодом, Zed предоставляет набор мощных функций “из коробки”. Перечислим основные из них.

Невероятная скорость

Способный превзойти такие легковесные редакторы, как Sublime Text (как показано в этом бенчмарке), Zed работает почти в два раза быстрее, чем VSCode:

Бенчмарк предоставлен Zed Industries

Уникальная производительность Zed объясняется двумя основными причинами.

  • Zed создан на языке Rust с помощью нового специально разработанного фреймворка GPUI, который использует возможности GPU локального компьютера, что обеспечивает высокую скорость и надежность.
  • Zed способен задействовать несколько ядер с помощью многопоточности. Это достигается за счет использования бесконфликтных реплицируемых типов данных (CRDT).

Гладкий процесс совместной работы

Zed обладает мощным инструментарием для совместной работы. Он предлагает CRDT для поддержки совместного написания кода в реальном времени, а также интегрированный чат-интерфейс для более удобной работы.

Интеграция с искусственным интеллектом

Zed поставляется со встроенной поддержкой GitHub Copilot, а также с интегрированным помощником на основе ИИ (ChatGPT-3.5 или GPT-4), который позволяет писать и рефакторить большие объемы кода за считанные секунды.

Встроенные дополнительные возможности

Вот наиболее впечатляющие дополнительные функции Zed.

  • Языковое восприятие за счет обеспечения полного синтаксического дерева для каждого буфера по мере ввода. Если добавить к этому поддержку протокола языкового сервера (LSP), получим точную подсветку кода, мощную функцию автодополнения и беспрепятственную навигацию по коду, а также другие преимущества.
  • Полнофункциональный интегрированный терминал, обеспечивающий доступ к оболочке прямо из редактора.
  • Встроенный режим Vim и стандартные привязки в стиле VSCode, ускоряющие процесс написания кода с самого начала.
  • Разнообразные светлые и темные темы, предлагаемые на выбор пользователю, а также ожидаемые (ориентировочно к выпуску Zed 1.0) способы создания и загрузки пользовательских тем.
  • Устанавливаемый прямо из редактора CLI-инструмент для открытия файлов и проектов из терминала.

И это далеко не все возможности нового редактора (более подробно можете ознакомиться с ними на сайте Zed).

Проблемы

Будучи пока на этапе бета-версии, Zed в настоящее время не лишен некоторых узких мест, среди которых:

  • разумеется, баги;
  • не до конца проработанный способ набора текста;
  • доступность загрузки пока только на устройства Mac (хотя поддержка Windows и Linux ожидается в скором будущем);
  • отсутствие возможности создания и использования расширений (она должна появиться в следующих версиях).
  • отсутствие некоторых функций, привычных для пользователей VSCode (таких как встроенный контроль исходного кода, панель отладки и тестирования, а также функции file outline).

Многие из сегодняшних проблем Zed, как правило, свойственны бета-версии программного продукта. Наверняка большинство из них будет исправлено еще до 1.0.


Визуальная информация о Zed

А теперь перейдем от слов к изображениям: посмотрим, как выглядит новый редактор.

Интерфейс редактора Zed
Интегрированный терминал Zed
Панель команд Zed
Zed-помощник
Панели сотрудничества и чата в Zed
Раздел диагностики в Zed
Привязка клавиш по умолчанию в Zed

Заключение

Zed  —  IDE, уникальная по своей производительности, функциональным возможностям и эффективности. Это впечатляющий рабочий инструмент, хотя он все еще находится в бета-версии. Готов поспорить, что в будущем он предложит нам еще больше возможностей и станет серьезным конкурентом для популярного VSCode.

Читайте также:

Читайте нас в Telegram, VK и Дзен


Перевод статьи Yahia Berashish: Reviewing Zed: An IDE of the Future

Предыдущая статьяСамые значимые психологические исследования в UX-дизайне
Следующая статья7 стратегий ускорения приложений React Native