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)

Может, кто-то использует VS Code + PHP Extension Pack и может подсказать, почему в режиме Folder (когда папку открываешь и выбираешь на панели слева файлы) он у меня тупо не активируется?

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

Если я ничего не путаю, оно все умеет. В этом плане сравнимо с KDevelop

для подсветок кода это высший пилотаж. для этого надо уметь полностью парсить декларации в сорсах. а это не хухры мухры для с++ особенно.

потому и спрашиваю.

alysnix ★★★
()

VS Code

IDE? Ну ок.

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

Залезь на страницу дополнения и прочти. Всё должно работать.

C, C++, Python, PHP/JavaScript/HTML

Вот это всё прекрасно работает с Vim/Emacs. Не нравится? JB.

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

Залезь на страницу дополнения и прочти. Всё должно работать.

Что именно читать, можешь тыкнуть носом? Не работает никак.

Вот это всё прекрасно работает с Vim/Emacs. Не нравится? JB.

Зачем, если есть свободный KDevelop в котором все еще более прекрасно (чем в vim/emacs)?

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

Ну это ты загнул. В Emacs есть всё. Но некоторые вещи да, пока сырые. В твоём списке их нет ))

Что именно читать, можешь тыкнуть носом? Не работает никак.

Я сижу в Vim. Vscode давно не включал. https://code.visualstudio.com/docs/languages/php
Смотри, выключ встроенный, если используешь дополнение

Вот quickstart в магазине - ВЫРУБИТЬ встроенный!
https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client

вот страница в github - https://github.com/bmewburn/vscode-intelephense

Add glob patterns for non standard php file extensions to the files.associations setting

Тоже смотри.

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

Я уже давно заметил тенденцию называть текстовые редакторы IDE.
А культ поклонников VSCode растёт также стремительно, как популярность Goohle Chrome.
Каждый второй топит за OSS, но продолжает сидеть на зондах корпораций

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

intelephense как раз таки нормально работает (но он куцый), но я ставлю не его, а Extension Pack. Всроенный надо вырубать не из-за этого, а просто чтобы не было двойного автодополнения.

Я сижу в Vim

Разве там подсветка нормально реализована? Можно пример?

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

Я уже давно заметил тенденцию называть текстовые редакторы IDE

Граница нечеткая, многие IDE нулевых годов гораздо менее IDE по фичам чем VS Code. Так что называть вполне правомерно.

Каждый второй топит за OSS, но продолжает сидеть на зондах корпораций

Ну так есть послностью свободная версия VS Code.

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

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

This is Vim syntax files with C++11 support

Во-первых древний стандарт, а во вторых syntax files это не семантическая подсветка, то есть тут вообще говорить не о чем. В моем понимании это - подсветки нету, потому что зачем мне она не-семантическая, я не знаю.

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

https://github.com/jaxbot/semantic-highlight.vim

Пжлста ))) Я не знаю, что ты мне пытаешься донести. Я ничего тебе не навязываю. «Что русскому хорошо, немцу - смерть!» (А.П. Чехов)

пользуйся чем хочешь. Для профессионалов MS сделала vscode. Вперёд! Если надо годноты - VS. Если надо кросс - JB. Если надо бесплатно, модно-молодёжно, то смотри видосы «как настроить удивительную штуку «vim»» ))) Или «10 плагинов без которых ты не вимер!». Или «Vim говно! Neovim для пацанов! Lua! Цацки! Lua!».

А потом неожиданно кто-то скажет, что уже есть Emacs )))

А ты пользуйся пока vscode. Тут главное «пока»…

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

Если надо бесплатно, модно-молодёжно, то смотри видосы «как настроить удивительную штуку «vim»» ))

Собственно донести (в ненавязчивой форме, просто воспринимай как мнение) я пытаюсь то, что зачем vim если есть бесплатно и еще более модно-молодежно под названием KDevelop, и настраивать не надо, там практически из коробки как нужно.

Удивительную штуку vim я использовал годами в прошлом (как и emacs), и в целом представляю что там есть и чего нету. Вау-эффект от обоих у меня прошел много лет назад.

А ты пользуйся пока vscode

