LINUX.ORG.RU

Есть ли IDE лучше KDevelop?

 , , ,


1

1

Долгое время использую KDevelop для разработки на C, C++, Python, PHP/JavaScript/HTML.

Впринципе оно меня всем устраивает, но есть ряд минорных косяков. Поэтому возник вопрос - а есть ли что-то лучше?

От IDE требую базовой функциональности:

  1. Навигация по коду - переход к определению, к объявлению, поиск мест где используется функция/переменная.

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

  3. Простейший рефакторинг - переименовать переменную, тип.

Помимо этого, желательно то, что является плюсом KDevelop - проектом является каталог, для сборки используется напрямую нормальная система сборки (make,cmake,meson) а не внутри-IDEшное нечто.

Из очевидных альтернатив вижу Eclipse, VS Code и возможно Qt Creator.

У последнего как-то скудно с языками, куцые возможности, вроде бы перечисленные выше пункты есть но реализованы намного менее удобно чем у KDevelop.

Eclipse - как оно? Какой-то монстр, но я его внимательно никогда не тыкал, есть ли смысл?

VS Code - относительно неплохо, но вот с PHP не срастается. Установил дополнение, и все работает как мне надо, но - только если открыть файл через диалог открытия файлов. Если открыть каталог на панели слева, и там тыкать по файлам - это дополнение не активируется. Вот как этим пользоваться? Почему так? Я не понял.

Возможно, стоит рассмотреть что-то еще?

★★★★

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

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

Поддерживается virtualenv.

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

Можешь вообще думать что ты в домике, и? :) Где-то под капотом твой «новый код» опирается на странные предположения :)

Логику включи. Я пишу не библиотеки со старым кодом, а новый код используя библиотеки. Поэтому —->>> меня интересует в IDE не поддержка старого кода, который я не пишу, а поддержка нового кода который я пишу.

Более того - если IDE поддерживает новый стандарт, то и со старыми проблем не будет. Наоборот это не работает.

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

Просто хейтеры эклипса, клепающие комбайны на основе... тех же идей, вид сбоку, обречены его в итоге переизобретать :) И да, модный хипстерский конструктор комбайнов с плоской шкуркой остается конструктором комбайнов, а не собственно IDE :) Слишком универсальным пытается быть... При том что джава для окучивания плюсов — это вообще странная идея :)

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

Если уж пользоваться vscode, то пользоваться освобожденной версией - vscodium

Либо - Code-OSS.

Но с некоторыми дополнениями, например PlatformIO у меня были проблемы на свободном.

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

Какая разница, чем плюсы окучивать? Эклипс меня покорил нейтивным и не лагающим GUI. Остальное раньше лагало, но на SSD и в VM, отличной от стандартной hotspot, лагает в разы меньше IDEA.

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

И это всё без дополнительных планинов? Т.е. так работает KDevelop из коробки?

А как запускать выполнение скрипта? В KDevelop можно настроить HotKey для Run скрипта?

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

Или пилить Eclipse Theia, но я до этого ещё не дошёл. Таки браузерный GUI бесит.

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

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

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

Вообще надо пользоваться ed. Очень функциональное IDE :)

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

Рантайм джавы добавлять

чтобы вменяемую IDE построить быстро. Это IMHO терпимые издержки.

Если бы VS Code не черезжопурисовалGUI, а хотя бы как эклипс, был бы сильно лучше.

IMHO пофиг, какой рантайм, важно, какая технология в итоге рисует это на экране. Если то, что напрямую все делают, рисовать черезь семь абстракций (да хоть через две), никакой V8 не сделает интерфейс достаточно отзывчивым.

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

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

И это всё без дополнительных планинов? Т.е. так работает KDevelop из коробки?

Ну там надо плагин питона активировать.

А как запускать выполнение скрипта? В KDevelop можно настроить HotKey для Run скрипта?

Настраивается имя запускаемого файла. Можно настроить хоткей, естественно, это же IDE.

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

VS Code

Не тормозит. Редактор стал таким популярным, что его вылизали до блеска. Плагины да, иногда подводят.

Несколько лет назад была драма с vscode. Оказалось, что он перерисовывал всё окно при мигании каретки ввода текста, что неслабо нагружало ЦП. Посмеялись, исправили.

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

Все эти надмозги слишком ущербны и больше раздражают

Класс, и синдром утенка у меня а не у тебя. Ты точно в курсе что это?

Тебя просили не переколбасить форматирование

Меня никто не просил, я не джун на галерах. Захочу и переколбашу в своем проекте что мне надо, на чье-то мнение по этому поводу мне плевать.

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

слушай, он не тормозит, он лагает. Это мс - когда играешь в комп на гитаре, 2 мс не замечаешь, 4-6 - бесят. Вот и VS Code также.

Хотя, твой user pic подсказывает мне, что ты и 6 мс не замечаешь.

Специально для тебя: https://www.youtube.com/watch?v=_OBYdCbRwMM

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

Зависит от use-case. ж)

Вот этого набора плагинов мне более чем достаточно, что бы сделать из vim полноценный Go IDE, которым я профессионально пользуюсь каждый день (напрямую к Go тут относится только один, а вот плагины tpope очень советую, дядька дело делает):

start	https://github.com/fatih/vim-go
start	https://github.com/lifepillar/vim-mucomplete
start	https://github.com/tpope/vim-eunuch
start	https://github.com/tpope/vim-fugitive
start	https://github.com/tpope/vim-vinegar
beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от slackwarrior

«а мне так IDE отрефакторило»

Ну с форматированием беда бывает. Некоторые люди почему то иногда оставляют висящие пробелы в конце строки. Моя ide это дело автоматически и радостно исправляет. На ревью терпят ибо нехер.

