ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ 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