LINUX.ORG.RU

Zed 1.15

 , ,

Zed 1.15

0

1

12 августа состоялся стабильный выпуск Zed 1.15.0, высокопроизводительного редактора кода. Zed разрабатывается создателями Atom и Tree-sitter, поддерживает Linux, macOS и Windows, а его исходный код преимущественно распространяется под лицензией GPL-3.0-or-later. Предварительная сборка Zed 1.15.0 появилась 5 августа, а спустя неделю изменения были перенесены в стабильный канал.

Zed написан преимущественно на Rust и распространяется по лицензии GPL 3+ (отдельные компоненты распространяются по лицензии Apache 2). Используется собственный GUI-фреймворк GPUI с аппаратным ускорением через Vulkan / Metal / DirectX.

Одним из основных новшеств этой версии стала настройка git.diff_base, позволяющая выбрать базу для отображения изменений Git. По умолчанию Zed, как и прежде, сравнивает незакоммиченные изменения с HEAD, но теперь редактор можно переключить в режим сравнения всей текущей ветки с точкой её расхождения с основной веткой репозитория. Настройка влияет на индикаторы изменений на полях редактора, цвета состояния файлов и команду git: diff, а в графическом интерфейсе доступна под названием Diff Against Default Branch.

Дополнительно появилась настройка gutter.git_gutter_width, позволяющая менять ширину индикаторов Git diff на полях редактора.

Для пользователей Linux заметным изменением стала поддержка перетаскивания файлов из Project Panel во внешние приложения при работе в Wayland. Аналогичная возможность реализована для macOS. Ранее drag-and-drop из панели проекта во внешние Wayland-приложения не поддерживался.

Разработчики JavaScript и TypeScript получили связанное редактирование пользовательских элементов JSX и TSX: при переименовании открывающего тега автоматически изменяется соответствующий закрывающий. Кроме того, расширена поддержка Emmet — автодополнение теперь работает внутри return и тел стрелочных функций JSX и TSX. Для файлов .bat и .cmd редактор теперь предлагает установить расширение windows-batch.

Изменения затронули и средства работы с ИИ. В системе Edit Predictions добавлена поддержка самостоятельно развёрнутых моделей Sweep Next Edit, подключаемых через OpenAI-совместимый интерфейс. Реализован формат запросов sweep, а режим infer может автоматически определять модели, содержащие sweep-next-edit в имени.

Среди остальных изменений:

  • улучшен переключатель проектов — теперь текущий проект можно закрыть прямо из него с автоматическим переходом к соседнему локальному или удалённому проекту;
  • ссылки на репозитории расширений получили значки соответствующих сервисов;
  • в списке установленных расширений разработки теперь отображаются предоставляемые ими возможности;
  • добавлен контекст multiple_selections, позволяющий назначать отдельные сочетания клавиш для режима с несколькими выделениями.

В Zed 1.15.0 также устранено большое количество ошибок. В частности, исправлен неограниченный рост встроенного npm-кэша, который мог занимать несколько гигабайт дискового пространства, и устранена проблема X11, из-за которой окна Zed иногда не перерисовывались после того, как снова становились видимыми.

Исправлена утечка памяти при просмотре изображений, которые постоянно изменяются на диске, регистрация Git-подмодулей в неправильном каталоге .git/modules, аргументы при передаче файлов через scp и sftp, а также несколько проблем Agent Panel и MCP-серверов. Для Dev Containers исправлено выполнение строковых lifecycle-команд: теперь они запускаются через /bin/sh -c в соответствии со спецификацией.

Отдельно разработчики предупреждают об изменении работы GitHub Copilot. Аутентификация Copilot Chat теперь отделена от аутентификации механизма Edit Predictions, поэтому пользователям, которые уже подключали Copilot, после обновления потребуется пройти авторизацию повторно.

Zed доступен в готовом виде для Linux на архитектурах x86-64 и AArch64, а также для Windows и macOS. Полный список изменений опубликован в официальных примечаниях к выпуску Zed 1.15.0.

>>> Источник

★★★★★

Проверено: cetjs2 ()
Последнее исправление: hobbit (всего исправлений: 4)
Ответ на: комментарий от sena

Они лучше потому что я их изучил один раз в 98м и с тех пор наблюдаю как один «лучший в мире» редактор сменяет предыдущего примерно раз в 2-3 года…

Ну, тогда mcedit - лучший. Его я освоил в 98-м и с тех пор он меня радует своей постоянностью.

