В сентябре прошлого года мы порадовали вас новостью о начале программы публичного превью (Public Early Access Program) нашей новой кросс-платформенной IDE для разработки на C и C++ — CLion. А уже сегодня мы готовы сказать — релиз CLion 1.0 состоялся! За два года от первого (полушутливого) объявления о начале разработки C++ IDE мы прошли огромный путь — переосмыслили свои навыки и умения по работе с кодом на C++, дружно освоили CMake, расширили команду, протестировали CLion на десятках больших проектов на C и C++.

Но самое главное — это каждодневная поддержка C++ коммьюнити, которое (спасибо вам!) приняло нас очень благосклонно. Спасибо за слова поддержки, репорты багов, предложения новых фич, сотни ретвитов и репостов наших новостей и анонсов! Сегодня мы готовы показать вам и рассказать, что же вошло в CLion 1.0.



Языки, платформы, инструменты


Кто-то из вас уже знает, что поддержку разработки на C и C++ предлагают сразу три наших продукта — ReSharper C++, AppCode и собственно CLion. CLion ориентирован на кросс-платформенную разработку, с использованием GCC или Clang (в случае Windows вам для этого потребуется Cygwin или MinGW). В качестве проектной модели используется CMake, для отладки — GDB. Этот набор будет, наверняка, меняться в дальнейшем — мы планируем и поддержку других билд-систем (Makefiles, qmake и др.), и использование LLDB для отладки. Для вашего удобства в сборку CLion входят CMake 3.1.3 и GDB 7.8 (исключение составляет случай использования Cygwin — там GDB не входит в сборку CLion). Если эти версии вам не подходят, легко можно поменять на любые другие версии соответствующих инструментов — в настройках надо открыть Build, Execution, Deployment | Toolchains и указать пути до нужных версий. Тут же находится небольшой тест для указанного набора тулов — если все в порядке, то вы увидите:



Поддержка CMake


Как уже сказано выше, CLion использует CMake в качестве проектной модели. Всю информацию о том, какие файлы входят в проект, какой стандарт C++ стоит использовать, какие библиотеки и флаги компиляции будут использоваться, и т. д. CLion берет именно из CMake. Пока что немногое из этого вынесено в отдельный UI:



Также есть специальное окно для редактирования настроек CMakeCache.

Если у вас уже есть проект на основе CMake, для начала работы с CLion просто откройте в IDE CMakeLists.txt верхнего уровня. Если же нет, то можно попробовать заимпортировать проект в CMake с помощью File | Import Project… CLion поможет создать простейший CMakeLists.txt.

Для удобства редактирования файлов CMake работает автодополенение команд CMake:



Здесь же пригодится и однострочное (с помощью Ctrl+/ на Windows/Linux, ?/ на OS X) или блочное комментирование (Ctrl+Shift+/ на Windows/Linux, ??/ на OS X) в файлах CMake. Все изменения можно применить тут же автоматически, разрешив CLion перегружать проект автоматом после изменений.

Для каждого таргета CMake CLion создает конфигурацию, которую можно собирать и запускать (в случае, если указан исполняемый файл). Исполняемый файл можно сменить в настройках конфигурации в Run | Edit Configurations… Это может быть полезно, если вы захотите указать исполняемый файл для конфигурации all, доступной по умолчанию. При добавлении новых файлов и классов C++ в проект через контекстное меню New, CLion предлагает автоматически обновить таргеты CMake — вам будет показан список для выбора нужного (нужных).

Умные возможности


Построенный на нашей открытой платформе IntelliJ, CLion включает множество традиционных умных возможностей, которые помогают разработчикам быть более продуктивными:
  • умное автодополнение с фильтрацией по типу и использованием Camel Case/Snake case/Middle matching;
  • автоформатирование кода, настройки стилей;
  • быстрые сочетания клавиш практически для всех действий и команд. Стандартные раскладки IntelliJ IDEA, Emacs, Visual Studio, Eclipse, NetBeans, Xcode, ReSharper, а также возможности настройки раскладок;
  • поиск использования символа, причем не текстовый, а с использованием текущего контекста, также можно искать символ в строках и комментариях;
  • навигация по имени символа/класса/файла, переход вверх/вниз по иерархии, переход на определение/декларацию;
  • различные режимы просмотра-навигации по структуре кода — по структуре текущего файла, по иерархии типов/вызовов/include-ов;
  • система закладок по коду, TODO (CLion даже предупредит вас, если вы вдруг забудете закончить какую-то задачу в коде, отмеченную как TODO, перед коммитом кода в систему версионного контроля);
  • генерация кода: забытые или еще не реализованные функции, члены родительских классов, конструкторы, функции get/set для полей класса — CLion поможет сгенерировать все это в один клик;
  • surround with и live templates помогут быстро обернуть выделенные строки кода в if, while, for, #ifdef и др. или сгенерировать итератор по коллекции;

Рефакторинги


Конечно же, в CLion множество рефакторингов, которые автоматически обновят все необходимые места в вашем коде:



  • Rename — при переименовании CLion сможет учесть не только контекст символа, но и использования в строках и комментариях;
  • Change Signature — с помощью этого рефакторинга можно добавлять/удалять параметры, менять их порядок (порядок аргументов в вызовах функции также будет обновлен автоматически), менять тип результата;
  • Move, Copy, Safe Delete — незаменимы для безопасной работы с файлами проекта;
  • Inline — уберет лишнюю переменную или вызов функции, заменив их на непосредственное значение/код функции;
  • Extract Variable/Constant/Parameter/Typedef/Define — не просто добавят новую переменную, тип, константу или макроопределение с новым именем, но и дадут возможность вынести определение в заголовочный файл и объявить новую константу статической. При нахождении аналогичных значений в других местах кода, CLion предложит подставить новую переменную/тип/константу/макрос не только в данном месте, но и в аналогичных использованиях:

  • Extract Function — CLion автоматически определит, какие параметры надо передать на вход новой функции, а какое значение надо отдавать на выход, подставив нужные значения при использовании;
  • Extract Superclass/Subclass и Pull Members Up/Push Members Down — эти две пары рефакторингов помогут с реорганизацией иерархии классов в вашем проекте; для удобства в соответствующем диалоге работает автодополнение для поиска нужного класса по имени.

Анализ кода


