Special thanks & CLion 1.5 roadmap

Hi,

A week ago we’ve published CLion 1.2 release. Now you can benefit from Google Test support and many other new features in CLion.

Special thanks

We are grateful to everyone who shared their feedback and suggestions, as well as submitted issues into our tracker during the EAP time (for both 1.1 and 1.2 releases). Thank you! You’ve helped us make the product more stable and raise its quality.

From the team perspective contributions from several EAP evaluators have been the most valuable and deserve a gift of free 1-year subscription (to prolong your current subscription or get a new one). Here they are:

  • Wei Tjong Yao (YouTrack handle: weitjong)
  • Yury V. Zaytsev (YouTrack handle: zaytsev-work)
  • Andrey Mironov (YouTrack handle: DieHertz)
  • Maxim Yanchenko (YouTrack handle: maxim.yanchenko)
  • Björn Fahller (YouTrack handle: rollbear)

A personal message will be sent to each one with the details on how to obtain the license. (If you see your name above and you do not get any e-mails during this week, ping us here in the comments.)

Roadmap

Last week we’ve also discussed the roadmap and the future plans for CLion and today we are ready to share them with you.

Please note it’s a preliminary plan, so we can’t guarantee that all of the features listed below will be included into CLion 1.5.
  • Language support
    • Variadic templates support
    • Auto-import improvements
    • Fixes for invalid code constructs generation
    • Code completion and other fixes
  • Project model (CMake)
    • Ability to manually control source, library, and exclude folders
    • Ability to watch command output during CMake execution
    • Ability to specify the build/generation output directory
    • CMake intellisense and fixes
  • Debugger
    • Performance enhancements
    • Attach to local process
    • Bug fixes
  • Python support or Valgrind integration
    Let us make a comment here. We are currently investigating both possibilities as we are unsure about these requests and proper implementation. We hope to get one of them ready for 1.5, but the analysis is still in process, so can’t say, which will come and what functionality will be covered. In case you’d like to share your use cases or your vision, please, use the comment section below.

You may notice that there is still no Makefiles support in the list or any other additional build system support. Don’t worry, we are planning to start the preliminary investigation in that direction. However before this we need to finalize all the critical work around the CMake support, which would affect the general project model interface. Otherwise we won’t be able to deliver the proper solution.

Stay tuned and don’t to miss the EAP launch!
Give CLion a try for free during the 30-day evaluation!

Develop with pleasure,
The CLion Team

This entry was posted in Announcement and tagged , , . Bookmark the permalink.