vvb333007
()
Ответ на: комментарий от kaldeon
  1. Продуманные настройки по умолчанию.
  2. Оптимизация. Пользователи поделок на Electron должны страдать.
  3. Низкий порог входа.
  4. Бесплатность.
dunmaksim
()
Ответ на: комментарий от yatazet
  1. Запоминать все скопированные и вырезанные фрагменты текста (kill ring).
  2. Не собирать и не отправлять телеметрию.
  3. Регистры.
  4. Прямоугольники.
  5. Работать в терминале, когда это нужно.
  6. Файловый менеджер (Dired).
  7. Закладки, в том числе на каталоги.
dunmaksim
()
Ответ на: комментарий от ugoday

Ну мне в первую очередь IDE для pandas+SQL нужно. И вот реальность такова, что если бы pydev в Eclipse умел в блокноты jupyter 1:1 как это сделано в VSCode и если бы я нормально смог настроить textmate подсветку SQL внутри python кода (абсолютно невнятная документация, каша из версий, много непонятного), то он был бы просто ЛУЧШИМ для аналитика. А, ну и технически редактор в Eclipse не умеет в огромный буфер частями, и висит на больших файлах.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 2)
Ответ на: комментарий от Shadow

Аппетит приходит во время еды и часто ты сначала получаешь вещь, а потом только понимаешь, что она тебе очень нужна. Вот, десятки тысяч лет разжигали огонь палочками или кресалом и горя не знали. А потом изобрели спички и оказалось, что всё это время без них страдали и обратно не хотят. Так что когда говорят, что расширенные возможности emacs’а избыточны, пользователи не врут, заблуждаются совершенно искренне. Со своей же стороны, я имею заявить следующее: Я читаю почту в emacs и если, например, письмо требует какое-то действие в будущем, то я жму C-c l, для того, чтобы сохранить ссылку на письмо, затем C-c c для вызова capture template, во всплывающем буфере t, чтобы создать элемент todo, где автоматом вставится ссылка на письмо, запишу (в самом лучшем редакторе на свете), что нужно сделать и когда и по вызову повестки дня C-c a или C-c t получу напоминание о задаче со всем необходимым контекстом. Что-то проще и удобнее этого не могу даже представить, минимальное количество усилий и отвлекающих элементов. И систему работы с текстом, которая не предоставляет аналогичного уровня удобств, я даже не рассматриваю.

ugoday ★★★★★
()

Про известную цитату из Тарантино уже шутили?

KOHb-TPOJIJIbJIEP ★★
()
Ответ на: комментарий от ugoday

У меня воркфлоу несколько иной, но мне нужна IDE с SQL клиентом, с системой блокнотов, с интеграцией SQL в программном коде, с ASCIIDOC, хорошими средствами редактирования и отладки python, TS, C/C++ и, возможно, C# и FreePascal + org babel из emacs очень нравится.

Пока этому теоретически подходит emacs, но я попробовал это всё настроить, и оно у меня всё п...лось в глючное нечто :( Т.е. я разочарован не редактором, а возможностями его расширения. Ну, может, года через два-три, смогу нормально. Пока ещё попробую neovim, но он блин без GUI менюшек (например, контекстных) - то, что можно сделать в стиле turbovision, вообще не тот UX. Зато lua, в lua я умею и могу.

С другой стороны, в neovim отличные средства работы с jupyter блокнотами, ГОРАЗДО лучше emacs, но нет org mode.

В любом случае, сабж в этом контексте печален. Да и в VSCode я бОльшую часть плагинов использую от Microsoft - от сообщества такие мелочи, что на фоне даже eclipse они ни о чём. Вот если на сабж перенесут datawrangler, python с блокнотами и PostgreSQL - тогда он сможет занять очень большую долю. А в текущем виде ещё один редактор.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 3)
Ответ на: комментарий от Shadow

средства работы с jupyter блокнотами, ГОРАЗДО лучше emacs, но нет org mode.

Так юпитер же нечто подобное org-babel, только на веб-технологиях, не? Соответственно, если есть org-mode, то он и не нужен особо.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Нет, это REPL сервер, на котором сидят сервисы, которые ты задалбываешь из подобия org-mode. И вот главная сложность в редакторе/IDE в этом протоколе, а не в UI.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Так я прямо из org-babel могу обращаться к внешним сервисам. И у меня прямо в emacs есть repl для почти чего угодно. Т.е. я, может, и сам сейчас в ситуации «не попробуешь, не узнаешь чего теряешь», но пока не ясно, что jupiter даёт сверх уже имеющегося. Можете описать свой рабочий процесс?

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Можете описать свой рабочий процесс?