CLion не просто дает вам возможность писать код, но и пытается буквально понять, что же вы написали, и нет ли в этом коде проблем. За счет анализа кода на лету не только подсвечиваются потенциальные проблемы, но и сразу предлагаются способы их исправить (quick-fixes). CLion предоставляет более 40 инспекций по коду на C и C++, включая поиск неиспользуемого кода; пропущенные случаи в switch-case операторе; создание переменных, перекрывающих другие переменные, доступные в этом же контексте, с таким же именем; поиск бесконечной рекурсии и бесконечных циклов (здесь CLion использует полноценный Data Flow Analysis); несоответствия типов и др.:



Отладка


Встроенный отладчик (с использованием GDB) поможет досконально разобраться в коде. В CLion доступны несколько типов точек останова (breakpoints):
  • Line breakpoints — самый простой и часто используемый, легко ставится и снимается простым кликом в левый вертикальной панели маркеров рядом с окном редактора;
  • Symbolic breakpoints — необходимы, когда хочется остановиться в какой-то библиотечной функции или вызове, код которых не доступен или сложно определить строчку для точки останова первого типа;
  • Exception breakpoints — как видно из названия, предназначены для перехвата и остановки в момент бросания исключений.


В редакторе во время отладки появятся непосредственные значения переменных (прямо напротив их объявления), а окно отладчика даст возможность просматривать значения переменных, добавлять watches, запускать любую команду в консоли GDB. Также можно посчитать значение любого выражения во время отладки, а автодополнение поможет в написании непосредственно интересующего вас выражения:



И напоследок


CLion, как и другие наши IDE, включает интеграцию с разнообразными системами контроля версий (Subversion, Git, GitHub, Mercurial, CVS, Perforce, TFS) и баг-трекерами (Jira, YouTrack, PivotalTracker, Bugzilla и многими другими), хранит локальную историю. Множество дополнительных функций доступно через систему плагинов: для CLion их уже около сотни.

А для тех, кто привык к простой консоли и vi, есть встроенный терминал и плагин IdeaVim для эмуляции Vim-режима.

И небольшое демо в завершение:



Заходите на наш сайт, читайте подробнее про возможности CLion, смотрите видео, интересуйтесь ценами и вариантами лицензий.

А 6 мая 2015 года мы проведем бесплатный вебинар, на котором покажем самые интересные возможности CLion. Зарегистрируйтесь уже сегодня! В процессе вебинара можно будет задавать вопросы. Мы постараемся ответить на них в эфире, а на что не успеем — ответим в почте и блоге.

Программируйте с удовольствием!
Ваша команда JetBrains CLion