По C++ как некий резерв он меня устраивает, но вот по PHP какая-то засада, что-то вообще никак.

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

Может и не IDE, но хоть редактор вменяемый.

Редактор текста отличный, но нужен редактор кода, поэтому он не подходит.

Может хоть ты расскажешь как в нем нормальную подсветку получить хотя бы?

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

Ты просто нубас. Когда ты поймёшь, что есть emacs… А в нём есть всё… Даже то, чего нет…

А пока ты просто ешь, что дают. Перестанут давать и опа! Это будут самые ударные санкции по IT индустрии )))

И твой Kdevelop и Gnome и vscode. Всё это превратится в тыкву. JB же превратился ))))) Осталось подождать.

Я даже не сомневаюсь, что пользуясь Vim ты тоже потреблял. Vimscript требует веществ для превращения в гриб =)

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

Ты просто нубас

Еще раз, для тех кто в танке. Я emacs использовал годами. Ты знаешь что такое годы? ))) Я очень сомневаюсь что ты расскажешь мне про него что-то новое.

Единственное что, я слез со всего этого до того как стало популярным всякое LSP (@cocucka спасибо что напомнил), что несколько меняет дело. С этим можно хоть как-то жить.

И твой Kdevelop и Gnome и vscode. Всё это превратится в тыкву

Чушь. Это СПО и оно никуда не денется никогда. JB тут вообще не причем, ты не понимаешь что несешь.

Я даже не сомневаюсь, что пользуясь Vim ты тоже потреблял

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

По поводу потребления - ты пишешь типичную школотронскую чушь. Взрослым людям надо работать а не писать IDE на elisp. Вырастешь - поймешь.

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

Eclipse - это не IDE, это типа платформа/фреймворк. Надо смотреть каждую «перспективу» отдельно.

У меня python + dbeaver + php/html + c/c++ (но только поковырять сорцы - я проекты на Цэ не пишу).

По мне - сильно удобнее VS Code.

Но приходится использовать VS Code для двух вещей: - открытие огромных JSON - блокноты Jupyther. Смешно, но даже в IDEA Jupyther отстойный.

Но всё равно пытаюсь переехать на emacs.

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

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

А этот пункт можно подробнее раскрыть? Мне как многолетнему пользователю Qt Creator интересно.

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

Есть такая штука, не помню как правильно называется. Когда над любым идентификатором в коде зависаешь мышью, и вылетает окошко с неким содержимым. В KDevelop в этом окошке намного больше полезного, в частности там кликабельные ссылки, переводящие на definition, declaration, show uses. Банально быстрее делаются переходы, чем через вызов меню правой клавишей в Qt Creator. И само текстовое наполнение там информативнее.

Кстати все LSP варианты принципиально так не могут - выдать вот это окошко не просто с текстом, а с кликабельными ссылками.

Кстати, раз уж обсуждение его пошло, что там с другими языками? Для Qt я его использовал (хотя все равно предпочитаю KDevelop), а для PHP, JavaScript например?

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

Не, мне хватает всего, что в eclipse, а текстовые редакторы эклипса в плане UX кажутся комфортнее.

Когда-то для 3-го эклипса была ещё развесистая тулза, аналогичная MS Project - реально хорошо была сделана... Но сдохла и пропала.

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

Во-первых древний стандарт

Во-вторых сдуваем щоки, большая часть написанного на плюсах остановилась на С++03 или С++98 и не будет переписана ни на новые стандарты (ни на условную растишку) примерно никогда :)

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

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

Ты еще скажи, что зависимости не используешь и заново пилишь примерно все :)

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

Как правило, я не правлю код библиотек. Меня практически не интересует, как IDE будет работать на нем (собственно, любое работать будет хорошо потому что вряд ли там код по последнему стандарту окажется).

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

примерно та же фигня :)

Разница в том, что у эклипса в 99.9% случаев всё интегрировано сразу.

Т.е. у тебя будет в одном окне в разных вкладках django, angular, php и dbeaver.

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

Как правило, я не правлю код библиотек. Меня практически не интересует, как IDE будет работать на нем

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

slackwarrior ★★★★★
()