В веб-приложении - нет, а вот в VSCode:

* Грузим таблицу в pandas датафрейм => он автоматом открывается в datawrangler, можно посмотреть, посмотреть статистики, заменить значения в ячейках * ОЧЕНЬ ЛЁГКОЕ создание записей в блокноте - обычно несколько копий с разными вариантами обработки датафрейма, чтобы попробовать по-разному

- и так можно хочешь - с таблицами, хочешь - с изображениями, хочешь - с API. Т.е. это вообще не org mode, это именно блокнот по обработке какого-нибудь объекта. Ну а потом всё это собирается в один скрипт, pandas меняется на polars, добавляется асинхронность если надо, и в прод.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от vvb333007

Если он решает твои проблемы, почему нет? Я знаю людей, которые довольствуются простыми редакторами.

Лучшее для меня вовсе не обязательно лучшее для тебя.

sena ★★★
()
Ответ на: комментарий от Shadow

это именно блокнот по обработке какого-нибудь объекта

Всё ещё не понятно, в чём разница с org-babel.

Ну а потом всё это собирается в один скрипт

Это переизобретение literate programming? (на всякий случай, «переизобретение» без негатива, просто пытаюсь связать с чем-то известным).

ugoday ★★★★★
()
Ответ на: комментарий от dunmaksim

Порог входа значительно ниже

Это редактор для программистов или для идиотов? Если для программиста порог входа в редактор является проблемой, этому человеку стоит подумать о выборе другой профессии.

yorshka
()
Ответ на: комментарий от peregrine

А через что работает WASM?

Через виртуальную машину. Есть несколько реализаций для разных платформ, например wasmtime, или wasmer и др. Есть биндинги для разных языков. WASM работает в песочнице, но есть стандарт WASI для доступа к системным функциям.

А то может есть смысл в свой софт вносить плагины на нём.

Он собственно для этого и создавался. Иишка в помощь.

П.С. Zed идёт с wasmtime в пакете например.

yvv1 ★★
()
Последнее исправление: yvv1 (всего исправлений: 1)

преимущественно на Rust

Вот это преимущество. Т.е. преимущественность.

water_closed
()
Ответ на: комментарий от yatazet

Дополню ответ следующим соображением.

  1. Да, это верно, если использовать редактор на уровне блокнота, то его учить не нужно совсем, а если на уровне чуть выше, то всё равно быстро. Можно хоть каждые полгода скакать с редактора на элеткроне в редактор на расте и обратно, не затратив на это существенных усилий.

  2. Да, это верно, если в редакторе есть механизм расширений, то со временем там можно кучу всего добавить. Может и не как в emacs’е, но много. Технически, автор может вообще предложить скриптовый язык с S,K,I комбинаторами и сообщество допилит до полноценного IDE.

Однако, два этих тезиса противоречат друг другу. Посмотрел я Zed’овые расширения. Не то чтоб совсем-совсем плохо, но их мало. И между студенческой поделкой и взрослым продуктом есть большая разница. Преобразование одного в другое требует времени, усердия, мастерства и терпения. А откуда возьмётся время, если мы белкой с редактора на редактор скачем?

ugoday ★★★★★
()
Ответ на: комментарий от BydymTydym

Linux сегодня – основная платформа для OpenZFS. Думаю, не будет преувеличением заявить, что подавляющее большинство установок ZFS в принципе за последние 10 лет – это линукс.

yorshka
()
Ответ на: комментарий от ugoday

Вспомнил, я тебя уже когда-то спрашивал и смотрел на него. Но он для нормальной работы требует скачивать всю почту локально. Как ты с этим живёшь? У тебя всё происходит на одном компьютере?

Что если компьютеров 2-3, как ты синхронизируешь почту и все свои заметки?

sena ★★★
()
Последнее исправление: sena (всего исправлений: 2)
Ответ на: комментарий от sena

Но он для нормальной работы требует скачивать всю почту локально. Как ты с этим живёшь?

А в чём проблема?

$ du -sch ~/Maildir
7.4G    /home/$user/Maildir
7.4G    total

$ mu find "" | wc -l
57800

Накопилось слегка с 2013-го года. Лежит на диске, хлеба не просит.

как ты синхронизируешь почту

