LINUX.ORG.RU
ФорумTalks

[C++][Jetbrains] Грядет IDE для плюсов

 ,


0

3

Просматривая видео-демонстрации AppCode(альтернатива Xcode) у докладчика из Jetbrains спросили насчет поддержки плюсов, на что он утвердительно ответил что работа идет. Я думаю что многие кто ждет нормальную сишную иде могут порадоваться.

ПС не надо писать в комментах про емакс вим итд

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

официальная поддержка плюсов в идее пока что отсутствует как класс

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

блин. неправильно прочитал. Я думал что вы про жаву)

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

> Лично я использую M-x grep в емаксе. Ну и есть ещё ctags

Когда нужно разбираться в чужом сложном коде, то grep/ctags мало чем помогают. Нормальная IDE должна строить типизированный AST и полностью разрешать все символы из кода, чтобы навигация по нему работала надежно.

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

> Они уже написали компилятор Си++?

Они вообще компиляторы не пишут, даже для Java у них нет встроенного инкрементального компилятора как в JDT. Т.е. IDE получается как навороченный редактор, который все что можно индексирует, а компиляция всегда внешними средствами.

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

>> Они уже написали компилятор Си++?

Они вообще компиляторы не пишут, даже для Java у них нет встроенного инкрементального компилятора как в JDT

Тогда предвижу эпик фейл.

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

> Они уже написали компилятор Си++?

Судя по первоначальной ориентации на Obj-C, все ограничится оберткой над clang.

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

У IDEA бывают фейлы, когда она показывает ошибки в корректном коде. Когда-то раньше даже для Java натыкался на коде с generics. Сейчас для Scala почти в любом нетривиальном коде стандартных библиотек находит такие «ошибки».

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

>Нормальная IDE должна строить типизированный AST и полностью разрешать все символы из кода, чтобы навигация по нему работала надежно.

Ну и сколько таких существует для плюсов? :]

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

А можно подробнее про интеграцию с GDB в Emacs? Как оно там, хотя бы до уровня QtCreator/CDT/Kdevelop дотягивает для C++?

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

Сейчас таких нет, насколько я знаю. Разве что Xrefactory с EDG front-end для C++ неплохо работает, но очень тормозит и уже не развивается. Все остальные написали более или менее быстрые недо-парсеры, которые лажают на нетривиальном коде. И JetBrains, мне кажется, тоже не осилит полностью поддержать C++ :)

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

Ну и вроде новый Xcode на основе Clang должен работать, может быть он и умеет. Но сам вживую его не видел.

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

Быстрый недо-парсер, лажает на примитивном коде. Более или менее нормально работает только code completion (за счет эвристик похоже), на сложном коде и оно ломается.

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

>Они уже написали компилятор Си++?

С каких это пор IDE нужно тащить свой собственный компилятор? Все нормальные используют доступные.

ooobooontooo
()

А чем плохи Eclipse CDT и Netbeans? QtCreator тоже годный, только у него слишком узкая область применения.

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

А чем он хуже?

PS. IDEA не юзал, на жабе не пишу.

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

>VS, XCode, Eclipse, QtCreator. В общем все IDE, в отличии от блокнота emacs.

И что, все они строят полноценный AST? Да не верю.

#include <vector>

template<typename T>
struct foo: public T {
    int b;
};

struct bar {
    int a;
};


int main () {
    typedef std::vector<foo<bar> > hell;
    hell::iterator iter;
    iter-> /* <----- */
    return 0;
}

Какая из перечисленных IDE дополнит в указанном месте доступные поля сущности, на которую указывает итератор? Принимаются только нотариально заверенные скриншоты.

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

>С STL справляется QtCreator и всякие скрипты/плагины для gdb.

Да, у QtCreator интеграция с GDB получше чем у CDT, но в ней других проблем хватает. В целом я разрываюсь между эклипсом и ей, потому что редактор мне больше эклипсовский нравится. Может конечно допилят когда нибудь, только вот нокия бросила ее по сути. Скрипты для GDB не вариант, их инегрировать не получится, так и придется сидеть в консоли, нужна поддержка со стороны IDE.

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

>А можно подробнее про интеграцию с GDB в Emacs?

http://www.inet.net.nz/~nickrob/gdb_STL.png

http://www.inet.net.nz/~nickrob/multi-threaded.png

Локальные аппликухи наверно в этом удобно отлаживать. Я пробовал этот режим, когда отлаживал ядро в QEMU, всё работало очень и очень неторопливо (но это уже почти не проблема Emacs), поэтому перелез на голый gdb в емаксовом шелле.

до уровня QtCreator/CDT/Kdevelop дотягивает для C++?

Я их в глаза не видел

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

Емакса не было в списке, предоставленном убунтом :)

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

>Приличная плюсовая IDE не может обойтись без компилятора или хотя бы компиляторного фронтенда.

Но зачем писать свой? Есть gcc и clang, cl в конце концов.

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

> Да, у QtCreator интеграция с GDB получше чем у CDT, но в ней других проблем хватает. В целом я разрываюсь между эклипсом и ей, потому что редактор мне больше эклипсовский нравится.

Попробуй KDevelop же, ну.

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

Примитивный. А clang-овый автокомплит для emacs и vim справится со всем, с чем справится сам компилятор clang

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

>Судя по первоначальной ориентации на Obj-C, все ограничится оберткой над clang.

они не используют Clang

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

Ну Obj-C это и есть Си, но никак не C++. Темплейтов там нет, поэтому и поддерживать нечего.

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

> Какая из перечисленных IDE дополнит в указанном месте доступные поля сущности, на которую указывает итератор? Принимаются только нотариально заверенные скриншоты.

Vim + clang_complete.

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