LINUX.ORG.RU
ФорумTalks

JetBrains работает над новой кроссплатформенной C++ IDE

 , ,


0

2

поддерживающей C, C++ (включая C++11, libc++ и Boost), которая поможет вам создавать кульные приложения на Windows, OS X или GNU/Linux.

http://www.jetbrains.com/objc/features/cpp.html

★★

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

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

оно позволит сделать хотя refactor rename и change signature, в автоматическом режиме, и не угробив код?

Для C++ вообще ни одна IDE не умеет делать refactor rename в автоматическом режиме, и не угробив код при этом. Только на самых простых случаях иногда работает.

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

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

Вот пример:

#define call_func(x) x.func();

#define how_to_rename(x, a, b, c) x.a##b##c();

template <typename T>
void call_func_templ(T t) { t.func(); }

struct A {
  void func() {}  // <== rename this function
};

struct B {
  void func() {}
};

int main()
{
  A a;
  B b;
  call_func(a);
  call_func(b);
  call_func_templ(a);
  call_func_templ(b);
  how_to_rename(a, f, un, c);
  how_to_rename(b, f, u, nc);
  return 0;
}
Любая IDE сейчас по тихому переименовывает что попало и гробит код.

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

есть инновационная идея. Запретить препроцессор =)

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

People, what's wrong with you?

We are just fine, thank you.
And you know, why?
We read message before posting beef-witted comments like:

Не успеваешь нажать на клавишу в code editor, уже отработал intellisense, да такой хитро продуманный, что остальные IDE за идеей пыль глотают.

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

clang может: с ним можно просто отказаться изменять имя при наличии ошибок при разборе файла. Рефакторинга C++ с помощью clang на данный момент нет ни в одной IDE.

P.S. хотя шутки с препроцессором конечно же он не обработает, как и

} // namespace ProjectExplorer

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

clang может: с ним можно просто отказаться изменять имя при наличии ошибок при разборе файла.

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

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

К QtCreator у меня вопросов нет — всё комфортно и с каждым релизом всё только становится лучше.

А как там гуй к дебаггеру? Умеет удалённую отладку через gdbserver?

Если да, может даже попробую (сейчас пишу в vim и отлаживаюсь через голый gdb).

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