Зачем? Есть сервер. Есть множество почтовых клиентов. Каждый клиент общается с сервером абсолютно независимо, но т.к. они все общаются с одним и тем же сервером, то и получают копию одних и тех же писем.

и все свои заметки?

Так это же файлы. Просто текстовые файлы на диске (некоторые зашифрованные, но это не важно). Хоть в git клади, хоть rsync используй, хоть на дискетке переноси между компами. Проще и переносимее текстового файла вряд ли что можно придумать.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Нет. Всё-таки org-babel - это документ, а блокнот - это большая полу-помойка кусков кода, которые как кубики тасуешь и складываешь. Да, их используют для literate programming, но мой workflow на него не похож.

Shadow ★★★★★
()
Ответ на: комментарий от ugoday

Зачем? Есть сервер. Есть множество почтовых клиентов. Каждый клиент общается с сервером абсолютно независимо, но т.к. они все общаются с одним и тем же сервером, то и получают копию одних и тех же писем.

Ты получаешь, везде копию, но потом же ты с ней что-то делаешь, либо цепляешь какие-то тэги, метки, в какую-то папку складываешь, как минимум прочитанные письма должны отметиться как прочитанные не только на этом компе, но и на всех остальных. Иначе я открою на другом, а у меня опять всё отмечено как непрочитанное, нет ни тэгов ни меток, не разложено по папкам и т.п.

IMAP эти проблемы во многом снимает.

Так это же файлы. Просто текстовые файлы на диске (некоторые зашифрованные, но это не важно). Хоть в git клади, хоть rsync используй, хоть на дискетке переноси между компами. Проще и переносимее текстового файла вряд ли что можно придумать.

Ну вот я тебя и спрашиваю, как ты их синхронизируешь?

sena ★★★
()
Ответ на: комментарий от sena

IMAP эти проблемы во многом снимает.

Ну, так я IMAP и использую. По-моему, это стандарт де факто в мире электронной почты уже много-много лет. Я и письма по папкам раскладываю с помощью фильтров Sieve на сервере. Очень удобно, без лишних телодвижений и никакого бардака и несогласованности между разными клиентами.

как ты их синхронизируешь?

Свой git сервер. Как-то привык хранить историю изменения файлов.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Ну, так я IMAP и использую. По-моему, это стандарт де факто в мире электронной почты уже много-много лет. Я и письма по папкам раскладываю с помощью фильтров Sieve на сервере.

Так mu4e же не умеет IMAP. То есть IMAP ты используешь только для того чтобы извлечь письма с помощью какой-то третьей программы.

Хорошо, допустим sieve отработал на сервере, разложил по папкам, потом ты каким-нибудь условым fetchmail получил всё это себе в maildir локально.

Но дальше-то как?

Дальше какие-то письма удаляешь, какие-то вручную перемещаешь в папку, потом какие-то отмечаются прочитанными, какие-то нет. Вот это всё остаётся только у тебя локально. Как ты это синхронизируешь? Или ты maildir в git суёшь???

sena ★★★
()
Ответ на: комментарий от sena

Всё верно. Для работы с IMAP используется isync. Ну или что угодно другое, что умеет синхронизировать IMAP c Maildir.

Isync синхронизирует в обе стороны. Т.е. если ты удалил письмо локально. То после следующей синхронизации оно удалится и на сервере. А затем и на других клиентах.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Isync синхронизирует в обе стороны.

А! Тогда понятно. Но тогда неизбежны ситуации когда возникают конфликты?

sena ★★★
()
Ответ на: комментарий от sena

Я не помню, чтоб были, а данная схема у меня уже лет десять используется. Т.е. наверное если с разных почтовых клиентах одновременно несовместимые действия делать, то будут проблемы. Но это уже из разряда «нарочно член дверью прищемить». Всё ж это почтовый сервер, а не транзакционная база данных. При обычном использовании в каждый момент времени работаешь за одним почтовым клиентом. И проблем нет.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Интересно. У меня правда почты на 27гиг накопилось, но тоже терпимо…

Единственную проблему вижу, на новой машине придётся первый раз ждать, пока всё скачается.

sena ★★★
()
Ответ на: комментарий от sena

Покачается-покачается, да и скачается. Зато потом быстро будет. Всё ж таки новые компы не каждый день покупаешь.

P.S. Я полагаю, что просто скопировать файловый архив с одной машины на другую будет достаточно. Но на 100% не уверен.

ugoday ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.