LINUX.ORG.RU

IDE под винду/линукс


0

3

Привет! Подскажите нетяжелую и удобную IDE для чтения кода и внесения небольших изменений.

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

IDE интересует как под винду, так и под линукс.


Ответ на: комментарий от note173

всегда было интересно, какие именно функции облегчают работу с текстом при написании кода?

Полностью клавиатурное управление всем, что есть; наличие буферов и оперирование ими; закладки; килл-ринг; именованые регистры, куда можно сохранять / восстанавливать текст (и не только); удобная навигация / оперирование частями текста; макросы. И наличие елиспа выливающееся в наличии плагинов и возможности изменения функционала.

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

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

А мышкой там пользоваться нельзя?

Можно, но неудобно.

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

Я в основном пишу на яве и мне сложно представить удобную работу без инструментов эклипса, поэтому, наверное, не могу понять прелести vim и emacs

note173 ★★★★★
()

netbeans - тормозной, требует яву, но очень удобный. qtcreator - не очень тормозной, требует Qt.

оба переходят обьявлению/определению если зажать ctrl и шелкнуть на нужном обьекте

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

использую idea и мне сложно представить удобную работу без инструментов idea

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

> удобная навигация

Если редактор текстовый и не понимает кода, то о какой удобной навигации может идти речь?

И откуда semantic highlight в текстовом редакторе возьмется, ведь для такого редактора все есть текст?

kamre ★★★
()

MinGW, PelessC(Не уверен что так пишется)
А вообще ViM -меня даже для маленьких Java проектов устраивает как просмотрщик.

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

Если с умом, толком, расстановкой - то можно и нужно.
Также можно вносить идеи в комментарии к статье, если лень пилить целиком или нет уверенности.

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

Вообще хотел услышать варианты помимо notepad++ и аналогов, т.к. помимо расцветки, хочу хотя бы помощь вида:

int asd[MAX_NUM]; а MAX_NUM задефайнен в .h файле

И чтобы при наведении на MAX_NUM в первой строке, IDE дала бы какой-нить хинт о ее значении (или хотя бы линк, где оно задефайнено) из соседнего файла. Такое бывает?

(я тут фанбой kdevelop) Бывает. А kdevelop для макроса покажет, кроме его объявления, еще и предпроцессированое конкретное применение макроса (на которое ты навел мышь). Очень удобно. Не знаю как другие насчет этого - пока не видел такого в других IDE.

Только на ядре (если скормить всё ядро) ряд IDE загнутся. kdevelop в первую очередь.

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

Если редактор текстовый и не понимает кода, то о какой удобной навигации может идти речь?

О навигации по тексту. Помимо «Jump to definition», «Find all references» и т.п. существует просто навигация в пределах ближайших или неближайшиx строк и масса способов сделать эту навигацию удобной в редакторе. В имаксе - сделали.

И откуда semantic highlight в текстовом редакторе возьмется, ведь для такого редактора все есть текст?

А елисп на что? Есть плагины, CEDET делает семантический анализ для ряда языков.

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

> kdevelop для макроса покажет, кроме его объявления, еще и предпроцессированое конкретное применение макроса (на которое ты навел мышь). Очень удобно. Не знаю как другие насчет этого - пока не видел такого в других IDE.

В Eclipse давно есть :)

Только на ядре (если скормить всё ядро) ряд IDE загнутся. kdevelop в первую очередь.

«Всё ядро» - это что? Все архитектуры, или ядро со всеми драйверами? Eclipse CDT вполне справляется с API ядра (думаю, справится и со всем core kernel).

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

> существует просто навигация в пределах ближайших или неближайшиx строк и масса способов сделать эту навигацию удобной в редакторе. В имаксе - сделали.

А что именно сделали более удобным по сравнению с редакторами в IDE?

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

А елисп на что?

Не аргумент вообще. Все можно самому написать с нуля, вопрос только в том, сколько займет это времени. Нужны готовые и удобные реализации, а не елисп сам по себе.

Есть плагины, CEDET делает семантический анализ для ряда языков.

И насколько хорошо он работает для C/C++ по сравнению с CDT/KDevelop/QtCreator/Visual Assist? И для Java по сравнению с JDT/IDEA/NetBeans?

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

>Только на ядре (если скормить всё ядро) ряд IDE загнутся. kdevelop в первую очередь.

Скормил ядро kdevelop'у. На 67% фоновый анализ почему-то встал (хотя может оно так медленно работает). Ждал несколько часов, но у меня правда атом вместо процессора Но на той части, что проанализировалась, всё работает. Выжрало ~650 метров. При открытии большего числа файлов для редактирования потребление памяти почему-то не растёт.

http://ompldr.org/vOTU5aA

Считаю, что это ближе к успеху.

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

