LINUX.ORG.RU

Гудбай emacs, или пользователь с долгим стажем решил осилить vscode

 , , , ,


0

3

Использовал emacs в основном для численного моделирования на fortran/python/latex на удалённом кластере. Всё под линуксом естественно. Emacs в этой области рулит и педалит. И тут вдруг взбрелось, а не осилить ли чего-нибудь новенькое, например сделать фронтенд к своей утилитке встроенный прямо в IDE. Это вроде должно быть модно и удобно.

И тут вижу я преимущество у vscode, поскольку он использует более современный стэк для конфигов/плагинов (typescript/json), который вряд ли потеряет актуальность в ближайшие лет 10. А насчёт elisp я не уверен, использует ли его кто-то за пределами экосистемы emacs, и долго ли он вообще протянет. Маленькую библиотеку своих плагинов (для себя) хочется делать на чём-то современном и популярном. Да и потом, сейчас чуть ли не любой туториал по программированию первым делом советует устанавливать vscode, так что почему бы и нет?

Короче, установил, на ощупь оказался на удивление привычным для пользователя с обезображенным емаксом сознанием. Все нужные плагины (аналоги привычных emacs мод) нашёл и установил без проблем. Теперь нужно осилить, как самому делать плагины. Из недостатков пока что вижу отсутствие возможности запускать vscode в терминале без графической оболочки, а это всё-таки удобно для удалённого редактирования, но эту проблему вроде как можно обойти с помощью vscode server.

Если кто-то может предложить альтернативный vscode IDE общего назначения, расширяемый с помощью более-менее современного стэка, в котором можно не только кодить, но и работать с документами, заметками, интегрировать с ИИ и т.д., то кидайте ссылки. Ну и срачь приветствуется, похвалите/поругайте за выбор.



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

наличие универсального и уже знакомого языка для расширений ничего вообще не меняет

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

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

Чуть ли не главная мотивация при создании neovim — уйти от vimscript к универсальному языку, который уже многие знают. Потому что хорошо разбираются в vimscript только несколько маньяков, у остальных нет мотивации его ковырять.

Главной мотивацией там вроде было, что покойный автор vim очень неохотно принимал патчи со стороны.

Но по поводу языка согласен - за редким исключением не хочется изучать язык, у которого исключительно узкая сфера применения, знание которого нигде больше в жизни не применишь, и наоборот. Потому что это реальные усилия, которые даже теоретически не окупятся, даже просто каким-то удовольствием от разработки (потому что vimscript не выглядит приятным языком хотя бы просто для хобби).

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

Я так и не выучил его, но кое-что написал себе пользуясь справкой и методом тыка. Качество этого конечно донное. Когда смотрю код полезных плагинов, то офигеваю, что там люди вытворяют. Язык мягко говоря неочевидный. Луа правда тоже не подарок, но как-то сильно попроще. Брам конечно странный был, такое накрутить.

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

Кажется даже не важно с vscode или нет, просто vim такое до сих пор не умеет нормально. В neovim худо-бедно сделали remote ui, но пока не до конца.

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

В самом контейнере то ничего менять не надо. В контейнер монтируется каталог с кодом с файловой системы хоста, и работаешь, как обычно, в любом редакторе. В Idea разработка в контейнере так реализована, думаю, как и везде. Потому что эти VS Code devcontainers «не осилил». Но уверен, что и там то же самое, т.к. менять код внутри самого контейнера - безумие.

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

В самом контейнере то ничего менять не надо. В контейнер монтируется каталог с кодом с файловой системы хоста, и работаешь, как обычно, в любом редакторе. В Idea разработка в контейнере так реализована, думаю, как и везде. Потому что эти VS Code devcontainers «не осилил». Но уверен, что и там то же самое, т.к. менять код внутри самого контейнера - безумие.

На самом деле нет. Потому что внутри контейнера запускает LSP сервер, к которому цепляется vscode. И ему надо видить те же пути, что видит LSP сервер. В целом это можно обойти трансляцией на каком-то из уровней, но, насколько я знаю, из коробки так никто не умеет.

Второй момент – код ты монтируешь, да. А шареные хидеры в /usr – остаются внутри контейнера, и если ты, внезапно, захочешь их почитать, то vim их уже не увидит.

devcontainer это, по большому счету, уже виртуалка, просто без VM.

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

Так понятнее, спасибо.

Но это тоже можно обойти. Установив LSP и заголовки в систему, и подключив LSP к neovim.

Больше ручных действий, да, но ненамного, и не настолько уж сложно. Сложно для джуна, для человека, который уже понимает, что к чему, большой сложности не составит.

Chiffchaff
()

Очень понравилась интеграция с copilot из коробки. Супер полезный инструмент. В emacs пользуюсь gptel, но он требует ручной настройки, хотя и не сложной.

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

Установив LSP и заголовки в систему

Тогда придётся следить за согласованностью состояния хоста и контейнера. А ведь можно не только прокидывать файловую систему хоста в контейнер, но и наоборот.

ugoday ★★★★★
()

преимущество у vscode, поскольку он использует более современный стэк для конфигов/плагинов (typescript/json), который вряд ли потеряет актуальность в ближайшие лет 10

вряд ли потеряет актуальность

Sublime: 18 января 2008

Atom: February 26, 2014

VSCode: 14 ноября 2015

Как в том анекдоте - «А что толку с ними знакомиться, они каждый год новые»

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

Можно ли в дев контейнер ставить и запускать свой софт? Если да, то мой выбор — VNC. Как вариант, хотелось бы всё разрулить монтированием графики, мыши и клавиатуры, но не уверен, что plan9port на это способен.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 6)
Ответ на: комментарий от mega_venik

А емаксу уже пятьдесят и он ещё столько же проживёт изи, пока на фоне как в футураме рождаются и умирают все эти ваши нумпад++

