/
d
e
v
/
t
o
k
i
o
r
y
Блог <tokiory>
М
о
й
о
п
ы
т
п
е
р
е
х
о
д
а
с
W
e
b
S
t
o
r
m
н
а
Z
e
d
Поговорим об опыте перехода с JetBrains WebStorm на Zed, а также объясню почему, возможно, вам тоже стоит об этом задуматься.

Webstorm долгое время оставался моией любимой IDE для разработки. Я провел в ней более 1600 часов, знал практически каждый важный хоткей и даже делился собственной конфигурацией для IdeaVim. Каждый раз, когда WebStorm обновлялся я с детским трепетом и любопытством смотрел на новые фичи, учавствовал в обсуждениях и делился собственным опытом использования.

Что произошло?

Впервые я понял что Jetbrains свернули куда-то не туда, когда они добавили отдельную подписку для ИИ-ассистента. Само наличие отдельной подписки для ИИ от той же компании, что предоставляет редактор на платной основе (тоже на подписочной системе) уже является абсурдом.

На момент когда я пользовался Webstorm, у «встроенного» ИИ нельзя было выбрать провайдер, то есть доступ был только к ИИ Jetbrains. К слову, сам Assistant AI (по моему субъективному мнению) был на две, а то и 3 головы ниже, чем тот же Codeium или Github Copilot.

Вторым пунктом стали проблемы с производительностью IDE. С версии 2022 года производительность Webstorm, Goland, да и в целом любого другого дистрибутива Intellij упала в разы. С каждым новым обновлением я замечал, как моя любимая IDE работала все хуже и хуже: появлялись пролаги в меню, задержка отрисовки панелей, долгая индексация и невероятные объемы потребления памяти прямо со старта.

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

В ноябре 2024 года Jetbrains запретили скачивание их продуктов всем пользователям из РФ и Беларуси. Даже тем, у кого лицензии были за долго до введения санкций.

Пожалуй, это стало последней каплей для меня

Почему не VSCode

VSCode — это редактор на базе Electron. Многие разработчики пользуются им, потому что он прост в освоении, содержит огромную базу расширений и может быть установлен на любой системе. Честно, я пытался привыкнуть к нему, искал нужные плагины, настраивал всё, что только мог настроить, но по итогу все равно чувствовал, что с редактором что-то не так.

VSCode чувствуется громоздким, медленным, он вообще не заточен на управление клавиатурой, половину действий можно сделать только мышкой. Интерфейс резолвинга Git-конфликтов выглядел инородным, а опыт использования глобального поиска, результаты которого по какой-то мне неведомой причине открываются не по центру, а в сайдбаре — это пожалуй худшее, что со мной случалось, с момента настройки LSP для Sublime Text 3.

Интеграция с Vim казалась незавершенной, часть функций работала только внутри области редактирования, хоткеи без открытой вкладки с файлом не работали, а сама настройка кастомных горячих клавиш выглядела как насилие над уже существующей JSON-конфигурацией.

В целом, мне не совсем была понятна философия редактора. VSCode пытается крутиться между простым и легковесным редактором кода и полноценной IDE с кучей обвесов в виде плагинов.

Zed

Zed — это легковесный редактор кода, который заточен на скорость, легковесность, простоту использования и минимализм. Данный редактор зацепил меня своей простотой, он не мешает работать и не вставляет палки в колеса.

zed logo

В отличии от того же WebStorm, Zed делает основную ставку на скорость работы, он использует кастомный фреймворк для рендеринга интерфейса, благодаря чему редактирование, да и в целом работа с кодом становится гораздо более приятной.

Философия редактора “дай пользователю то, что необходимо и не мешай” прослеживается буквально везде, в Zed есть весь необходимый функционал, который должен быть у современного редактора: поддержка LSP из коробки, подсветка синтаксиса с помощью TreeSitter, установка необходимых плагинов исходя из расширения открытого файла, поддержка Vim из коробки, интерфейс для взаимодействия с Git и отладчик.

Еще одним очевидным преимуществом Zed является опенсорс. Код для редактора находится в открытом доступе, каждый может законтрибутить или форкнуть его. Это исключает ситуации, подобные тем, что случились с IDE Jetbrains.

Миграция

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

Когда я использовал Neovim, мне казалось что все остальные редакторы никогда не будут хороши так же, как Neovim. Когда я начал использовать WebStorm, мне казалось, что я никогда не выйду на тот же уровень производительности, что был при Neovim, однако, вскоре все стабилизировалось. То же произошло с Zed, по началу было очень сложно, мне не хватало того количества функционала, что предоставляет Webstorm, однако, вскоре я привык и научился использовать то, что есть.

Zed показал, что я не использую и половины того инструментария, что был в WebStorm, но как оказалось, этот инструментарий не особо то и нужен.

Возможно, если бы я узнал про Zed раньше, я бы и не начал пользоваться WebStorm, ведь у Zed идеальная поддержка Vimlike-хоткеев, самый удобный поиск из всех что я пробовал, те же возможности рефакторинга, что и в WebStorm, а также хорошая поддержка кастомных ИИ.