Відкритий редактор Zed, який підтримує спільне написання коду

Оголошено про відкриття вихідних текстів розрахованого на багато користувачів редактора коду Zed, що розвивається під керівництвом Натана Собо (Nathan Sobo), автора проекту Atom (основа VS Code) за участю команди колишніх розробників редактора Atom, платформи Electron і бібліотеки для розбору синтаксису Tree-sitter. Вихідні тексти серверної частини, що забезпечує координацію розрахованого на багато користувачів редагування, відкриті під ліцензією AGPLv3, а самого редактора - під ліцензією GPLv3. Для формування інтерфейсу користувача задіяно власну бібліотеку GPUI, відкриту під ліцензією Apache 2.0. Код проекту розвивається мовою Rust. З платформ поки що підтримується тільки macOS (у розробці підтримка Linux, Windows та Web).

Редактор Zed примітний орієнтацією на організацію спільної розробки в режимі реального часу і досягнення максимальної відточеності, продуктивності та чуйності інтерфейсу, в якому за задумом творців проекту всі дії при редагуванні повинні виконуватися миттєво, а завдання кодування вирішуватиметься найефективнішим способом. У Zed зроблено спробу поєднати в одному продукті легковажний редактор та функціональність сучасних інтегрованих середовищ розробки. При розробці Zed враховано досвід створення Atom і зроблено спробу втілити деякі нові ідеї про те, як має виглядати ідеальний редактор для програміста.

Висока продуктивність Zed досягається завдяки активному використанню багатопоточності з використанням всіх доступних ядер CPU, а також виконанню розтеризації вікон на стороні GPU. У результаті вдалося досягти дуже високої швидкості реакцію натискання клавіш з відображенням результату вже в наступному циклі оновлення екрана. У проведених тестах час реакції на натискання клавіші Zed оцінюється в 58 мс, для порівняння в Sublime Text 4 цей показник дорівнює 75 мс, в CLion - 83 мс, а в VS Code - 97 мс. Час запуску Zed оцінено в 338 мс, Sublime Text 4 - 381 мс, VS Code - 1444 мс, CLion - 3001 мс. Споживання пам'яті Zed становило 257 МБ, Sublime Text 4 - 219 МБ, VS Code - 556 МБ, CLion - 1536 МБ.

Серед можливостей Zed:

  • Врахування повного синтаксичного дерева різних мов програмування для коректного підсвічування синтаксису, автоформатування, структурного виділення та контекстного пошуку;
  • Підтримка звернення до серверів LSP (Language Server Protocol) для автодоповнення, навігації за кодом, діагностики помилок та рефакторингу.
  • Можливість підключення та зміни тем оформлення. Наявність світлих та темних тем.
  • За замовчуванням клавіатурних комбінацій VS Code. Опціональний режим сумісності з клавіатурними комбінаціями та командами Vim.
  • Підтримка інтеграції з GitHub Copilot для допомоги в написанні та рефакторингу коду.
  • Інтегрований емулятор терміналу.
  • Спільна навігація за кодом та редагування коду одночасно декількома розробниками в одному загальному робочому просторі.
  • Кошти для спільного обговорення та планування робіт у команді. Підтримка ведення завдань, створення нотаток та відстеження проектів, текстовий та голосовий чат.
  • Можливість підключення до роботи над проектом з будь-якого комп'ютера без прив'язки до даних на локальній системі. Робота із зовнішніми проектами здійснюється за аналогією з роботою з кодом, розміщеним на локальному комп'ютері.

Відкритий редактор Zed, який підтримує спільне написання коду

Для фінансування роботи команди розробників Zed у режимі повного робочого дня проект має намір надалі використовувати бізнес-модель, що базується на наданні додаткових платних сервісів. Першим із таких сервісів стане «Zed Channels» з реалізацією віртуального офісу для організації роботи команд розробників у великих проектах, що дозволяє поєднатися разом кільком розробникам, взаємодіяти з іншими учасниками та спільно писати код. На базі Zed Channels запущено ініціативу Fireside Hacks, в рамках якої будь-хто може в режимі реального часу спостерігати за розробкою самого Zen. У майбутньому також планується надати сервіс з власним інтелектуальним помічником у стилі GitHub Copilot і, можливо, реалізувати платні спеціалізовані доповнення, що враховують специфіку розробки комерційних продуктів та використання на підприємствах.

Відкритий редактор Zed, який підтримує спільне написання коду


Джерело: opennet.ru

Додати коментар або відгук