55 Responses to Special thanks & CLion 1.5 roadmap

  1. Stephane says:

    Ability to manually control source, library, and exclude folders

    Does it means we will be able to specify external library without CMake ? (and to jump into declaration / definition of external component?)
    Like in Eclipse ?

    This would be awesome, it was the blocking point for making CLion our official IDE for Linux developers (we are only using makefile right now)

    • Anastasia Kazakova says:

      You will have to use CMake still, that’s more about what is library files (from the IDE perspective) and which files are in project. Include_directories in CMake currently can’t help us solve this problem.

  2. bughunter says:

    please add:
    – toolchain support for MS compilers/debugger at Windows (cl, cdb)
    – qmake support
    – better Qt support (e.g. display of QString while debugging, integration of Designer)
    – a CLion plugin for IntelliJ Idea

    • Anastasia Kazakova says:

      All these things are logged into our tracker. Feel free to upvote them there.

      – MS toolchain is currently out-of-scope, since we have ReSharpr C++ product in the family: https://www.jetbrains.com/resharper-cpp/
      – qmake: https://youtrack.jetbrains.com/issue/CPP-318
      – QT issues are mostly logged under https://youtrack.jetbrains.com/issue/CPP-1897, feel free to add new ones.
      – UI Designer is not in our plans as well unfortunately. (https://youtrack.jetbrains.com/issue/CPP-887).
      – CLion plugin to IntelliJ – https://youtrack.jetbrains.com/issue/CPP-4141. And maybe you can comment on this? What’s the use case for having it there for you?

      • bughunter says:

        Not having a MS toolchain is indeed a problem (same with Qt designer support), because the Qt plugin for VisualStudio has low priority for VS2015 and there is no CLion plugin for Qt Creator.

        CLion in IntelliJ ist just for having it in one environment. And only needing one license 😉

        • Anastasia Kazakova says:

          You can get now ‘All Products’ license that covers all the desktop products. The problem with CLion in IntelliJ IDEA is that we are currently undecided if to move only language support or together with the project model and what will be the use cases. So without clear vision we postponed it for the time we have more resources free for this task.

          Qt question is even more complicated. Since there is no sense in simply coping the functionality. And we don’t see other interesting ideas for now.

          • Marc says:

            I must say I strongly support the “MS toolchain” (cl and dbg) too, this would be the killer.

            Oh and another one: It would be nice to see CLion move forward more fast regarding Cygwin and MinGW64 versions supported, e.g. the recent one is never supported, and the best one is msys2 anyway, which is currently MinGW64 5.0. I got it to work but I would really love to see you move faster here and support msys2 (msys2-mingw64)! It’s so nice with its package manager.

          • Anastasia Kazakova says:

            We usually need to make the regression testing for the newly added versions and that’s not a quick deal. However you still can use the version marked as unsupported in CLion. It just means that we haven’t finished the testing. It works ok in most cases. Anyway thanks for the feedback.

          • bughunter says:

            All Products license does not solve, that Qt5 development with the MSVC 2015 does not have well suited IDE atm.
            a) VS with R#: Qt plugin delayed until 2016
            b) QtCreator: no R#
            c) CLion, no Designer, no qmake.
            Isn’t it a gap in the market for CLion?

          • Anastasia Kazakova says:

            Probably you are right, however the C++ market is really huge and the team resources are limited, that means we have to choose.

  3. Deepankar Sharma says:

    Can I request the ability to view generated assembly for a given function using the currently specified build settings in the CMakeLists.txt . Often when I am optimizing a function it would be helpful to be able to right click the function and view the disassembly for the function.

  4. Roland says:

    We mostly moved from using valgrind to asan/tsan/…

    • Anastasia Kazakova says:

      That’s interesting. What are the reasons for this?

      • marco.m says:

        For example, valgrind doesn’t run on Mac OS X.

        • Anastasia Kazakova says:

          As far as I remember, there is no stable release, but trunk includes the OS X support.

          • Marc says:

            I second that, it would be nice to have the Clang toolchain better supported. Much future lies in the clang-tooling. All the sanitisers etc are great tools. Would be nice to have them supported/integrated better. E.g. on Windows through msys2-mingw64, they have recent clang’s (3.7 currently) or/and through coming clang native on Windows.
            In the future, we’ll also have fuzzying with clang etc.

          • Anastasia Kazakova says:

            We plan the clang annotator: https://youtrack.jetbrains.com/issue/CPP-81. Not sure about the estimations.

      • Yury V. Zaytsev says:

        Hi Anastasia! I’m also a big fan of Valgrind, but let’s face it that Google’s *san tools are so much faster! At a cost of only 2x slowdown due to instrumentation, they can detect a lot of errors also uncovered by Valgrind, but at the cost of 40x slowdown or more… So these day I tend to run {a,m}san as main tools and Valgrind as a complimentary tool, since their capabilities still do not exactly overlap.

  5. Ryan Ware says:

    I’m glad to see Makefile support on the horizon (if not in 1.5).

  6. Maxim Tikhonov says:

    Does 1.5 roundmap include fixes to these?
    https://youtrack.jetbrains.com/issue/CPP-1100
    https://youtrack.jetbrains.com/issue/CPP-3360

    Basically “#include” inside namespace don’t work, preventing using CLion with some libraries, as you get all sorts of source code errors in IDE, although it compiles just fine.

    • Anastasia Kazakova says:

      Thanks for pinging. We’ll include as many fixes as we can to the 1.5 release for sure.
      One of this is actually a duplicate of the other. So it’s actually one issue, we’ll see what we can do.

      • Maxim Tikhonov says:

        I am aware that it is a duplicate. There are about 10 of them there, all under “Resolving in C/C++” parent issue.

        I just wanted to point out that it affect several libraries, which use includes inside namespaces (I believe it affects things like templated functions inside namespace as well).

        These bugs are there for more than a year. For me personally, it is the only thing that stops me from buying a licence. :)

  7. ugabaru says:

    Is there support for cross compiling for embedded development?

  8. D Fly says:

    Valgrind instead of python imho. Already have and use PyCharm!

  9. D Fly says:

    I love that you’ve standardized on cmake, I think it simplifies a lot of the path-to-library issues that have made C/C++ dev on windows a headache for me. Something is still pretty quirky with it though, and I end up having to invalidate my cache and relaunch several times a day, even with pretty standard packages like boost.

    I also love the support for Cygwin, and think you have created a really powerful alternative for those of us who were using Netbeans with remote compile.

    Also, the google test support in 1.2 is a great addition. I actually haven’t been able to get it to work, though, I think because it requires making a copy of google test within your project. Any way to make supporting gtest via cmake with external headers and library possible?

    Thanks and keep up the good work!

  10. Yury V. Zaytsev says:

    Hi Anastasia and the CLion team!

    Many thanks for a nice gift, much appreciated :-) I’m also glad to see that variadic templates specifically, and further parser improvements in general are on the hit list for 1.5 … My biggest grief with CLion so far is parser bugs + performance.

    To be fair, I’ve tried Qt Creator on my project today, just to get a feeling of what it’s like, and the parsing is great (no wonder), but it’s unusably slow. I had to wait for 20-30 seconds for the first autocompletion result to pop up for a simple class. Sooo… “всё познаётся в сравнении”.

    Keep up the good work!

  11. David says:

    I’ve been waiting on a forum response to an issue related to the CLion roadmap, so let me surface it here:

    https://devnet.jetbrains.com/message/5561742#5561742

  12. John says:

    Sad to see that doxygen didn’t make the cut for 1.5, but I can see why the other issues would take priority (valgrind having more votes, etc). It’s so convenient in other Jetbrains tools, like PyCharm, to have it auto generate and refactor doc comments, that I can’t wait for CLion to do the same.

    • Anastasia Kazakova says:

      We were considering Doxygen very carefully, to tell the truth, however you are right – quite a lot of other tasks with higher priority. Thanks for understanding!

  13. Roman says:

    Probably you are right, however the C++ market is really huge and the team resources are limited, that means we have to choose.
    Just try to work harder! :) Developing IDEs, it’s such a good idea for weekend activity :) (just a joke)

    №1 issue is performance. Re-parsing is just too slow to provide interactive help. Clion is more intelligent than QtCreator, but it is such a pleasure when IDE is responsive.
    As always, there is no perfect C++ IDE: each one has its pros and cons.

  14. ks says:

    Out-of-the-box support for the maker community would be a great feature. There are a lot of people new to C/C++ who would value greatly from CLion features (as an alternative to the arduino IDE and particle-dev IDE for examples).

    Right now it is possible to build vanilla arduino code from CLion with a plugin but no toolchain support for pushing the code to devices. And trying to setup support for arduino-like devices (STM32/Cortex/Particle) is challenging enough that most people would not put the effort into it.

  15. Pier says:

    As soon as I see makefile support I’m on board. Love your stuff.

    • Jérémy says:

      Same here!

    • Todd Leonhardt says:

      Agreed. Standard makefile support is critical.

      The ability to automatically regenerate a CMake based on changes to the project directory (files added or removed) would also be most welcome.

      • Anastasia Kazakova says:

        What do you mean by the last? When you add file, it can be automatically added to the CMake target and CMake output will be regenerated. As for delete action – it’s not completely there https://youtrack.jetbrains.com/issue/CPP-591

        • Todd Leonhardt says:

          I mean if files are added or removed from the project outside of CLion, it would be nice to be able to click a button and re-generate the default CMake (build everything underneath the directory structure). I typically work in a heterogenous environment where every developer is using their own preferred IDE. Currently the best “solution” I have for this is to completely blow away everything related to CLion for the project and regenerate the CMake, which is really inefficient.

          Yet another nice to have feature would be import an Eclipse project.

          • Anastasia Kazakova says:

            Eclipse supports CMake projects, so having CMake project one can use it in Eclipse as well. Currently most IDEs support CMake project model, as well as CMake supports generation some other project models from it (like VS). That makes it possible just to have a CMake project and work with it in nearly every IDE with ease.

            CMake auto-generation from any sources is not that easy task in general, however you can write CMake using GLOB command (though it’s not recommended since you HAVE to rerun the CMake command to apply changes, that means call Reload CMake in CLion): https://cmake.org/cmake/help/v3.1/command/file.html

  16. Petr says:

    What about remote debugging with gdb?
    This feature will allow to develop for microcontrollers like STM32.

Leave a Reply

Your email address will not be published. Required fields are marked *