company_banner

C++ IDE от JetBrains: когда же?

    После нашей удачной первоапрельской шутки нас регулярно спрашивают, когда же мы выпустим C++ IDE. Понятно, что все, кто пишет под Linux, давно ждут такую среду разработки, да и альтернатива имеющимся в Windows и Mac OS никому не помешает.

    C++ IDE — это отдельный продукт, она основана на платформе IntelliJ, как и прочие наши IDE. Поддержка C++ в ReSharper — это совершенно другая тема, и про нее мы отдельно напишем (не сегодня).



    Нам прислали тучу запросов на private preview. Мы этим искренне и весьма приятно поражены. И поэтому мы пишем этот пост. Хотя private preview еще не готов к выдаче смелым и готовым его потрогать коллегам, мы хотим рассказать, что же в нем будет. Причем будет скоро, мы рассчитываем, что в марте начнем получать первые отзывы от некоторых из вас.

    Уже выбираются первые удачливые разработчики, в чьи руки private preview попадет в первую очередь. Принцип отбора прост: известно, что в private preview должно хорошо работать, а что — еще не до конца отполировано. При заполнении формы подписавшиеся на пробу указывали свои интересы и характер своих проектов. Тех, чьи интересы удачно совпали с уже работающими в IDE фичами, мы и выбрали. Скоро они получат долгожданную ссылку на download и проверят, насколько широко им улыбнулась удача.

    Между прочим, записаться на private preview еще не поздно, но мы не гарантируем, что все записавшиеся получат самый первый private preview. Не обессудьте, если кого-то этот билд обойдет стороной.

    Вот список самого интересного из того, что будет в ближайшем private build:

    • CMake + GCC + GDB7.
    • Поддержка нескольких платформ: Linux, OS X, Windows (Cygwin, MinGW).
    • Поддержка C++11 (включая лямбды, строковые литералы, шаблоны с переменным количеством параметров (variadic templates), decltype, auto и пр.)
    • Анализ кода и много-много подсказок (quick-fixes).
    • Рефакторинги (extract method/variable/typedef/define/и т.п., change signature, rename, safe delete, и прочее).
    • Генерация кода и шаблоны.
    • Поддержка препроцессора (т.е. все привычные удобные возможности работают и с макросами).


    Поддержка Clang/LLDB появится в последующих EAP-сборках.

    А теперь те, кто хочет посмотреть на всю эту красоту не дожидаясь private preview, могут внимательно изучить скринкаст, где мы показываем, как летает наша C++ IDE (кстати, скринкаст юбилейный — это четырехсотое видео канала JetBrainsTV на YouTube):

    JetBrains
    426,00
    Делаем эффективные инструменты для разработчиков
    Поделиться публикацией

    Комментарии 126

      +7
      а почему вы боитесь выдать билд всем подписчикам? пусть например 10% будут репортить фидбек — а остальные просто попользуются EAP без всяких гарантий, что их выслушают или исправят ошибки.
        +31
        Мы хотим быть уверены в том, что в IDE работает то, чем вы будете пользоваться. Если мы знаем, что какая-то функциональность еще не совсем готова, мы лучше ее доделаем, а потом покажем тем, кому она нужна.
          +7
          ну, в любом случае желаю удачи.
          надеюсь будет все так же ровно, красиво и удобно как в идее.
            +3
            А планов на публичной EAP пока нет?

            А то к сожалению получил «Unfortunately our first private preview as we see from the information that you have kindly provided won’t work well in your environment (build system, compiler, debugger or libraries used are not supported yet).» хоть и функций показных в демо хватило бы для многих моих проектов.
              +1
              Раз мы не прислали Вам пока билд, значит Вы заполнили в опросе что-то, что первый билд еще совсем не поддерживает или поддерживает, но со значительными проблемами. Возможно, мы это исправим в последующих приватных билдах, и тогда вам тоже придет билд.

              А по поводу планов на публичный EAP — тут все сильно зависит от фитбека по приватным билдам, которых, вероятно, будет несколько. Так что пока даже оценить сложно. Мы только начали двигаться в этом направлении.
              –3
              Вы 8 лет не можете исправить тормоза ssh, хватит пафоса и просто дайте мне c++ ide!
              p.s. и исправьте ssh!
              p.p.s. и заткнитесь и возьмите мои деньги!!!
              +12
              Я думаю у разработчиков и так полная тикетница:) Как только начнёт пустеть, соберут вести с полей. А получать репорты об ошибке, о которой и так знаешь… зачем?
                0
                выход — публичный тасктрекер
                  +1
                  Вообще можно постить запросы на фичи сюда: youtrack.jetbrains.com/issues/OC
                  Но вообще тут скорее, зачем людям выдавать билд, если заранее известно, что у них не заработает или заработает не совсем правильно. Лучше показать этим людям билд тогда, когда будем готовы их порадовать.
              0
              А название, надеюсь, будет поярче cppide?) Какой-нить C++Topaz, или CppCrystal, к примеру
              +3
              JetBrains, коллеги. Помоем будет круто если вы еще и для C# IDE разработаете :)
                +5
                Visual Studio + ReSharper?
                  +8
                  Так и программирую, но если JetBrains разработают собственную IDE для C#, которая не будет уступать VS+ReSharper по функционалу и будет не менее привлекательная чем IntelliJ IDEA 13 и плюс ко всему кросс платформенная, я заплачу за нее своими кровно заработанными :)
                    +5
                    Сейчас Unity3d довольно популярная вещь, а она кроссплатформенная. Я вот на маке пишу под нее, приходится запускать VS + R# под Parallels — не слишком удобно. А перемещать Unity под винду неохота, уж очень я маколюб.
                    Так что поддержка C# в IDEA или отдельная IDE была б очень кстати, купил бы с радостью.
                      0
                      Я с Unity не работал пока (и с C# не особо), но вот как раз скоро будет мелкий проект по разработке файтинга. Можете пояснить, почему нужен VS + ReSharper? Возможностей идущей с Unity IDE (допиленный MonoDevelop вроде?) не хватает?
                        0
                        Давно не слежу за обновлениями MonoDevelop, не уверен, что там ничего подобного не появилось, но R#:
                        — позволяет отличать члены классов от локальных переменных с помощью подсветки синтаксиса, что бывает очень удобно при работе с API юньки
                        — предоставляет очень удобную навигацию по классам
                        — предоставляет кучу рефакторингов
                        — позволяет по-быстрому генерировать заглушки и потом заполнять их смыслом
                        — указывает на кучу ошибок и недоработок, что наверняка вам будет полезно, если вы с C# пока не особо
                      0
                      Кстати в ReSharper тоже будет поддержка С++ blog.jetbrains.com/dotnet/2013/06/26/resharper-to-support-c/
                        +1
                        После идеи садясь за студия+решарпер удивительным образом отмечаешь катастрофическое неудобство большинства функциональности самой студии, которой приходится пользоваться. Функциональность же решарпера сразу видно — всё удобно и видно, что сделано для людей. У JetBrains есть мощнейший движок для ide — не понимаю, зачем использовать студию, это ведь реальная обуза?
                        0
                        Так у них же и так Resharper есть, да и мне кажется не отобьются их старания, не так уж и много людей поменяет VS+Resharper на другую IDE ведь большинству и так удобно, а затраты на разработку надо отбивать) а вот работа с С++ в VS это боль и страдания (про linux не знаю) и тут клиенты найдутся точно =)
                          0
                          Есть попытка комьюни самостоятельно «запилить» C# IDE на базе форка IntelliJ IDEA Community Edition

                          github.com/consulo/consulo-dotnet

                          Но пока это больше напоминает исследовательский проект +(
                            0
                            Пишется форк IDEA, в котором, кроме всего прочего, разрабатывается поддержка .NET платформы.

                            www.youtube.com/watch?v=K1EZF8-jcTs

                            (Довольно старое видео, сейчас поддержка .NET\Mono в Consulo получше)
                            +2
                            Очень жду!
                              +11
                              Планируется ли поддержка Qt? Если да, то как скоро можно будет поучавствовать в тестировании IDE + Qt?
                                0
                                А что именно интересует?
                                  +1
                                  qmake, поддержка pro-файлов. Ну и собственно подключение самой библиотеки Qt.
                                    +3
                                    А чем Qt Creator плох? Я сейчас на сях не пишу, но в своё время на линуксе он был просто глотком свежего воздуха.
                                      +2
                                      Ниразу не плох, в нем и пишу. Но если будет альтернатива от JetBrains, но скорее всего перейду на нее.
                                      +3
                                      На самом деле, поддержка всяческих других форматов планируется. Мы будем смотреть на самые востребованные запросы и делать. То, что первым делом, оно в preview и попало пока.
                                  –3
                                  Был бы безумно рад появлению DStorm-a или нечто подобное, для D-lang.
                                  Очень привык к Вашим IDE и безгранично полюбил их.
                                    +1
                                    Плагина для Идеи разве нет? На отдельную IDE для D не надейтесь. Ну, в ближайшие лет 5 так точно
                                      +1
                                      Очень хороший плагин для XamarinStudio mono-d
                                      mono-d.alexanderbothe.com/
                                      +2
                                      Какие объёмы кода выдержит? Насколько быстрее работает компиляция по сравнению с VS?
                                        +4
                                        Большие проекты безусловно проверяем. Оптимизируем всячески время. Цифр сравнения пока не могу подсказать.
                                          0
                                          Chromium пробовали загрузить? Visual Studio от него плохеет.
                                            +7
                                            И его, и многие другие. Безусловно.
                                              0
                                              Кстати, немного ввожу в заблуждение. AppCode тестируется на производительность в частности на Chromium, а для C++ IDE там нет CMake проекта.
                                                0
                                                Тогда наверное можно KDE пробовать или WebKit, для какой-то платформы там есть CMake.
                                            +3
                                            Вообще вопрос компиляции — это скорее к компилятору или к системе сборки, а не к IDE. Если Вы именно про компиляцию.
                                            +1
                                            Будущие удачливые товарищи! Поделитесь со всеми этим самым Preview!
                                              +3
                                              icc можно будет прикрутить?
                                                0
                                                Возможно в будущих релизах. Пока что gcc, потом clang и потом уже все остальное.
                                                  +1
                                                  Скажите, пожалуйста, а в чем заключаться поддержка компиляторов? Парсинг сообщений об ошибках или нечто большее?
                                                  В CMake проект же можно любой компилятор подключить.
                                                    0
                                                    Да, все верно, это CMake, поэтому от IDE требуется только парсинг сообщений от компилятора. Еще какие-то вещи интересуют? Расскажите use case.
                                                      0
                                                      Qt Creator умеет импортировать просто каталог с исходниками, задать вручную список путей для #include и набор #define

                                                      этого (плюс команды для сборки/запуска) часто достаточно чтобы начать работать с пока напрямую не поддерживаемой системой сборки. Не очень удобно но лучше чем совсем без поддержки.
                                                        +1
                                                        Честно говоря не знаю, какие тут могут быть еще use case, разве что хотелось бы иметь возможность использовать любой компилятор (передавая его CMake прямо из среды разработки), даже без парсинга результатов его работы (для неизвестного компилятора подойдет и просто его вывод в отдельном окне).

                                                        А вот чего мне не хватает в Qt Creator — это возможности сборки одного CMake проекта разными компиляторами (или с разными параметрами запуска CMake или с разными переменными окружения при запуске CMake) в разные каталоги сборки с последующим парсингом ошибок и их показом в редакторе кода.
                                                  0
                                                  Безумно жду IDE, в которой можно будет писать и дебажить код для связки Android NDK + SDK.
                                                    +2
                                                    Попробуйте eclipse. Там это можно уже сейчас.
                                                      +11
                                                      Попробуйте Vim. Там все можно уже сейчас.
                                                        +3
                                                        Попробуйте emacs. Ваша жизнь не станет прежней.
                                                          +2
                                                          И бабочек, бабочек!
                                                            +2
                                                            Ах, да, старый добрый C-x M-c M-бабочка :)
                                                              +2
                                                              Rule 0xf4: There is xkcd of it. No exceptions.
                                                          +2
                                                          Интересно, с каких это пор в vim присутствует встроенный компилятор Java, понимающий набранный код еще до сохранения файла, позволяющий его рефакторинг любой сложности автоматом в проектах любого размера?
                                                            0
                                                            В связке с clang это работает для c++. Вполне возможно, для Java тоже можно настроить.
                                                        0
                                                        Блин, никогда не пользовал Ваши продукты. Но я должен сказать — видео крутое. Не кривя душой, скажу, что захотелось не только попробовать, но и купить…
                                                        Удачи вам. Теперь я буду за Вами следить))
                                                          +3
                                                          Вы не использовали IDE от Jetbrains? Вообще? Не, ну я не знаю, может, на каком-то Erlang это не выйдет, но для Java в сравнении с Eclipse Idea как какой-то Porsche Cayman против Chevrolet Malibu. Хоть и вторая за свои деньги вполне неплохой вариант, но уровень не тот. Совсем. Idea как-будто читает мысли. И помогает тебе. А эклипсу надо самому помогать.
                                                            +1
                                                            эй! не надо тут! у Idea отличный Erlang plugin имеется :)
                                                            А IDE для C++ это просто прекрасная новость. Потому что на настоящий момент под линуксом у всех, что я пробовал, серьезные косяки.
                                                              0
                                                              Ну вообще да. Я просто пишу на сях и just for fun на асме изредка. А на работе VS Pro, Delphi, VB. И старых проектов тьма мелких и еще рабочих.
                                                              Не знаю к счастью или к сожалению, но Java я обошел как-то…
                                                              upd
                                                              И да, с php как-то тоже не срослось. А скрипты на серваке поправить и без IDE можно.
                                                                +4
                                                                Ну, у них есть ide и для питона, и для руби, и для фронтендщиков. Ну, и obj-c тоже. Есть из чего выбирать) Правда, Вам, я вижу, и это не варианты. Ну, хоть плюсовую, когда выйдет, попробуйте — Не пожалеете
                                                                *вот так и стал я внештатным апологетом jetbrains)*
                                                            +1
                                                            Недавно скачал InteliJ IDEA для java, был очень приятно удивлён,
                                                            надеюсь увидеть такую же IDE и для с++.
                                                            Удачи вам, подпишусь на Вас пожалуй.
                                                              +2
                                                              Планируется ли в будущем поддержка других компиляторов Intel / MSVC compiler?

                                                              Планируется ли поддержка технологии COM?

                                                              Планируется ли поддержка C++/CX и разработки под Windows8?

                                                                0
                                                                Другие компиляторы в планах есть. Но хочу заметить, что на Windows будет еще опция C++ поддержки в ReSharper — blog.jetbrains.com/dotnet/2013/06/26/resharper-to-support-c/ Так что какие-то вещи будут в ReSharper, какие-то в C++ IDE. Возможно, для Вашей разработки ReSharper больше подойдет?

                                                                Вообще поодержка различных интересных технологий планируется, но мы там будем смотреть на наиболее популярные запросы для начала.
                                                                  0
                                                                  Добавлю к тому что написала коллега. MSVC будет в первую очередь поддерживаться ReSharper. Сложность с разными компиляторами в том что у них много compiler-specific директив без которых не распарсить приложенные к ним библиотеки. В качестве примера, всякие __uuidof (это к вопросу о СОМ). Поэтому идея на Windows — поддержка MSVC и конечно C++/CX (со временем), в то время как на платформно-независимой IDE будет поддержка самого общедоступного инструментария.

                                                                  С другой котороны, можно сказать что Intel тоже поддерживается на Windows и Linux (и на OSX, вроде бы), но там, увы, тоже хватает своей, Intel'евской специфики. В идеале хочется конечно поддержать и ICC и CUDA и много чего, только сразу вот все не сделать.
                                                                  0
                                                                  скажите пожалуйста, а планируется ли в дальнейшем импорт проектов Visual Studio (по аналогии с поддержкой проектов XCode в AppCode)?
                                                                    0
                                                                    Для этих целей Вам скорее нужен ReSharper blog.jetbrains.com/dotnet/2013/06/26/resharper-to-support-c/
                                                                      0
                                                                      Чисто теоретически, никто не мешает распарсить .vcproj и сделать из него CMakeLists.txt — задача не самая сложная. Конечно, для полноценного сохранения всех настроек придется обстоятельно помучаться, особенно если вы используете экзотические компиляторы и системы. Но даже так, основная проблема в том, что если у вас проект который хотя бы чуточку цепляет MSVC-specifiс вещи, то естественным образом будут проблемы.
                                                                        0
                                                                        Я полагаю это сложная и возможно даже не нужная задачи, ибо если проект маленький то за пару часов все можно перенести руками. Если же нет, то скорее всего тулза не справится из — за сложности проекта и обилие все возможных сложностей/зависимостей, не говоря уже про то, что .vcproj практически к каждой версии студии свой. Более того, даже если тулза что то нагенерировала, то кто вам сказал что это то, что вам нужно. Тогда это придется проверять руками и редактировать, а значит появляется требования к качеству сгенерированно года… в общем это отдельный большой и сложный проект imho.
                                                                          0
                                                                          А зачем? Есть же готовые решения.
                                                                            0
                                                                            А эти решения занимаются синхронизацией в обе стороны?
                                                                              0
                                                                              Cmake позволяет делать обратное преобразование из коробки.
                                                                                –1
                                                                                Фурье, Лапласа?
                                                                        0
                                                                        Привет. А standalone код собирать можно?
                                                                          0
                                                                          В каком смысле standalone? Без CMake проекта? Пока что нельзя.
                                                                            0
                                                                            нет. в смысле -ffreestanding
                                                                              0
                                                                              А, понятно. Собирать — без проблем. Все опции сборки просто берутся через cmake файлы. Вот с запуском из IDE могут быть тонкости, но будем на это смотреть чуть позже.
                                                                          +1
                                                                          Генерённые setter'ы вызовут warning'и на gcc с -Wshadow.
                                                                          Не планируете поддержку qbs? Чтобы можно было без проблем с QtCreator'а мигрировать.
                                                                            0
                                                                            В будущих релизах планы будут зависеть от запросов пользователей и популярности этих запросов. Так что все возможно.
                                                                            0
                                                                            Планируется ли поддержка кросс-компиляции и платформ gcc-arm, mips и других?
                                                                              +1
                                                                              Так как это CMake кросс-компиляция в любой момент, что называется, есть, был бы компилятор доступен. cross-run и cross-debug когда-то наверное тоже, но не в самое ближайшее время.
                                                                              +2
                                                                              IMHO небольшой фидбек по увиденному в видео. Я достаточно много программирую на с++ и использую для этого qtcreator. Поэтому, небольшое «сравнение». То что прикручиваете cmake — это определенно хорошо. Однако не совсем понятно как обновлять cmake, в смысле мне нужно выходит из среды и перезапускать cmake? Если я в консоле создал файлики и поправил cmake, перегенерировал, IDE обновит свой енвайромент?

                                                                              В какой то момент вы начали писать на c++11 — но вопрос скомпилируется ли это — скорее всего врятли, потому, как это нужно прописывать в cmake — добавить опцию "-std=c++11". Будет ли тесная связь среды с cmake. Будут ли подсказки для cmake?

                                                                              Видео конечно небольшое, чтобы можно было понять все прелести новой IDE, да и пример из 4-6 файлов весьма небольшой, так что спорить трудно… "… мы показываем, как летает наша C++ IDE". Пробовали ли вы сравнивать, например, qtcreator и вашу IDE на больших проектах по скорости работы(парсинг, навигация по файлам, ...)? Бедет ли поддержка ninja?

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

                                                                              Желаю удачи в написание новой IDE. Больше IDE хороших и разных!!!

                                                                              Спасибо.
                                                                                0
                                                                                Изменения в CMake подхватываются автоматически средой (ни откуда выходить и ничего перезапускать не надо, конечно). Пока что CMakeLists.txt правится руками, но и от этого будем уходить в пользу более удобного автоматического обновления. Просто не все сразу =)

                                                                                Будет тесная связь. И компилируется ест-но со всеми теми опциями, которые компилятор из cmake берет. И подсказки со временем появятся.

                                                                                Скорость работы на больших проектах сейчас постоянно оптимизируется. Куда ж без этого.

                                                                                Все запросы по специфичным вещам будут рассмотрены позднее и отранжированы по популярности. Будем сначала реализовывать то, что больше нужно пользователям, а потом и остальное. Так что пока сформированного roadmap-а надолго скорее нет.

                                                                                Спасибо!
                                                                                  +1
                                                                                  Ну и да, если вы где-то (скажем в консоли) что-то правили, то IDE тоже это подхватит. Если CMakeLists.txt обновлен. Для IDE — это основной проектный файл.
                                                                                    +3
                                                                                    Кстати а что бы Вас побудило перейти? Просто интересно.
                                                                                      +1
                                                                                      Наверное все таки это быстрая и качественна интеграция IDE с системой сборки(cmake/qbs/scons/waf), с подсказками и все такое:
                                                                                      Добавил файл в проект, оно само в cmake прописалось, само перегенерировало ninja файл и все это должно быть очень быстро, даже на больших проектах.

                                                                                      В qtcreator мне нравится скорость парсинга и то, что я могу очень быстро все собрать, так как есть поддержа ninja. Проверял на прокте opencv ;) В qtcreator уже есть поддержка cmake, однако всего лишь редактирование с подсказками, и если я написал свой макрос на cmake, то qtcreator уже не могет подсказать.

                                                                                      Да и памяти потребляет не очень много ;) (это был очень тяжелый и медленный камень в огород eclipse/java).

                                                                                      Важный момент с переключением: Debug/Release, gcc/clang/icc/что-то_еще и все такое.
                                                                                      Более того в cmake можно прописать сборку «с вариантами» — открываем cmake-gui, ставим галочки, что именно хотим собирать, жмем сгенерировать.
                                                                                      А как будет это реализовано у вас? В данный момент руками нужно перегенерировать cmake потом открывать среду и кодить…

                                                                                      cmake в данный момент, хоть и не идеальная система сборки, но очень популярная и то что ее поддерка одна из первых это большой плюс, но не стоит забывать и об остальных.(далекий roadmap)

                                                                                      «P.S. Жду, когда допилят qbs и вот он уже и должен спасти мир ...»
                                                                                        0
                                                                                        Ясно. Спасибо!
                                                                                        Да, cmake в автоматическом режиме — это наша большая текущая цель. Ровно так, как Вы описали. Другие build-системы, возможно тоже в автоматических режимах, — об этом можно говорить в более долгосрочных планах.
                                                                                          0
                                                                                          Да в принципе qbs уже и сейчас вполне стабилен и работоспособен. Хотя там и не хватает некоторых важных фич, которые и qmake толком не умеет, впрочем.
                                                                                            0
                                                                                            В текущей релизной версии есть проблема с порядком библиотек в списке линковки. Впрочем, уже исправленная. Надеюсь, следующий релизный выпуск действительно будет «стабилен и работоспособен» :)
                                                                                      +3
                                                                                      <зануда>В вашем скринкасте есть потенциальная утечка памяти. Не забывайте про виртуальные деструкторы.</зануда>
                                                                                        +2
                                                                                        Спасибо =) На самом деле, виртуальные функции там просто quick fix показывают. А в идеале IDE вам покажет потенциальную ошибку в этом месте и в качестве quick fix предложит сделать, например, виртуальный деструктор. Хорошая, кстати, фича!
                                                                                          0
                                                                                          Такая фича как минимум должна быть отключаемой, см. ниже. Иначе же глаза мозолить будет.
                                                                                            0
                                                                                            Все inspections всегда можно отключить или просто настроить severity уровень.
                                                                                          +1
                                                                                          <зануда>В c++14 добавили make_unique, и теперь рекомендуют вообще не использовать plain new/delete, за исключением случаев создания контейнеров (в том числе различных кэшей). У умных же указателей есть так называемый deleter, и правильный деструктор для объектов будет вызван даже в указателях базовых типов.
                                                                                          Более того, вызов виртуального деструктора обходится дороже вызова обычного. Конечно, когда речь идёт об освобождении памяти, это мелочь. Но всё же.
                                                                                          Если использовать только make_shared/make_unique (а некоторые проекты уже так делают), виртуальными деструкторы можно не делать вообще никогда.</зануда>
                                                                                          +2
                                                                                          Хорошие новости, начинаю экономить на завтраках =).
                                                                                            +3
                                                                                            Не экономьте на завтраках, лучше экономьте на ужинах — куда полезнее :-)
                                                                                            +4
                                                                                            Смотрится бодро, да.

                                                                                            Такие вопросы/предложения:
                                                                                            1) Чем парсите C++ код (статический анализ)? Что-то свое или clang? Очень хочется иметь clang, такие проекты, как Qt Creator, потихоньку пилят версию именно с ним.
                                                                                            2) CMake хочется иметь с подсветкой и автодополнениями, а лучше еще и встроенной справкой, т.к. запомнить весь зоопарк свойств, функции и прочего тяжеловато.
                                                                                            3) Что с поддержкой Qt? Понятно, что CMake умеет находить Qt, подключать хедеры и линковаться, тут вопросов нет. Что с отладкой типов Qt (QString, QByteArray и т.д.)? Например, Visual Studio без плагина Qt Addins ничего Qt'овского в отладчике раскрыть не может, и, как следствие — нормально отлаживаться почти невозможно.
                                                                                            4) С boost как дружит? Многие чекеры и автодополнялки ломаются на нем (ну, например, Qt Creator пишет, что в строчках с BOOST_FOREACH — ошибка).
                                                                                            5) Можно ли будет использовать компилятор MSVC?
                                                                                            6) Сколько вообще памяти отъедает IDE? Уже надоело отдавать по 1Гб рамы для одного экземпляра IDE.
                                                                                            7) Будет ли какая-то плагинная система?
                                                                                            8) Будет ли minimap (аля sublime text)?
                                                                                            9) Будет ли поддержка комментариев в стили Doxygen (чтобы они и подсвечивались нормально, и, желательно, автоматически генерировались перед функциями)?
                                                                                            10) Будет ли какая-то удобная интеграция с CVS (git, mercurial, etc)?

                                                                                            В первом приближении вот такие вопросы возникли.
                                                                                              +5
                                                                                              Спасибо.
                                                                                              1) Анализатор свой в связке с clang.
                                                                                              2) Будет. Обязательно. Не могу пока сказать, что и когда точно, но над этим ведется обширная работа.
                                                                                              3) Возможно. Это обсуждаемый вопрос. Ну то есть, если запрос будет популярен, то сделаем.
                                                                                              4) Работаем сейчас над этим в частности.
                                                                                              5) Пока что это скорее к ReSharper: blog.jetbrains.com/dotnet/2013/06/26/resharper-to-support-c/ А там посмотрим.
                                                                                              6) Мы непрерывно оптимизируем и перформанс, и потребление памяти во всех наших IDE. В целом, конечно, зависит от размера проекта.
                                                                                              7) Да, конечно. Как в AppCode и IntelliJ IDEA. plugins.jetbrains.com Ближе к релизам там будет что-то появляться.
                                                                                              8) Что-то такое — plugins.jetbrains.com/plugin/7275?
                                                                                              9) Doxygen планируем в каком-то виде.
                                                                                              10) Это у всех наших IDE есть. Так что, конечно.
                                                                                                0
                                                                                                Спасибо за развернутый ответ! Картина приятная вырисовывается.

                                                                                                А что с запросами на фичи? Куда писать?
                                                                                                  0
                                                                                                  Когда пойдут preview и релизы, можно будет оценить, что есть, и добавлять, как обычно, к нам в трекер. Для AppCode это сейчас — youtrack.jetbrains.com/issues/OC. Вот где-то здесь будет место и для C++ IDE.
                                                                                                    0
                                                                                                    А, т.е. пока нет. Ну ждем, ждем :)
                                                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                +3
                                                                                                Исключительно судя по видео — не далеко ушло от QtCreator(стоит заметить бесплатного), а в некоторых вещах, вроде, и послабже будет.

                                                                                                Та же поддержка CMake выглядит менее полно — нет подсветки, как обстоят дела с комплитом, побочными целями и сгенерированными исходниками?

                                                                                                Будет ли возможность управлять проектом не на CMake, если не управлять, то хотя бы спарсить и работать с исходниками так же эффективно?
                                                                                                Будет ли поддержка CDB?
                                                                                                Удаленная отладка с GDB планируется?
                                                                                                На каких обьемах кода оно тестируется? QtCreator падает/виснет при парсинге проекта размером с CEPH или LikeWise.
                                                                                                Планируется ли поддержка систем документации кода, хотя бы, на уровне комплита и автогенерации тегов?

                                                                                                Кроме видео, круто было бы — почитать набор фич.

                                                                                                А вообще, выглядит бодренько и свежо, хотя не попробовав, что то заявлять сложно — по скринкастам и vim бодренько выглядит:)

                                                                                                P.S: vim rulez, но до крестовой IDE, таки не дотягивает обычно.
                                                                                                  0
                                                                                                  Набор фич для ближайшего preview указан в посте. Дальше будем развивать CMake активно, чтобы максимально автоматизировать процесс + подсказки и прочее. То есть подсветка, комплиты, это все в планах есть. Сейчас пока будет много IDE фич, типичных для наших продуктов, но в проекции на C/C++: рефакторинги, генерация кода, quick fixes и др. Из специфичного С++11. Ну и cmake+gcc+gdb связка — первоочередная для нас.
                                                                                                  Другие билд-системы, компиляторы, дебагеры в планах попозже. Вообще все такие не первоочередные запросы будут оцениваться по частоте их запросов пользователями.
                                                                                                  Doxygen был в планах и есть пока. Но к какому релизу — пока не подскажу.
                                                                                                  Перформанс проверяем и отлаживаем на довольно больших проектах.
                                                                                                    0
                                                                                                    Мне кажется, если ваша IDE вытянет Chromium — это будет win!

                                                                                                    З.Ы. Там только вроде не cmake…
                                                                                                      0
                                                                                                      Да, пока нет. Мы в AppCode производительность тестируем в частности на Chromium. Действительно, хороший показатель!
                                                                                                  +3
                                                                                                  Круто!

                                                                                                  Один вопрос — cppide понимает семантику шаблонов С++? Вот простой тест который я провожу на всех IDE для C++.

                                                                                                  struct a {int b;};
                                                                                                  struct b {double c;};
                                                                                                  template <typename T> struct s : T {};
                                                                                                  
                                                                                                  int main() 
                                                                                                  {
                                                                                                      s<a> v;
                                                                                                      v.  // будет ли тут корректный автокомплит?
                                                                                                      return 0;
                                                                                                  }
                                                                                                  


                                                                                                  Это конечно простейший случай. Но и он весьма показателен.

                                                                                                  XCode, MSVS 2012 этот тест проходят. А вот Qt Creator и AppCode — нет. Они не понимают семантику шаблонов С++.
                                                                                                    +1
                                                                                                    А скажите, как template-aware IDE работают с таким кодом?

                                                                                                    struct a {int b;};
                                                                                                    struct b {double c;};
                                                                                                    template <typename T> struct s : T {  int q;  };
                                                                                                    
                                                                                                    template <typename T>
                                                                                                    void f(const s<T>& x) {
                                                                                                      x. // auto-complete here?
                                                                                                    }
                                                                                                    
                                                                                                    

                                                                                                      +1
                                                                                                      Насколько я понимаю, автокомплитят то, что могут гарантировать, то есть тут оно предложит q. (по крайней мере в MSVS 2012 это так).

                                                                                                      Смешнее когда у нас есть специализация шаблона, которая дает принципиально другую структуру:

                                                                                                      struct a {int b;};
                                                                                                      struct b {double c;};
                                                                                                      template <typename T> struct s : T {  int q;  };
                                                                                                      template <> struct s <int> {int i;};
                                                                                                      
                                                                                                      template <typename T>
                                                                                                      void f(const s<T>& x) {
                                                                                                          x. // auto-complete here?
                                                                                                      }
                                                                                                      


                                                                                                      Тут студия предлагает опять q (хотя это уже не верно — верно было бы ничего не предлагать). Однако если сделать специализацию функции f для int, то там уже опять всё будет хорошо — будет предлагать i.

                                                                                                      PS. Да, а ошибки которые возникают при инстанцировании студийный Intelli Sense не показывает, они становятся видны только после полноценной компиляции.

                                                                                                      PPS. Завтра это все ещё на XCode проверю.
                                                                                                      +3
                                                                                                      Вроде все ок:

                                                                                                        0
                                                                                                        Здорово!
                                                                                                        0
                                                                                                        Qt Creator 2.8 подсказывает b
                                                                                                          0
                                                                                                          Да, действительно научился. Видимо как раз начиная с 2.8. (в 2.6 вроде бы еще не было)

                                                                                                          И в случае специализации шаблона Qt Creator 3.0 ведет себя также как и MSVS2012.
                                                                                                        0
                                                                                                        Я читал у вас где-то, что поддержка железок у вас сейчас не в приоритете (наверное, пока мало запросов). Но как вы считаете, спрос на embedded у вас появится в трекере? Всякие arduino, mbed, launchpad и прочее?
                                                                                                          +2
                                                                                                          Спрос определенно должен появиться со стороны тех индустрий которые использует С++ и хотят хороший инструментарий. Должны заинтересоваться как минимум embedded, gamedev и кванты, но что будет на самом деле покажет время.
                                                                                                          0
                                                                                                          А поддержка C будет? или только C++?
                                                                                                            +2
                                                                                                            Будет. Сейчас пока С99. С11 чуть позже.
                                                                                                            0
                                                                                                            Почему вы официально не поддерживаете OpenJDK?
                                                                                                              +3
                                                                                                              В OpenJDK 1.6 было достаточно много проблем с производительностью и отрисовкой UI. Однако многие из них были пофикшены и теперь предупреждение работает только для 1.6. Репорт: IDEA-113594, фикс
                                                                                                                0
                                                                                                                Вы мне скажите, то есть OpenJDK 1.7 официально поддерживается?
                                                                                                                А с 1.6 запуск возможен?

                                                                                                                А есть какая-нибудь инструкция, как вызывать главный исполняемый файл IDE (например, WebStorms) без лаунчера?
                                                                                                                  +1
                                                                                                                  Да, OpenJDK официально поддерживается. К сожалению, информация на сайте немного неправильно указывает системные требования, постараемся поправить в ближайшее время.

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

                                                                                                                  Инструкции нету, но если очень хочется, то можно посмотреть на исполняемый скрипт (.bat или .sh в зависимости от системы), никакой rocket science там нет. А вообще вам зачем? =)
                                                                                                                    0
                                                                                                                    Хочу запустить WebStorms на неподдерживаемой официально платформе. Для этой платформы доступен только OpenJDK и, к сожалению, пока что только 1.6.

                                                                                                                    Я вроде даже попытался его однажды всё-таки запустить, но оно падало, выводя коллтрейс (так это вроде называется?) в консоль…
                                                                                                                      +1
                                                                                                                      Можно попробовать запустить свежую версию и посмотреть, что будет. Если не запустится — пишите в личные сообщения, попробуем что-нибудь придумать
                                                                                                                        0
                                                                                                                        Хорошо, спасибо!

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

                                                                                                            Самое читаемое