Сейчас в CDT есть существенное ограничение: не обрабатываются все ветки условной компиляции, т.к. на каждый файл только одна версия AST строится. Это разве не мешает справляться с парсингом кода ядра?

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

Он всё-таки закончил! Определения некоторых макросов, правда, почему-то всё равно не находятся, возможно из-за того, что он ищет заголовки в /usr/include/ раньше, чем в самом каталоге исходников. Может это как-нибудь можно исправить...

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

> Сейчас в CDT есть существенное ограничение: не обрабатываются все ветки условной компиляции, т.к. на каждый файл только одна версия AST строится. Это разве не мешает справляться с парсингом кода ядра?

«Полного» (что бы этот термин не значил) - может быть, но для написания драйверов вполне хватает (там используется уже сконфигурированное ядро, где значения всех #define известны).

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

А вот у меня проект на 100000 строк написан целиком в виме.

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

Eclipse это вообще тормозная неэргономичная жесть. Как в нем можно писать на Си или Си++ вообще не понимаю.

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

> Eclipse это вообще тормозная неэргономичная жесть

Это просто ты слишком быстрый.

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

А что именно сделали более удобным по сравнению с редакторами в IDE?

Для ответа на этот вопрос надо хорошо знать абстрактное множество других редакторов и затем написать длинную утомительную детальную простыню сравнения. ;)

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

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

Поиск в буфере: C-s или C-r стартует инкрементальный поиск в буфере вперёд или назад (можно во время поиска произвольно менять направление), внизу в минибуфере (область обычно в одну строку высотой в имаксе для ввода команд) можно или набирать руками, или нажимать C-w последовательно загоняя слова в поисковую фразу, либо C-y загоняя всю строку от курсора до конца строки. Поисковая фраза подсвечивается везде где встречается в тексте. Таким образом поиск foo.bar сводится к

C-s C-w C-w C-s

Удобство в том, что поиск именно такой, нет диалоговых окон, которые как в случае с Visual Studio имеют на диалоге элементы недоступные без мышки (в тулбаре диалога выпадающие списки), что не надо предварительно выделять составную фразу из нескольких слов (поиск в студии начинающийся по C-f загоняет в поиск только слово под курсором, либо надо выделить искомое), в том, что здесь искомая фраза в мини-буфере, который не мешает, а в студии диалог может закрывать код, в том числе и найденое вхождение, в этом случае диалог меняет свою позицию, это вообще раздражает сильно.

Не аргумент вообще. Все можно самому написать с нуля

Ты потерял контекст, вопрос был про «откуда возьмётся семантический анализ кода, если редактор работает с текстом». С кодом работают написанные плагины. В контексте топика - есть CEDET & Xrefactory в природе.

И насколько хорошо он работает для C/C++ по сравнению с CDT/KDevelop/QtCreator/Visual Assist? И для Java по сравнению с JDT/IDEA/NetBeans?

Я не могу ответить на этот вопрос, у меня нет перечисленного и с C++ и Java я уже очень давно не работал. Может, Alex Ott прочтёт и напишет что-нибудь, он в теме CEDET. Из того, что я из любопытства попробовал недавно - обёрнутое бустовскими смарт поинтерами автодополняет правильно, на определение объектов прыгает верно, находит ссылки на объект. Большее меня не интересовало.

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

Там еще вроде есть режим упрощенного сканирования - так быстрее будет. Хотя хз чем он отличается от полного.

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

> Ядро со всеми драйверами.

Попробую вечером. Будет узкоспециальная пузомерка :)

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

А они вообще C поддерживают?.. //Запилил

Хз. Но даже если отдельно не поддерживают, то парсер должен поддерживать объединение обоих языков (лучше распарсить неправильный код, чем зафейлить правильный).

Pavval ★★★★★
()

Для небольших проектов в С++ раньше использовал Эклипс (перешел с vim'а). Серьезно. Да, тормозит, но если не жлобиться на память (поднимите руки те, у кого меньше 300 метров свободных постоянно), то достаточно резв и предлагает целый ряд фич, которых раньше я оценить не мог.

Примеры: - в три комбинации клавиш получить список вхождения слов по проекту - одна комбинация - переименование переменной (при этом правильное распознавание локальной/глобальной/члена класса) - подсвечивание вхождений на скроллбаре и многое другое.

Вместе с этим, конечно, же есть фичи непривычные.

Теперь стоит аналогичная задача, как и у автора, я полагаю (С, ядро, модули и embedded). К сожалению, эклипс уже не катит, да и машина древняя досталась.

Так что присоединяюсь к адекватному поиску сред. Если кто может, пожалуйста, прикиньте свой вариант на моих примерах. В данный момент пользуюсь vim+ctags, но не удовлетворяет.

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