Emacs только года три назад научился номера строк показывать без костылей и тормозов. И пользовательская база у него какая, 4%?

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

Оно так долго продержалось только благодаря поддержке от мегакорпы. Ну и Стасон прав, это недоемакс для бедных виндузятников. То, что на линуксе оно тоже прижилось, говорит о качестве самих линуксоидов, готовых жрать с любой лопаты, лигь бы не слишком напрягать межушный ганглий. Это обычно вебмакаки, которым директор зоопарка приказал ковырять LAMP. Вот они и ковыряют как могут.

anonymous
()
Ответ на: комментарий от gaylord

Emacs только года три назад научился номера строк показывать без костылей и тормозов. И пользовательская база у него какая, 4%?

так мы тут обсуждаем вопрос стоимости инвестиций в технологический стек в разрезе срока жизни этого стека

а не количество js-макак, накупленных майкрософтом

mega_venik ★★★
()

Поругаю за то что vscode так себе опенсорс. Т.е. сильно завязан на m$. Без этой фигни похвалил бы. А так шило на мыло. Emacs колется, vscode завтра может сделать как Qt.

PS

В vscode пофиксили хоткеи в плагинах в linux-ах, в которых захардкожены windows alt и ctrl кнопки? Не помню какая из них по OpenDesktop стандартам не обязательна на линуксах и потому разрабы хромого её принципиально не хотят включать в линуксе. А как следствие весь софт на электроне в неё не может. Такое было года 4 назад, с тех пор я этих уродцев палкой не тыкал.

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

явно проще кодить свои плагины (на lua)

Но ведь js куда лучше lua. И python лучше lua и вообще почти все ЯП лучше lua, кроме perl-а, perl хуже. Другое дело что интегрировать lua проще чем, js, а остальные интегрированные ЯП он по производительности рвёт как тузик грелку.

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

Не уверен. Старшее поколение разрабов которые привыкли к emacs-у уже уходит естественным путём в могилу (50+20=70), а именно они составляли костяк базы, новых молодых юзеров ни у emacs-а, ни у vim-а не наблюдается лет 10. Так что будут перемены в течении 10 лет, когда старички совсем умрут/выйдут на пенсию.

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

новых молодых юзеров ни у emacs-а, ни у vim-а не наблюдается лет 10

за емакс не скажу, т.к. сам не пользуюсь, возможно, там лисп действительно кого-то отпугивает, но вим то чего вдруг сюда записывать?)

да и в целом не вижу поводов чтобы красноглазики вдруг переводились куда-то. их всегда должен быть примерно одинаковый процент в популяции и они постоянно будут обо что-то «I use %toolname%, btw»

вон там, габен пришёл, вайн починил, игры искаропки на линуксах сделал, так красноглазые теперь сидят конфигами winlator’а для своих мобилок обмениваются

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

Использовал emacs в основном для численного моделирования на fortran/python/latex на удалённом кластере.

Очки протри, болезный.

Ну почему? Мне это утверждение тоже кажется смешным. Сказал бы «Использовал emacs в основном для редактирования и написания программ численного моделирования на fortran/python и обработки результатов на latex проводя эксперименты на удалённом кластере.» - вопросов бы не было. Тоже коряво сказано, но не так смешно.

VIT
()
Ответ на: комментарий от masa

Не гони, он всегда их показывал без костылей и тормозов. Если же ты про цифирки в колонке слева от текста, то они в принципе не нужны, поэтому и не работали.

Они нужны, поэтому их принесли наконец-то нормально.

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

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

По мне так эта колонка - визуальный мусор или для мышевозов.

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

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

Иногда тебе нужен контекст.

По мне так эта колонка - визуальный мусор или для мышевозов.

По мнению других людей это не так.

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

С каких пор сложность использования это преимущество?

Сложность только в настройке, с использованием как раз всё отлично. Относительная сложность это цена свободы. А «простота» виндоподелок оплачивается тем, что ты подсел на толстый хрен злобной мегакорпы. Если нравится такое, я не возражаю. Зачем линукс только ставите? Правда на поверку все эти поделия ни разу не простые, так что расплачиваетесь вдвойне в итоге.

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

Сложность только в настройке, с использованием как раз всё отлично.

А vscode просто работает, к тому же плюс-минус одинаково у всей команды.

Относительная сложность это цена свободы.

Нет, это просто плохие дефолты.

А «простота» виндоподелок оплачивается тем, что ты подсел на толстый хрен злобной мегакорпы.

Чем это отличается от злобного хрена штольмана?

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

Столлман не будет торговать твоей жопой, не сменит лицензию, не переведет тебя на платную подписку и не ликвидирует емакс в один прекрасный день (даже если захочет это сделать). Аргумент «просто работает» конечно веский. Винда просто работает, зачем же ты пердолишься с линаксом? Тем более, это родная платформа производителя, и наверняка там поделка работает лучше.

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

Столлман не будет торговать твоей жопой

И ms не будет.

не сменит лицензию, не переведет тебя на платную подписку и не ликвидирует емакс в один прекрасный день

Чего это вдруг? Регулярно драмы из-за смены лицензий и смерти софта.

Аргумент «просто работает» конечно веский. Винда просто работает, зачем же ты пердолишься с линаксом?

Потому что лялекс удобнее для разработки софта под лялекс, что кормит меня уже многие годы. Для развлечений у меня была венда, пока лялекс не стал просто работать.

Тем более, это родная платформа производителя, и наверняка там поделка работает лучше.

Не, оно одинаково хорошо везде. В отличии от емакса лол.

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

Ну в общем я не очень понял чем это отличается от перейти к строке.

Может ты емаксом не пользуешься, поэтому смотришь с позиции привычки других редакторов

masa ★★
()