Ещё война табы vs пробелы. У меня то в редакторе всегда включён показ пробельных символов и я вижу где мерзкие табы, а где божественные пробелы. Но не у всех так и их исходники у меня в ide выглядит как дурацкий цирк с табопробельной мешаниной. Потихоньку исправляю. Diff’ы красные.

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

Моя ide это дело автоматически и радостно исправляет. На ревью терпят ибо нехер.

Чего? Оно ж настраивается, как скажешь, так IDE и отформатирует.

Shadow ★★★★★
()

CodeLite ещё есть для C/C++,php,node..

но требуемая фича «проектом является каталог, для сборки используется напрямую нормальная система сборки» там скорее опция - «makefile project».

Для небольших С/C++ полёт нормальный, про php/node.js не скажу не пишу на них.

KDevelop няшка. Все прочее либо весит, либо тормозит, либо требует полжизни для настройки - и как правило совмещают :-)

есть истории про программиста который сделал из Vim(Emacs) IDE и даже смог объяснить второму как это делать и тот смог повторить и остался доволен. Но это фольклор и городские легенды

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

Оно ж настраивается, как скажешь

На так я и настроил, чтобы она этот раковник на концах строк уничтожала.

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

Но это фольклор и городские легенды

Блин.

PS. Сорри. Токайского навернул.

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

Какая разница пробел или табы?

Я заметил разницу, только когда пытался распечатать исходники с помощью latex и verbatim. Там табы не табы, поэтому пришлось табы в пробелы превращать.

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

Какая разница пробел или табы?

Консистентность.

ox55ff ★★★★★
()

@beastie
Твой коммент успел увидеть. Добавил к твоему нику описание, чтобы помнить что ты за фрукт ;)

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

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

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

По-поводу первого – очень бесит, когда редактор вставляет, больше, чем я печатаю. What I type is what you get.

Второе – есть git. Надо удалить? Удаляй.

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

когда редактор вставляет, больше, чем я печатаю.

Странно ты расставил запятые ))) Редактор да, «вставляет» не хуже Беломора :)

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

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

эту функциональность можно отключить, но могу согласиться что иногда это не так то просто сделать, как собственно и прикрутить что-то подобное к вим тоже нужно осуществлять какие-то телодвижения, получается паритет.

abcq ★★
()

Eclipse - как оно? Какой-то монстр, но я его внимательно никогда не тыкал, есть ли смысл?

Не без глюков. Не особо быстрое. Для небольших проектов - нормально. Указаным требованиям удовлетворяет.

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

он «прекрасно» работает в виде бинарного тарболла, распаковал и в путь, все что нужно в архиве, так что систему не завалит кде хламом.

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

чтобы помнить что ты за фрукт ;)

Мне это не стыдно и даже как-то гордо. Комбинация цветов в моей аватарке (сверху синее небо, внизу жёлтая футболка) уже на уголовку тянет. Доживём, увидим.

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

Я решаю проблему проще - во-первых, использую систему в которой нет понятия «завалить что-то хламом», во-вторых - использую KDE и считаю все остальное хламом (что не мешает мне это ставить, см. пункт 1).

James_Holden ★★★★
() автор топика

VS Code - относительно неплохо, но вот с PHP не срастается.

Возможно, это знак, что пора перестать писать на мёртвых языках.

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

ну тут хозяин - барин, кому что больше нравится, для кого-то хлам, для кого-то жемчужина разработки.

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

Окстись, он вас всех переживет. Хотя бы взять три волшебные буквы - C, M, S.

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

Странно ты расставил запятые ))) Редактор да, «вставляет» не хуже Беломора :)

Пардон, с запятыми и в самом деле у меня проблема. ;)

Но вот это автоматическое добавление " ’ и } – к этому я не могу привыкнуть. Это ломает весь flow. Надо использовать ← и → чтобы войти/выйти из блока. Мне проще это самому напечатать, чем бороться с слишком умным редактором. Т.ч. No, but thanks, no.

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

Используешь хлам, считаешь всё остальное хламом, ясно.

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

Нет нет. Ты ошибся. Это добавление, замена или удаление символов вокруг слова, строки… Никакой автоматики. Tim каках не делает. Только сочетанием, надо слово (выделенный фрагмент) обернуть - аккорд и готово. Особенно удобно убирать. И, как я выше писал, для тегов. XML, HTML.

https://github.com/tpope/vim-surround

Просто внимательно посмотри на readme… Удобно!

Oldboy
()
Последнее исправление: Oldboy (всего исправлений: 3)

Нет. Наиболее близок JB Clion, но там нет, например, поддержки meson и некоторых других плюшек – хотя он значительно более цельный/доработанный.

Siborgium ★★★★★
()

Если открыть каталог на панели слева, и там тыкать по файлам - это дополнение не активируется. Вот как этим пользоваться?

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

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

Нет, ничего не выходит. enabled globally, enabled for this workspace - все равно ничего не работает.

Именно в режиме папки не работает (когда внизу полоса - синяя).

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

Если в режиме папки открыть через диалог - не работает.

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

Автодополнение с lsp подвезли или всё ещё стыдные complete-at-point?

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

Еще одна проблема с VS Code нарисовалась, уже с C++. При запуске из nix-shell со всеми настроенными библиотеками для проекта, VS Code почему-то напрочь это игнорирует и работает не в среде, предоставленной nix-shell. Соответственно библиотек она не видит.

James_Holden ★★★★
() автор топика

Есть ли IDE лучше KDevelop?

Нету.
/царь

crutch_master ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.