Комментарии (148)


  1. OnYourLips
    15.04.2015 12:25
    +1

    Сильно ли пересекается его функционал с AppCode?
    Будут ли они объединены?


    1. anastasiak2512 Автор
      15.04.2015 12:29
      +3

      С точки зрения языка — поддержка одинаковая. Отличаются они скорее набором тулов. AppCode — использует Xcode build и Xcode проектную модель. CLion — CMake и GCC/Clang компиляторы. Плюс, CLion кросс-платформенный, а AppCode только для мака.

      Вообще про все наши C++ мы попытались расписать случаи использования здесь — www.jetbrains.com/cpp


      1. Louter
        15.04.2015 18:07

        В основном описание функций (вроде как) всех Ваших IDE
        Основные отличия и правда только в тулзах + генерация, если правильно понял нереализованных методов из интерфейсов?
        Хотелось бы увидеть чем отличается от штормов, идеи и пайчарма) Какие именно вещи помимо тех, которые все и так ожидали увидеть))

        И огромное спасибо и уважение! Работа коллосальная! Крупные проекты протестирую сегодня же вечером))


  1. mejedi
    15.04.2015 12:50

    Встроенный отладчик с использованием gdb или все таки lldb?


    1. anastasiak2512 Автор
      15.04.2015 13:06
      +2

      Пока GDB. LLDB в планах.


  1. Kentzo
    15.04.2015 13:06
    -2

    Синхронизацию шортактов сделали или пользователям предстоит ручками мучиться?


    1. anastasiak2512 Автор
      15.04.2015 13:08
      +5

      В каком смысле синхронизацию? Доступны стандартные раскладки IntelliJ IDEA, ReSharper, Xcode, Emacs, Vim, Eclipse, VS и др. Можно, как и в любой другой IDE от JetBrains на платформе IntelliJ заэкспортить свою кастомную раскладку, и заимпортить ее потом в CLion.


      1. Kentzo
        15.04.2015 15:55
        -1

        А как связаны доступные раскладки и синхронизация?

        Речь идет о синхронизации между приложением установленным на разных компьютерах пользователя без мучений. В идеале: синхронизация между различными продуктами, ведь очень многие действия по редактированию пересекаются. Совсем вы идеале: синхронизация настроек инспекции в пределах компании.

        Настройка под себя это та еще мука, но необходимость это проделывать для каждого форка IDEA…


        1. enDal
          15.04.2015 16:46
          +2

          Вы можете попробовать Settings Repository плагин. Он позволяет синхронизировать настройки при помощи git репозитория. Пока что плагин сыроват, поэтому он не особо рекламируется


          1. Kentzo
            15.04.2015 21:00

            Интересная вещь, посмотрю. Но сторонний продукт такого рода вызывает сомнения: нет гарантий, что он будет совместим с новыми версиями IDE.

            Пользуюсь различными продуктами JB лет 5 и до сих пор не понимаю, как при таком чудовищном количестве шорткатов и такой глубокой возможностью кастомизации не запилить такую простую вещь как синхронизация настроек…


            1. stigger
              15.04.2015 21:03
              +1

              Плагин разработан сотрудниками JB.


              1. Kentzo
                15.04.2015 22:02

                И правда. Над ссылкой на частный github вендора и не разглядел :)


            1. Bringoff
              16.04.2015 11:44

              Мне кажется, кастомизация шорткатов — не слишком частое действие. Один раз настроил, экспортировал, кинул на какой-нибудь dropbox, и потом на всех машинах при необходимости импортируешь.
              Хотя, конечно, синхронизация — интересная идея, но вряд ли стоит делать ее приоритетной.


  1. milo
    15.04.2015 13:10
    +3

    Решили ли проблему с производительностью? При работе с boost::multi_index_container ide зависала очень надолго.


    1. anastasiak2512 Автор
      15.04.2015 14:41

      Надо пробовать. Какие-то проблемы решили, какие-то еще остались, какие-то в разработке сейчас. Нам, чтобы разобраться, очень полезен CPU snapshot (https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems) или пример проекта, где проблемы. Мы, конечно, тестируем сами на больших проектах, особенно с boost, но, наверняка, многого не замечаем. Так что если вы попробуете и нам расскажите, то мы будем благодарны.


      1. alexeibs
        15.04.2015 17:12

        А есть подобная инструкция для R# C++? Установил в пятницу «на попробовать», создается такое впечатление, что он работает все медленнее и медленнее :(


        1. dovzhikova
          15.04.2015 17:31

          Да, есть, здесь: resharper-support.jetbrains.com/entries/24083148-Visual-Studio-with-ReSharper-is-slow
          Если кратко, то путь следующий: ReSharper > Help > Profile Visual Studio, затем выполнить тормозящие операции под профилятором. После этого вы можете отправить нам снепшот из того же окна (анонимизированная информация о системе собирается автоматически и прикрепляется к тикету).


  1. afiskon
    15.04.2015 13:24
    +1

    Это просто отличная новость!

    Но, увы, у меня не получилось купить лицензию с помощью Яндекс.Денег i.imgur.com/BNt5CL4.png :(


    1. afiskon
      15.04.2015 13:35

      Я смотрю, CLion знает типы переменных, отображает их при нажатии Ctr+Q. А нельзя ли также сделать отображение типа без документации через Alt+=? У меня, как, вероятно, и у многих других пользователей продукции JetBrains, мышечная память на него :) И еще вопрос. Планируется ли добавить полноценный вывод типа для auto переменных? Сейчас это работает только в обычном коде, но не в шаблонах i.imgur.com/uvxCWXM.png


      1. Hertz
        15.04.2015 13:46
        +2

        Не только в шаблонах, в моем проекте вывод auto ломается и на более простых примерах.


        1. afiskon
          15.04.2015 13:58

          Печаль. А как на этих примерах ведет себя Eclipse CDT? Я просто знаю под Linux только две IDE для С++, умеющие выводить типы — Eclipse и CLion.


          1. Hertz
            15.04.2015 14:00
            +1

            Про CDT не знаю, давно ушел от него. Есть еще KDevelop — он справляется. Но я не пользуюсь, в случае проблем с CLion откатываюсь в emacs, например когда в шаблонном коде начинаются сильные тормоза редактора.


          1. tzlom
            15.04.2015 14:09
            +1

            QtCreator тоже выводит, но сложные шаблоны пока не тянет


            1. afiskon
              15.04.2015 14:11

              Ой, а каким хоткеем в QtCreator посмотреть тип? Я читал их шпаргалку по хоткеям и не нашел. Может посоветуете туториал какой-нибудь или иного рода учебный материал по этой теме?


              1. tzlom
                15.04.2015 16:03
                +1

                До вашего поста как то жил и не задумывался, тип можно узнать по ctrl+space после имени переменной (без точки или ->, иначе будет автодополнение методов).
                Проверил, а и в правду — тип не пишет, хотя автодополнение предлагает, наверное это баг/недосмотр, надо будет в багтрекер написать


            1. fshp
              15.04.2015 16:59

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

              std::vector<MyClass*> vec;
              ...
              vec[0]->
              

              Тут автодополнение ломается.


              1. tzlom
                15.04.2015 19:45

                Не совсем так, шаблоны он парсит, к примеру замените std::vector на QVector, и это не зашитое поведение, в этом тоже легко убедиться. Но std::vector это не просто шаблон (tm), с ним не справляется, возможно — чрезвычайная сложность шаблона сказывается, возможно сам шаблон явно или косвенно использует особенности реализации gcc о которых QtCreator не знает


          1. Hertz
            15.04.2015 14:09
            +2

            Вообще эти примеры — откровенные баги, их исправят наверняка. А вот чтобы в вашем примере auto0 выводился в T — тут явно требуются нехилые средства для анализа шаблонов. Нужно понять, что decltype(*std::begin(std::vector{})) это тот же самый T, которым параметризован вектор, думаю не самая простая задача.


      1. anastasiak2512 Автор
        15.04.2015 14:51
        +2

        Шорткат quick documentation можете сами поправить на тот, который Вам больше нравится в Settings | Keymap. Или еще можно воспользоваться quick definition — Ctrl+Alt+B (в дефолтовой раскладке).

        Да, над auto работа ведется. Прямо сейчас. Надеемся, станет лучше.


    1. anastasiak2512 Автор
      15.04.2015 14:42
      +2

      Напишите на sales@jetbrains.com, пожалуйста.


      1. afiskon
        15.04.2015 14:46

        Ок, написал.


  1. BiTHacK
    15.04.2015 13:36
    +5

    Имеется ли у вас статистика по количеству коммерческих проектов на Windows под компиляторы Cygwin или MinGW? Планируется ли в Clion поддержка компиляторов от MS VC и Intel C++ Compiller? Имеется ли публичный RoadMap на следующий релиз(ы)?


    1. SerJook
      15.04.2015 13:45
      +7

      Да, странно, что самые популярные компиляторы для Windows не поддерживаются.


    1. anastasiak2512 Автор
      15.04.2015 14:59

      Для использования MSVC предназначен наш другой продукт — ReSharper C++ (https://www.jetbrains.com/resharper-cpp/) — плагин для VS.

      Вообще согласно нашим исследованиям почти половина тех, кто разрабатывает на Windows платформе, используют именно Cygwin/MinGW окружение. Поэтому на платформе Windows мы предлагаем на выбор два продукта — CLion и ReSharper C++.

      Intel компилятор — мы планируем его поддержать в будущем. RoadMap пока обсуждается.


      1. BiTHacK
        15.04.2015 15:06

        >почти половина тех, кто разрабатывает на Windows платформе, используют именно Cygwin/MinGW окружение
        Речь идёт именно о коммерческих проектах или CLion ориентирован больше на OpenSource и любительские разработки, где действительно обычно используются Cygwin/MinGW?


      1. tzlom
        15.04.2015 16:19
        +3

        Хоть я и целиком и полностью за mingw под windows, сделайте возможность вместо cmake запускать произвольную программу в настраиваемом окружении (ну или хотя-бы параметры от проекта передавать в аргументы, дальше можно уже самому доделать).
        Понимаю что с cmake у вас интеграция выходит за рамки системы сборки, но вариант «папка с отображением дерева файлов»+вызывать программу компиляции — как минимум решит проблему управления проектами, а если приплюсовать сюда требования скрипта возвращающего дефайны + инклюды — можно получить уже вполне рабочее автодополнение.
        Попробуйте так сделать, отметьте эту фичу как нестабильное временное решение, я думаю комьюнити вас поддержит в плане совместимости с системами сборки если вы дадите ему такую возможность.


        1. fshp
          15.04.2015 17:04
          +1

          В CMake умеет сам использовать любой тулчейн, хоть sysroot указывайте и под другую платформу собирайте. Так что использование другого компилятора реализовано самим CMake. Другой вопрос, что CLion не поддерживает remote-debug, что сильно ограничивает область его применения. Ну серьёзно, это же C++, отладка на таргет системах — первое что нужно было реализовывать.


        1. stigger
          15.04.2015 19:29

          Просто для сборки запускать можно что угодно при помощи функции External Tools.

          Что касается проектной модели — идеального, подходящего всем варианта не существует, а с чего-то нужно было начинать. Решили начать с CMake.


      1. xvilka
        15.04.2015 17:23

        Есть еще «дешевый» вариант — поддержка clang-cl. Он позволит поддерживать синтаксис MSVC при сохранении поддержки бэкенда в виде llvm/clang.


  1. qvlad
    15.04.2015 13:41
    +1

    Почему убрали поддержку Linux 64-bit, планируется ли вернуть?


    1. qvlad
      15.04.2015 13:45
      +1

      упс, Linux 32-bit,


      1. BiTHacK
        15.04.2015 13:49
        +1

        1. anastasiak2512 Автор
          15.04.2015 15:00
          +1

          Ну соб-но да, с тех пор ничего не поменялось.


  1. Hertz
    15.04.2015 13:42
    +4

    Расскажите, много ли покупателей в первый день? Ведь мы все так ждали :-)


    1. anastasiak2512 Автор
      15.04.2015 15:00
      +5

      Достаточно) Мы вполне довольны.


      1. Louter
        15.04.2015 18:44

        Яндекс деньги налажены? Оплата других продуктов возможна?)


        1. anastasiak2512 Автор
          15.04.2015 19:08

          Вообще должно работать, со всеми проблемами пишите sales@jetbrains.com


  1. NeoCode
    15.04.2015 14:16
    +6

    Вчера вечером скачал дома, посмотрел…
    Подтормаживает. Хотя это не к вам претензия, для софта на джаве это вообще характерная черта:)
    Интерфейс внешне приятный, темная тема есть, проверять в работе не стал — нет у меня проектов на cmake.

    Самая быстрая ide на сегодня — это qt creator. Но он неудобный, в нем нет даже закладок из коробки (какие-то плагины есть, который под виндой работают а под линуксом не собираются). Не говоря уже о совершенно странном и неудобном поведении вспомогательных окон.
    А все что удобное — тормозит (включая visual studio). Ну вот почему так?

    Пробовать в любом случае буду, но когда сделаете поддержку проектов на основе qmake (файлы .pro) и visual studio (vcxproj / sln).


    1. JC_Piligrim
      15.04.2015 14:25
      +1

      del


    1. Kentzo
      15.04.2015 16:09

      Посмотрите багтрекер CMake. У них до сих пор проблемы с генерацией проектов под разные IDE, а они над этим работают очень долго. Даже у VS бывают проблемы при «импорте» проектов из старых версий самой себя. Мне кажется это будет самоубийство для Jetbrains :)

      CMake это очень правильный выбор, снимает столько головняков с разработчиков JB. И для пользователей тоже удобно — не нравится CLion, генерируй проект под свою IDE.


    1. Athari
      15.04.2015 16:39
      +6

      А все что удобное — тормозит (включая visual studio). Ну вот почему так?

      Это глобальный тренд в разработке IDE уже много лет. Всегда стоит выбор:

      1. Нагромоздить кучу фич, научить среду разработки понимать и анализировать код на ходу, при разработке использовать средства, позволяющие разрабатывать быстро и много.

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

      В какой-то момент пришло осознание, что производительность программиста возрастает, если ему дать мощную, но тормозящую среду, но при этом тормоза не настолько зашкаливающие, что программист начинает материться раз в минуту. Если тормоза можно уменьшить наращиванием RAM, SSD и т.п. — вообще отлично, потому что железо гораздо дешевле программиста. Поэтому, если раньше подход был «если задержка 50 мс, то пора оптимизировать», то сейчас «если в пределах 400 мс, то жить можно, зато вон сколько фич».

      Представьте, что лет 10-15 назад вам сказали бы, что передовая среда разработки для C++ будет написана на Java — вы бы не рассмеялись?


      1. NeoCode
        15.04.2015 18:41

        Ну вот qt creator не тормозит, и фичи все есть… другое дело что интерфейс построен так коряво, что до этих фичей просто не добраться.


        1. monah_tuk
          24.04.2015 11:36

          Тут можно поспорить. Мне интерфейс Qt Creator очень нравится. Есть архитектурные заскоки (как минимум связанные с Baremetal плагином) и поддержка CMake оставляет желать лучшего. Плюс сложные конструкции кода временами отказывается воспринимать. Причём, бывает сложно собрать «минимально-рабочий пример» на котором наблюдаешь ошибку. Подключение CLang парсера спасает, но уже не раз ловил его падение, а про тормоза и говорить нече. Ну и функционала по рефакторингу хотелось бы побольше и поштабильнее (бывает что на коде просто не появляется меню, когда хочешь сделать Extract function). Фичи с хранением результатов разбора на диске, тоже не хватает: был проект который парсировался около 10 минут. Добавил файл — снова иди пить чай. Хотя фича сложная, особенно понять что и как обновлять.

          Но всё же как-то научились жить вместе.


      1. tangro
        16.04.2015 11:24

        что передовая среда разработки для C++ будет написана на Java — вы бы не рассмеялись?

        Я и сейчас рассмеюсь. До «передовой» CLion'у нужно побороть студию и QT Creator, а в ближайшие годы этого не произойдёт — нет никаких предпосылок и уникальных фич.


        1. StrangerInRed
          16.04.2015 14:44

          Вы б хоть скачали, попробовали CLion. А потом уже такие смелые утверждения писали.


          1. tangro
            16.04.2015 21:47
            -1

            Да качал, качал. Не понял только, что мне с этим делать. Рабочие проекты (студийные, немного завязанные на C++\CLI) в ней не откроешь. Домашние (в основном Qt) — аналогично, да и незачем. Новый проект с интерфейсом — не сделаешь. Хеллоу Ворлд написать да, можно. Можно небольшую консольную утилиту. Но это всё можно и в блокноте написать. В общем, пока применения не придумал.


        1. Louter
          16.04.2015 17:58

          Студию побороли уже: они на всех платформах и это IDE.
          Возможно вы парируете это настраиваемостью проекта. На что я замечу, что CMAKE куда гибче, а то, что пока это не GUI так не велика беда. Зато новые фишки проще внедрять.
          Про QTCreator сказать не могу, не трудился в нём. Но вроде основная фишка — создание интерфейсов, разве нет? Чего в СиЛайоне пока нету (или не нашёл) и появится в скором времени (или найду).


          1. tangro
            16.04.2015 21:42
            -2

            «Побороли Студию» будет тогда, когда разработчики следующей ААА-игры или чего-то подобного по размаху скажут «да, пришлось выкинуть студию и взять CLion». А по факту Вин-разработчики со студии не уйдут, маководы влюблены в свой икскод, а линуксоиды в основном сидят в виме, обвешанном сотней плагинов. Да, любители опенсорса, студенты и стартаперы получат от CLion некоторый профит, но до мейнстрима тут далеко.

            Что касается создание интерфейсов — то мне интересно, как оно там может появиться и выглядеть? Студия для С++ предлагает либо MFC с его визардами и редактором интерфейсов, либо WinForms\WPF (через C++\CLI), либо DirectX со средствами отладки сцен. Qt Creator, понятное дело, предлагает Qt. А какие возможности создания интерфейсов может предложить CLion?


            1. RPG18
              16.04.2015 21:59

              Все что касается IDE это все очень субъективно. Лично я GUI делаю в Eclipse CDT + Qt Designer, и лично для меня это намного удобней чем QtCreator. И знаю людей, для которых это удобно делать в Vim, Emacs, NetBeans, KDevelop, Code::Blocks.


            1. Louter
              17.04.2015 21:32

              Варинтов не так много: gtk и Qt. Каждый из них имеет готовые инструменты для компиляции под другие платформы.

              Разработчики игр, если честно, странный показатель. Там всё, __, заточено под винды и немножко под маки: IDE для С++, фотошопы, запекатели карт, унструменты движков (UrealEngine, Unity). Многие инструменты имеют возможность взаимодействовать с другими. Там попросту нет нужды, мотивации и интереса менять на СайЛайон студию, которая для игр отлично себя показала.

              Но не играми одними С++ и Си дышит: приложения, встраиваемый софт, драйвера и, если прикинуть, можно нарыть десятки отраслей, где разработчикам винда как кость в горле, где приходится обвешиваться мингв и сигвином чтобы всё это собирать. Мак тоже показал негативный опыт для ряда системщиков из старой школы.

              Так что если вы способны осознать в каких областях KDevelop нагибает и составляет конкуренцию остальным средам, то способны и понять для каких областей СайЛайон это глоток свежего воздуха =)


          1. anastasiak2512 Автор
            17.04.2015 12:07

            Пока что в CLion нет средств для разработки UI. И вряд ли в самое ближайшее время появятся. Но позже мы об этом обязательно подумаем.


          1. monah_tuk
            24.04.2015 11:42
            +1

            Но вроде основная фишка — создание интерфейсов, разве нет?


            Нет. Много юзаю для всякого baremetal. При наличии Generic project manager вообще сказка: прикручивается к любой системе сборки. Плюс есть возможность сделать свой Мастер новых проектов, который умеет вызывать скрипт (точнее что угодно исполняемое): у меня так генерировался generic проект для жуткой легаси базы, куда из всего дерева брались только нужные файлы, что сильно экономило время на открытие проекта, могло вызывать дополнительные диалоги для задания параметров и т.п.


    1. Louter
      15.04.2015 18:47

      Это на каком проекте?)
      Открывал мозиллу (вот уж точно грохнуться можно, а не проект: питон и плюсы с бустом и ГТК разных версий) когда была бетта и никаких тормозов после индексации. Правда компик не из слабых пк…
      Джаву можно сильно ускорить gcj и если покапаться есть ещё плюшка) Но лагов (подтормаживаний) уже давно не было на амд-шных камнях, но бывали на интелах… (уж не камни в огороды процов, а наблюдения).


    1. fshp
      16.04.2015 20:28

      Как это нет закладок? Ctrl+M — установить закладку. Ctrl+< Ctrl+> — переход. Это из коробки. На Linux.


      1. monah_tuk
        24.04.2015 11:44

        он Табы имел ввиду, для открытых файлов :)


  1. Revertis
    15.04.2015 14:18
    +14

    Всё это хорошо, но теперь я начинаю ждать вашу IDE для Rust…


    1. afiskon
      15.04.2015 14:52
      +1

      Есть подозрения, что ближайшие лет 5 это не бизнес приоритетная задача ))) Точно не более приоритеная, чем нормальная поддержка скажем Haskell. Но тут энтузиастом пилится плагин для Rust github.com/Vektah/idea-rust


      1. Revertis
        15.04.2015 14:56

        Я видел этот плагин, он умеет только раскрашивать. Плагины энтузиастов обычно и пилятся годами, а функционал бывает очень слаб.
        Rust это будущее, он способен заменить старого, разваливающегося C++. Поэтому, я считаю, что тот, кто запилит полнофункциональную IDE для Rust может рассчитывать на хорошую материальную поддержку.


        1. BiTHacK
          15.04.2015 14:59

          И как много крупных коммерческих проектов на этом языке вы знаете? Или откуда ещё взяться этой материальной поддержке хорошей?


          1. Revertis
            15.04.2015 15:08
            +4

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


            1. BiTHacK
              15.04.2015 15:21
              +1

              В современном мире новые языки появляются и пропадают очень быстро. Вдруг Rust не взлетит, кто будет покрывать немалые потери бизнеса? Разработка такого продукта сродни посевным инвестициям.


              1. Revertis
                15.04.2015 15:25
                +3

                Ну, всё просто — те, кто разобрался с Rust, понимают, что на нем очень просто разрабатывать проекты под любую систему, и он с огромной скоростью обрастает библиотеками и биндингами. Очень советую всем почитать о нем :)


            1. RPG18
              15.04.2015 16:49
              +3

              У Erlang нет мегасуперпупер коммерческой IDE, и это как то не очень мешает ему развиваться.


        1. afiskon
          15.04.2015 15:05
          +1

          Rust, бесспорно, интересный язык. Но тут проблема курицы и яйца. Пока на нем никто не пишет, нет инструментов и вакансий. Пока нет инструментов и вакансий, это никому не интересная игрушка. А то что плагин медленно пишется — ну так вы автору занесите, может разработка и ускорится. Racer хотя бы прикрутит, уже прогресс огромный будет.


        1. andreylartsev
          15.04.2015 15:31
          -3

          Добро пожаловать в Xcode с поддержкой языка Swift ) судя по примерам из Wikipedia Apple очень много позаимствовал из Rust для своего нового языка… чуть ли не все основные идеи. Так что вам должно понравится.


          1. Revertis
            15.04.2015 15:33

            Я не хочу приобщаться к технологиям Apple и к их Xcode, от которого все знакомые мне разработчики просто в ужасе.


          1. StrangerInRed
            15.04.2015 15:39

            На самом деле, людям, который видели внутренности obj-c понятно, что рантайм и идея swift возникла намного раньше чем rust. Причем, на очень много раньше. id например тот же var.


          1. stepik777
            15.04.2015 19:21

            Синтаксисом они, возможно, и похожи, но это очень разные языки.


  1. StrangerInRed
    15.04.2015 14:48
    +2

    Самый годный инструмент для работы с С/С++.


  1. StrangerInRed
    15.04.2015 15:19
    +2

    Я уже как-то задавал этот вопрос, но спрошу еще раз. Вы не планируете сделать свой monospace шрифт для idea-продуктов. Потому что, как только садишься на Windows, c OSX глаза просто в трубочку сворачиваются.


    1. Singerofthefall
      15.04.2015 15:48
      -2

      В чем проблема установить в windows тот же (или максимально похожий) шрифт, что вы используете в os x? Другое дело, что сам рендеринг шрифтов в разных ОС работает по-разному, но тут уж ничего не поделать.


      1. StrangerInRed
        15.04.2015 16:12

        Кстати заметил что в версия для OSX и OSX+bundled JDK очень все кардинально отличается с рендерингом.


    1. leventov
      15.04.2015 15:49

      Consolas пробовали?


      1. StrangerInRed
        15.04.2015 16:01

        Так Consolas по умолчанию вроде стоит. Menlo one love. Ток с ним проблемы под windows.


        1. leventov
          15.04.2015 16:08

          Вроде по умолчанию Courier New, во всяком случае, рекомендую проверить


        1. NeoCode
          15.04.2015 18:43

          Интересно, какие с ним могут быть проблемы под Windows. Он у меня везде стоит, даже в total commander, и никаких проблем:)


          1. StrangerInRed
            15.04.2015 20:37

            У вас стоит Menlo в total commander? Вы вероятно очитались.


            1. NeoCode
              16.04.2015 09:12

              Consolas


              1. StrangerInRed
                16.04.2015 14:56

                Ну, а я же про проблемы Menlo под windows, а не о consolas.


    1. stigger
      15.04.2015 19:24

      Насколько я знаю, рисованием шрифтов мы пока ещё не озадачивались.


    1. POPSuL
      17.04.2015 16:18

      Я тут насмотревшись на OSX поставил нагло своровав его с макоси себе Aythaya, и вполне доволен!

      Скрин
      Простите меня за PHP :)
      image


      1. POPSuL
        17.04.2015 16:27

        Ах да, забыл уточнить, это под Linux'ами.


  1. grossws
    15.04.2015 15:21

    Stop/restart при дебаге починили, интересно?

    Ну и поддержка тулчейнов пока очень ограниченная, ждем в следующих версиях.


    1. anastasiak2512 Автор
      15.04.2015 19:49

      Если скажите о каком тикете идет речь — посмотрим в трекере. Ну, или попробуйте) Потом поделитесь результатом — будем благодарны. По дебагеру были фиксы в последних EAP-ах, но о чем вы конкретно, не могу сходу сказать.


      1. grossws
        15.04.2015 20:00

        По трекеру никакой активности: youtrack.jetbrains.com/issue/CPP-1807


        1. anastasiak2512 Автор
          15.04.2015 20:32

          Ок, спасибо за напоминание. Посмотрим, во что там все уперлось.


  1. Clash
    15.04.2015 15:58
    +1

    Я прирос к семантической подсветке — программирую в kdevelop. Часто приходится копаться в чужих исходниках, сильно помогает быстро мозгом схватить весь dataflow. А синтаксическую начал ненавидеть, только мешает, мозг совсем не на том концентрируется. Особенно с умолчательными вырви-глазными цветами. Надеялся, что здесь будет, а попробовал триал — нет. В эклипсе есть, у микрософта есть, даже в нетбинс уже есть, и даже в саблайм через отдельный модуль, а тут нет, печаль. Сделайте пожалуйста! Буду ждать, я терпеливый )


    1. Kentzo
      15.04.2015 16:04

      Да, очень не хватает.


    1. afiskon
      15.04.2015 16:47

      Не знал, что такое вообще бывает. Спасибо :) Но не нашел как это включить в Scala Plugin. Неужто там нет?


    1. Louter
      15.04.2015 18:52

      А могли бы прощупать как следует клион (поработать) и сказать ощущения помимо этого?) (по мне кдевелоп пока ведущая ИДЕ под линухами, но это лишь вкусовщина)))


      1. Clash
        15.04.2015 19:04

        Он произносится как си-лайон, «морской лев», из-за этого у него и иконка такая.

        Только вчера поставил, уже многое посмотрел, но как-то законченное мнение пока рано говорить. Качество в целом внушает. Если прямо нет требования семантической подсветки, то наверно это лучшее, что теперь есть под линукс.


        1. Louter
          15.04.2015 19:17

          Спасибо) Надеюсь за развёрнутый отзыв через несколько недель опытного полёта)


    1. stigger
      15.04.2015 19:20

      По этому поводу пока ничего не решили. Голосуйте в трекере.

      Как альтернатива, можно воспользоваться action'ом «Highlight usages in file».


  1. dzzh
    15.04.2015 16:37
    +4

    Ежедневно пользуюсь CLion уже месяца три, вы как раз выкатили первый EAP незадолго до того, как я пересел на С++. Разумеется, не все во время использования было гладко, но критичные баги быстро пофиксили, а с некоторыми небольшими улучшениями и фичами можно и подождать. В целом получилась отличная система, уже запросил на работе ключи для себя и коллег. Моя оценка — десять рефакторингов из десяти. Поздравляю с долгожданным релизом!


  1. pasha_golub
    15.04.2015 17:26

    Кросс-компиляция будет доступна? Чтобы, например, легким движением руки создавались бинарники для винды32 и винды64 из под Убунту?


    1. fshp
      15.04.2015 18:00

      Это забота CMake.


      1. Louter
        15.04.2015 18:54

        Это хороший признак для IDE (не «забота», т.е. не обязанность, но приятное дополнение. Как билды релиз/дебаг и др.)


    1. stigger
      15.04.2015 19:11

      Так как на C довольно много embedded-разработки, определённо будем думать в этом направлении.


      1. monah_tuk
        24.04.2015 11:52

        Для Qt Creator'а я сделал так: habrahabr.ru/post/248517 (или тут: htrd.su/wiki/zhurnal/2015/01/22/cmakeprojectmanager2_uluchshenija_v_dialoge_konfigurirovanija)

        Кросс-билдинг основан на стандартном механизме тулчейнов CMake. Сам тулчейн можешь написать и сохранить в проекте, для нужной конфигурации просто выбрать его или написать inline-тулчейн (рыба предлагается). Задумывал ещё на основе Kit'ов генерить, но пока времени заняться нет.

        Может какие идеи пригодятся :)


  1. robert_ayrapetyan
    15.04.2015 17:41

    Стоит ли ждать плагина к InteliJ IDEA Ultimate в ближайшее время или покупать CLion Standalone?


    1. stigger
      15.04.2015 19:13
      +1

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


      1. robert_ayrapetyan
        15.04.2015 20:11

        Спасибо! Хотелось бы только пожелать более мощной поддержки OpenJDK и платформы FreeBSD в частности.


  1. Myshov
    15.04.2015 19:33

    Ребята, я был на последнем CodeFest'е и оставил, свой e-mail JetBrains'ам на стенде. Вчера они прислали мне один скидочный купон на 20%. Если кому-то надо, пишите в личные сообщения — отправлю.


    1. robert_ayrapetyan
      15.04.2015 20:07

      Спасибо, купон успешно использован!


  1. Kentzo
    15.04.2015 21:19

    Где-нибудь можно посмотреть список поддерживаемых модулей CMake в IDE? В частности интересует ExternalProject.


    1. stigger
      15.04.2015 21:50

      Ввиду обширной функциональности CMake категоризации по поддерживаемости нет. Проще всего взять и попробовать и в случае чего писать в трекер.


      1. Kentzo
        15.04.2015 22:09

        Обязательно. Интересно было бы почитать про баги CMake, которые вы обнаружили (и надеюсь героически починили и заслали патч) в процессе разработки CLion.


        1. anastasiak2512 Автор
          16.04.2015 12:13

          Спасибо за мысль. Мы подумаем, есть ли нам что интересное рассказать. Если соберем интересной инфы — запостим в блоге.


  1. VioletGiraffe
    16.04.2015 08:05

    Ещё бы поддержку qmake-проектов…


    1. anastasiak2512 Автор
      16.04.2015 12:11

      Реквест есть, за него можно проголосовать. В самое ближайшее время это вряд ли случится. Пока хотим закончить умную поддержку CMake. А потом уж посмотрим на другие билд-системы. Правда пока по трекеру (по количеству голосов) Makefiles лидируют)


      1. VioletGiraffe
        16.04.2015 12:27

        О, спасибо, проголосую. У меня все кросс-платформенные проекты используют qmake, даже если не используют сам Qt.
        Makefiles — тяжелое наследие прошлого.


      1. VioletGiraffe
        16.04.2015 12:37

        Ну, кстати, если можно с помощью qmake сгенерировать make-файлы и открыть проект в CLion таким образом — почему бы и нет. Лишь бы нормально работало.


  1. MadHacker
    16.04.2015 13:09

    Пользуюсь CLion с первого EAP билда.
    Воюем с коллегой на тему CLion+Cmake vs QTCreator+Qmake. Без удалённой отладки я разгромно проигрываю эту битву :) В трекере уже за всё нужное проголосовал.
    И релизу радуюсь. Куплю на днях. Но вот каждый раз выходит новая версия и думаешь, то ли сам успел куда-то влезть и функция перестала работать, то ли погибла в процессе разработки. EAP упоминать не буду, там это нормально. А вот в релизе…
    Точно помню, что в старых EAP версиях я использовал ctrl+c в консоли «Run» и сигнал благополучно уходил в программу. А теперь получаю копирование из консоли, хоть ты тресни. И теперь не знаю, это такую фичу для удобства сделали (тогда бы кнопочку какую, для отправки сигналов в программу, или возможность запустить её в полноценной консоли) или случайно отломали?


    1. anastasiak2512 Автор
      16.04.2015 13:15

      Спасибо за отзыв. Вообще из того, что поменялось, теперь в момент Run запускается псевдо-терминал (это так последние пару EAP-ов, RC и соб-но 1.0). Заведите, пожалуйста, реквест в трекере про посылку сигнала программе.


      1. wibotwi
        16.04.2015 22:56

        только заведите плиз на кнопочку, и чтоб там был выбор какой сигнал послать
        INT или STOP или…


        1. anastasiak2512 Автор
          17.04.2015 12:11

          Было бы круто, если бы вы это в трекере описали. Нам всегда интересно, как пользователи предполагают использовать ту или иную фичу, и что им кажется удобным. Это сильно помогает разработке. Заранее спасибо.


  1. silentz
    16.04.2015 14:56
    +1

    Жду плагинов для МК AVR и ARM.


  1. Godless
    16.04.2015 17:37

    Ой крутяяяк. Сердечно поздравляю Вас с релизом!
    Пробовал бэту около 3х месяцев назад на небольшом проекте, много чего понравилось. Не понравилось что не стартует на LInux x32… Дома ноут старенький, железо нынче дорогое… В общем хочется…
    Вот доберусь до своего проекта, обязательно куплю!


    1. anastasiak2512 Автор
      17.04.2015 12:09

      Спасибо! Очень приятно)

      Да, 32-битные системы не поддерживаем. На то есть причины.


  1. Hertz
    16.04.2015 18:12

    У меня на Ubuntu 14.04 (Unity) иконка отображается в очень низком качестве (будто 64х64), что в dock, что при переключении окон alt+tab. Можно что-то с этим сделать?


    1. anastasiak2512 Автор
      17.04.2015 12:09

      Можно попросить Вас скриншот нам прислать, на clion-support at jetbrains.com? Посмотрим, в чем проблема и может ли что-то сделать.


  1. horror_x
    23.04.2015 02:20
    -2

    Всю информацию о том, какие файлы входят в проект, какой стандарт C++ стоит использовать, какие библиотеки и флаги компиляции будут использоваться, и т. д. CLion берет именно из CMake.
    Это с самого начала вызывало у меня недоумение. CMake, независимо от того, насколько он популярен — не краеугольный камень, а всё-таки частный случай. Почему нет возможности создать freestyle-проект, который можно самостоятельно наполнить и настроить? Взять тот же CodeBlocks — он универсален, а ваша IDE — нет. Я так долго её ждал, а в итоге банально не смог ею воспользоваться, поскольку не использую CMake в качестве системы сборки.


    1. Hertz
      23.04.2015 14:03
      +1

      image


      1. horror_x
        23.04.2015 15:59

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

        Почему бы не дать возможность создавать любой проект со свободной конфигурацией, командами сборки и т.п.? Это дало бы возможность вообще не зависеть от системы сборки. А CMake и т.п. вполне себе можно поддерживать дополнительно.


    1. anastasiak2512 Автор
      23.04.2015 16:52

      Благодаря чтению всей информацию из CMake файлов, мы можем зато резолвить код более корректно. При этом довольно много проектов использует CMake, поэтому начать мы решили с него.
      Конечно, можно было бы попытаться сделать какой-то общий интерфейс, general, для конфигурации под любую билд систему, но, боюсь, пока мы не попробуем поддержать парочку конкретных систем, мы не поймем как этот интерфейс должен выглядеть.


      1. StrangerInRed
        23.04.2015 17:20

        Научился работать с CMake, только для того чтобы пользоватся Clion. В итоге, адекватная build-система. Я понимаю, что это может не устраивать людей привыкших к VS, но для всех остальных это считай мана небесная.


        1. horror_x
          23.04.2015 17:59
          -1

          ОК, допустим, у вас проект, который не на CMake и мигрировать на него вы не собираетесь. Однако, вам не хватает удобной кроссплатформенной IDE и тут вы встречаете CLion. Что проще — продублировать всё в CMakeLists.txt или вбить пару команд сборки в настройках?


      1. horror_x
        23.04.2015 18:02

        Посмотрите на существующие реализации (например, CodeBlocks). В самой простой реализации это банальный редактор конфигураций, где можно задать команды сборки проекта/отдельного файла, пути, общие настройки (типа DEFINES и т.п.) и состав проекта или маски включения. Всё остальное уже вторично.


  1. vovkos
    24.04.2015 11:23

    Для *nix-овой C++-разработки в настоящий момент использую NetBeans, но нахожусь в активном поиске (все проекты на cmake). Пробовал clion где-то полгода назад, но тогда он был достаточно нестабилен (по крайней мере, были проблемы с зависаниями на моих проектах). С удовольствием поиграюсь с новым релизом.

    Скажите пожалуйста, планируется ли поддержка директивы cmake source_group (виртуальные папки)? К сожалению, на сегодняшний момент единственный способ использовать виртуальные папки — это Visual Studio-генератор (но это подходит только для Windows-разработки). Все поддерживающие cmake ИДЕшки почему-то принципиально игнорируют данную директиву и используют структуру папок директории проекта.

    Если не планируется (или вопрос поддержки обсуждается) — занесите в wish-list плз.


    1. RPG18
      24.04.2015 11:37

      папок директории проекта.

      Есть такая штуку как Матрица компетентности программиста, там есть такой пункт Организация дерева исходников, в котором
      Структура дерева исходного кода соответствует логической иерархии и организации кода в проекте.
      Глядя на имена файлов и структуру папок, можно понять как спроектирована данная система.

      Встречал такой подход в нескольких фирмах в которых работал, и это чертовски удобно, когда тебе говорят: -вон там наш старый проект, теперь ты будешь его поддерживать.


      1. vovkos
        24.04.2015 12:40

        Не хочу начинать священную войну о том, как правильно организовывать структуру проекта, поэтому всё нижеследующее является моим личным имхо.

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

        Впрочем, от абстракции к конкретике: где лично мне удобно использовать виртуальные папки.

        Допустим, у нас есть библиотека. В ней есть публичные хедеры (.h) и исходники реализации (.cpp .h и т.д). Очевидно, публичные хедеры должны лежать в папке отдельной от исходников реализации. В то же время для редактирования удобнее видеть .cpp и соответвующий .h рядышком.

        Вторая причина. Если библиотека нетривиальна, то всегда хочется группировать файлы по функционалу. Если группировать их с использованием директорий файловой системы, то становится неудобно использовать директорию include (например, в llvm вечно приходится искать, в какую подпапку они положили соответвующий хедер, особенно с учётом того что они любят тасовать файлы по папкам в каждом новом релизе). Я лично предпочитаю иметь одну большую папку include, а группировку в ней осуществлять виртуальными папками.

        Впрочем, на вкус и цвет… Но подозреваю, что я не единственный любитель виртуальных папок :)


    1. anastasiak2512 Автор
      24.04.2015 11:52

      Интересное предложение. А Вы не могли занести в трекер? Нам очень поможет описание use case, как вы себе это видите в IDE и пр.


      1. vovkos
        24.04.2015 12:55

        К сожалению, у меня нет аккаунта на вашем трекере. Создам чуть попозже и тогда добавлю. Как я себе вижу это в IDE — помимо File View, отображающего структуру файловой системы, должен быть какой-нибудь Source Group View, отображающий структуру виртульных папок (в качетсве reference — смотреть что создаёт Visual Studio-генератор cmake-а).

        Кому надо — будут использовать для навигации виртуальные папки, кому нет — можно работать с File View, как привыкли.


        1. anastasiak2512 Автор
          24.04.2015 13:12

          Да, спасибо большое. Если сможете показать примеры из других IDE, где Вам нравится, как это реализовано, тоже будет полезно. Ну или просто пришлите это все на clion-support at jetbrains.com. А мы сами уже в трекер добавим.


  1. IVAN2001
    28.04.2015 10:55

    Вопрос может немного не в тему, но нет ли планов у JetBrains разработать IDE для программирования микроконтроллеров?
    Если такое уже есть и я что-то упустил, то киньте ссылочку. Интересна разработка под STM32.


    1. StrangerInRed
      28.04.2015 13:00
      +1

      github.com/ObKo/stm32-cmake

      habrahabr.ru/post/247017

      Возможно поможет. По идее если отконфигурировать cmake, то все заведется.


    1. anastasiak2512 Автор
      28.04.2015 13:25

      Добавить к комментарию выше в общем нечего. Отдельной IDE никакой не планируем.


    1. grossws
      28.04.2015 19:05

      Можно ещё голосовать за youtrack.jetbrains.com/issue/CPP-871