CLion 1.0 has finally arrived!

Anastasia Kazakova

Hi everyone,

We are really excited today to tell you that CLion 1.0, the very first release of our cross-platform C/C++ IDE, is here!
1200x628_Facebook_cover_huge

We first announced this IDE on April Fool’s Day, nearly two years ago. A private preview happened after a year of hard work, followed by a public one 6 months later. In all this time we’ve received tons of exciting feedback, hundreds of spot-on feature requests, and millions of words of encouragement that has kept our team going. With 30,000 downloads during the first month of public EAP, and more than 6,000 active users every week, there’s hope we are on the right track.

Today, as we are rolling out CLion 1.0, please give a warm welcome to this latest addition in our family of IntelliJ-based IDEs!

Special thanks to our EAP users

We are grateful to everyone who has evaluated private and public preview builds, shared feedback and reported issues to our tracker. This dialog has been instrumental in raising the quality of CLion 1.0. Contributions from several EAP evaluators have been the most valuable and deserve a gift of Free Licenses. Here they are:

  • Richard Thomson (YouTrack handle: legalize)
  • Alexey Dmitriev (YouTrack handle: RiaD)
  • Drew Noakes (YouTrack handle: drewnoakes)
  • Maxim Babenko (YouTrack handle: Maxim_Babenko_yLH6)
  • Alexander Münch (YouTrack handle: theHacker)
  • Axel (YouTrack handle: devnrev)

We will send you a personal message with details on how to claim your license.

We’d also like to mention the first 7 followers of our @clion_ide twitter, who followed the account even before its official announcement:

We’ll reach out to you on twitter in a day or two asking where to send your licenses.

(If you see your name/twitter account above and you don’t hear from us within a week, ping us here in the comments.)

Webinar – CLion: A Modern C++ IDE

If you’d like to first see CLion 1.0 in action, and learn how you can benefit from using it, consider joining our free webinar on May 6, 2015. Register today to save your seat.

CLion 1.0 Features

Read on for an overview of what’s inside CLion, how C/C++ developers can benefit from using it, and what kind of licenses are available.

Cross-platform IDE for C, C++ and more
CLion 1.0 is available on 64-bit Linux, OS X and 64-bit Windows, and is designed for developing in C and C++. The IDE supports the C++11 standard and handles preprocessor directives. In addition, it provides support for JavaScript, XML, HTML and CSS.
You can use GCC or Clang as the compiler on Linux and OS X, and MinGW 32/64 or Cygwin on Windows.

CMake
For a number of reasons CLion relies on the CMake build system and uses it as the project model. This means it takes all the information about your project from CMake files, including source files, compiler settings, targets description.

All the changes you introduce in CMakeLists.txt files are handled automatically. This can be configured in Preferences/Settings | Build, Execution, Deployment | CMake, together with the options to pass to CMake command, system environment variables and some build options:
cmake_settings
CLion also includes the CMakeCache editor, autocompletes CMake commands for you, and adds new files automatically to the existing targets (offering to select them from the targets list):
new_class_target

Powerful editor and one-click navigation
CLion includes many features to help you code with ease and pleasure:

  • Smart autocompletion filters the suggestions to match the left value type.
  • Multiple cursors handle several editing tasks at a time.
  • Code autoformatting takes care of the prefered coding style guidelines.
  • Keyboard shortcuts help you select, rearrange and comment your code quickly.

If you are not sure which parameters to pass to a function, just use the Parameter Info feature (Ctrl+P on Linux/Windows, ⌘P on OS X):
param_info
All the possible function signatures and parameters will be listed, and as you edit the parameters, CLion will grey out any incompatible signatures.

Fast project navigation is essential for effective coding, which is why CLion includes a set of useful navigation features and search abilities. Go to declaration/definition, go to class/symbol/file only by its name, and use Class/Imports/Type hierarchy to navigate more efficiently.

If you simply want to go back to a file you were editing recently, just bring up the Recent files dialog (Ctrl+E on Linux/Windows, ⌘E on OS X):
recent_files

When you want to find usages, CLion understands the context of each symbol: instead of mere text matches, it provides you with actual usages of the symbol.
‘Search everywhere’ makes it possible to look for any item in the source code or elements of the user interface—in a single action.

Code analysis, quick-fixes and refactorings
CLion keeps a watchful eye on your code to help you maintain its high quality. It analyzes your whole code base on the fly, highlighting potential issues. Simply press Alt+Enter to apply one of the available quick-fixes:
quick_fix

When you need to make far-reaching changes to code, like renaming a symbol, reliable refactorings come to the rescue. Rename, Change Signature, Extract Function/Constant/Define/Typedef, Extract Subclass/Superclass, Pull Members Up/Push Members Down, and use other refactorings—and be assured that your changes are safely propagated throughout the code base.

Integrated debugger
For an in-depth look into the execution of your code, CLion provides a built-in debugger (based on GDB). Besides setting line, exception and symbolic breakpoints, you can also add watches; evaluate any expression; change values on the fly to see how that affects your code; and see variable values right in the editor (next to the variable declaration) during a debugging session:
inline_view

And much more…
CLion integrates with popular version control systems, including Subversion, Git, GitHub, Mercurial, CVS, Perforce (via plugin), and TFS. It includes a built-in terminal and can work in a Vim-emulation mode (via plugin) and offers more helpful tools. Please visit our website for details on CLion features.

Check out a short live demo of CLion 1.0 features:
https://www.youtube.com/watch?v=EUZEPa9GtIo

Free trial, prices and licenses

We offer paid commercial and personal licenses for CLion. We do have a special user group program; also, students and open source projects can use CLion for free. Please, see all licensing options and prices.

Of course, anyone can try CLion for free for 30 days. Consider viewing the quick start guide and our Docs & Demos to get up and running.

If you have any questions, please post them in our CLion Discussion Forum, twitter and/or this blog, where you can find news, updates and useful tips and tricks. If you discover any issues, let our support team know or report them in the CLion issue tracker.

Develop with pleasure,
The CLion Team

Comments below can no longer be edited.

74 Responses to CLion 1.0 has finally arrived!

  1. Axel says:

    April 14, 2015

    Thanks for the surprise, it was a pleasure to be part of the development process of CLion. It really became a tool I love to work with as my daily workbench. Though the current feature set is top notch, I am really looking forward to future additions.
    Keep up the good work!

    /devnrev

    • Anastasia Kazakova says:

      April 14, 2015

      Thanks for your help! We really appreciate it!

  2. cybik says:

    April 14, 2015

    Is it bad that I bought this within 5 minutes of the announce email hitting my inbox?

    • Anastasia Kazakova says:

      April 14, 2015

      That sounds great)

  3. Kitsu says:

    April 14, 2015

    Congratulation! And thanks for your product

  4. Anton says:

    April 14, 2015

    Congratulations with the release! You have done an enormous work and have created an amazing IDE. I hope that in the future it will become even better. And a special thank you for the Linux support!

    PS: I’m still hoping for fix of CPP-988 😉

    • Anastasia Kazakova says:

      April 14, 2015

      Thanks for your support! We really appreciate it!

  5. Jonathan says:

    April 14, 2015

    Congratulations! I second Axel’s sentiments: it was a pleasure to play a part in the development of this awesome product. I can’t wait until the next EAP 🙂

  6. Dmitry says:

    April 14, 2015

    Does it warn about potential undefined behaviour?
    I am not a C developer, just curious about the language. Recently there was quite a lot of articles about unexpected things happening when compilers exploit undefined behaviour, changing program in subtle ways. Also these articles made it obvious that spotting UB is really hard even for experienced developers.

    • Anastasia Kazakova says:

      April 14, 2015

      It can be an interesting feature. We have a list of nice and useful code analysis cases, you can go through them in inspection settings in the IDE. Probably, you are suggesting something more interesting in that direction. Maybe you could add some cases here https://youtrack.jetbrains.com/issues/CPP?

  7. Alexander says:

    April 14, 2015

    Congratulations with 1.0 release! Now a dedicated IDE for Go-lang? 🙂

  8. Petter Strandmark says:

    April 14, 2015

    I found two bugs within 5 minutes (and reported them).

    However, I really like the idea of an IDE with CMake as its object model! I have high hopes!

    • Anastasia Kazakova says:

      April 14, 2015

      Thanks. We’ll investigate the problems.

  9. Petter Strandmark says:

    April 14, 2015

    Also, in C++ RAII is of course an essential idiom. In code like this:

    if (condition) {
    RAIILock lock(mutex);
    doSomething();
    }

    lock is *not* an “unused local variable”. This warning should only be activated for POD types. CLion now warns even if it has access to RAIILock’s constructor and knows it does something non-trivial.

    • Anastasia Kazakova says:

      April 14, 2015

      Could you please add this to the tracker as well?

      • Petter Strandmark says:

        April 14, 2015

        I have added this and a couple of others. The inspection results have a vast number of false positives.

        • Anastasia Kazakova says:

          April 14, 2015

          Great. We’ll have a look! Thanks.

  10. Daniel Clausen says:

    April 14, 2015

    Congratulations! And thanks very very much that you’ve decided to invest time in a C++ cross-platform IDE. I like IntelliJ very much for my daily Java work and it’s fantastic to that we have a great IDE for C++ as well now (once Google Test is supported :o)!

    And since there already exists a plugin for Go, I’m suggesting Rust as another language to support. 🙂

  11. Jimmie Tyrrell says:

    April 14, 2015

    Can’t wait to try it out, love the JetBrains IDEs. That name though, “sea lion”, I think “slow”, “bloated”, “ornery”. CDragon would’ve been much better!

    • Anastasia Kazakova says:

      April 14, 2015

      Thanks. Hopefully our CLion will be as good as a powerful dragon for you!

      • Michael Hofmann says:

        April 18, 2015

        And I love the name – that’s how impressions can differ.

        Keep up the great work. I have just started using CLion, but am liking it very much and will most likely use it as my primary IDE for both personal and work projects.

    • Jeremy Anderson says:

      December 23, 2015

      I think you’re thinking of Sea Lions on land. Ever seen them swim? Powerful and graceful marine hunters. Perception is a funny thing.

  12. Jon says:

    April 14, 2015

    Are nested #includes supported? I’m trying to import an existing C product into CLion and it is asking me to confirm or select the #include for almost every single function, symbol and #define. All those symbols should already be resolvable because the C files include the correct headers, but do so by having a single #include, and that include file then #includes all others (perhaps with additional levels of nesting).
    CLion doesn’t appear to be using the existing set of includes at all. It wants me to tell it for every symbol which header file to include, and then inserts that header directly in the #includes at the top of the C file.
    This makes CLion completely unusable for my existing codebase, which is a shame because it otherwise looks like a nice product (and congrats on getting V1.0 out the door!). Thanks for any help.

    • Anastasia Kazakova says:

      April 15, 2015

      Right now (we are gonna fix this in future) you need these headers included into CMake files. CLion takes them from there. Will it work for you if you include the headers there? Check they are not greyed out in the project tree in CLion.

      • Jon says:

        April 15, 2015

        Thanks – I’m having some success with using the combination of including the header files explicitly in the project files list, and using include_directories() directives in CMakeLists.txt.

        • Anastasia Kazakova says:

          April 15, 2015

          Glad to hear.

  13. Thibaut Xiong says:

    April 15, 2015

    Any way to use the monokai syntax highlighting theme with CLion?

    Thanks!

    • Anastasia Kazakova says:

      April 15, 2015

      You can try to configure it in Settgins Editor | Colors & Fonts | C/C++

  14. JetBrains、C/C++用のIDE「CLion 1.0」をリリース says:

    April 15, 2015

    […] JetBrainsは本日、C/C++言語用の統合開発環境「CLion 1.0」を正式にリリースしました(公式ブログ、Reddit)。コマーシャルライセンスの価格は99ドル。以後ライセンス更新時に59ドルの費用がかかります。 […]

  15. Vadim Kuznetsov says:

    April 15, 2015

    Is it possible to import a Makefile project with existing code like in Eclipse CDT? I’ve got more than fifty projects and it’d be very nice to have a way to import them to the Clion.

    • Anastasia Kazakova says:

      April 15, 2015

      There is Import from existing sources feature, but it’s not so automatic, manual configuration is still needed.

      • Vadim Kuznetsov says:

        April 15, 2015

        Sounds great, thanks!

  16. exim says:

    April 15, 2015

    Any plans for supporting Visual C++ compiler? Even Qt Creator does that…

    The absent of this feature is the deal breaker.

    • Anastasia Kazakova says:

      April 15, 2015

      For MSVC compiler there is another product from JB – https://www.jetbrains.com/resharper-cpp/. So right now we don’t have such plans in CLion.

      • exim says:

        April 15, 2015

        I’m aware of that product, but the point is to have a cross-platform IDE, which uses “native” compilers for each platform.

        Please consider MSVC compiler support, without this, Clion on Windows doesn’t really makes sense. Thank you!

        • Dmitri Nesteruk says:

          April 15, 2015

          To be fair, this is something that we are unlikely to consider in the near future, given that we already have a Windows-specific product (R++) and creating contention between the two is not the best idea. However, from personal experience, I can say that you can still have the best of all worlds (after a fashion): the only catch is that even though you can edit in CLion, you can invoke CMake directly outside CLion, thus using the local (i.e., non-Cygwin) variety of CMake and whatever local compiler you have on your path (MSVC, Intel, etc.). Admittedly, this isn’t a perfect solution, but that’s the best approach I can suggest at the time of writing.

          • exim says:

            April 17, 2015

            Thanks for the honest answer.

            Yes, using CMake outside is an option. Maybe sometime in the future someone comes up with a 3rd party plugin for integrating MSVC.

            The situation is common (hence the need for a cross-platform IDE) – switching back and forth between OSX and Windows during development.

            I’m not a fan of conspiracy theories, but from the business perspective it makes sense that you aren’t willing to compete with Microsoft in the IDE market for Windows.
            Thanks anyway!

  17. NoName says:

    April 15, 2015

    Congratulations, CLion looks very promising. Is there already a roughly ETA for the IntelliJ CLion Plugin? 🙂

    Now I just miss a good Rust-Lang IDE, heh.

    • Anastasia Kazakova says:

      April 15, 2015

      No estimations, however we have such plans for the future.

  18. Yury V. Zaytsev says:

    April 15, 2015

    Nice! Hope you’ll keep fixing stuff at the same pace: while CLion already leaves any other IDEs that I’ve used before in the dust, there is still a lot of work to do. Even obvious stuff like code folding for blocks is still missing. Now need to get a couple of licenses for our shop before the trial ends 🙂

    • Anastasia Kazakova says:

      April 15, 2015

      Thanks. We’ll do our best.

  19. Kiview says:

    April 15, 2015

    Great to see the final release of this IDE. Any plans to release the core functionality as a plugin for IDEA? (like with Python support)

    • Anastasia Kazakova says:

      April 15, 2015

      We are considering this in the future plans. We’ll announce the roadmap when decide.

  20. Patrick says:

    April 15, 2015

    Great to hear about it. I am doing my work on Mac OS X. Can I use all features from CLion in Appcode? Or do I need to use CLion if I want to develope only C++ based software and tools means installing both AppCode and CLion as IDEs?

    Regards,
    ztarbugz

    • Anastasia Kazakova says:

      April 15, 2015

      C/C++ support in AppCode and CLion is the same. So you can use C++ support in AppCode for your OS X projects.
      You can review cases here: jetbrains.com/cpp

  21. Chris says:

    April 15, 2015

    Are you going to be giving to students for free like Microsoft do visual studio? If you are I will change right now.

  22. caps says:

    April 15, 2015

    Is clang or GCC support for Windows in the future for CLion?

    • Anastasia Kazakova says:

      April 15, 2015

      What do you mean? You can use them through MinGW/Cygwin on Windows.

      • caps says:

        April 15, 2015

        Ah, I misunderstood. I have had no exposure to MinGW or Cygwin, so when I read “You can use GCC or Clang as the compiler on Linux and OS X, and MinGW 32/64 or Cygwin on Windows.” I thought they were alternative compilers.

      • caps says:

        April 15, 2015

        I misunderstood. I didn’t know what MinGW or Cygwin are, so when I saw “You can use GCC or Clang as the compiler on Linux and OS X, and MinGW 32/64 or Cygwin on Windows” I assumed from context that they were alternative compilers.

  23. lmiguel says:

    April 15, 2015

    Thanks! CLion is *the* C++ IDE. Keep up with the good work!

    I hope you could see these two things I found:

    1. In the CMake file, If you use a cmake symbol in add_executable, for example:
    add_executable(${PROJECT_NAME} ${SOURCE_FILES})
    The “add to targets” when you are adding new files to the project says: “${PROJECT_NAME}”

    2. There are some problems with the delay between ALT+ENTER in a member function and “Move definitions to source file” option. The delay could make the caret to move out of place and “Move definitions to source file” will do nothing. For example, you will have to press ALT+ENTER, _wait_ for the option and _then_ press your up/down keys to select “Move definitions to source file”. If you press your up/down keys _before_ the option appears the caret will be moved and the option will do nothing.

  24. 李小兵 says:

    April 18, 2015

    very good

  25. CLion и Borg — Episode 0037 « DevZen Podcast says:

    April 18, 2015

    […] CLion 1.0 has finally arrived! | JetBrains CLion Blog […]

  26. lewis lepton says:

    April 18, 2015

    fantastic. look forward to using it further from the early access beta

    will clion allow easier interaction with external frameworks like SDL and other such things like that within projects?

    • Anastasia Kazakova says:

      April 18, 2015

      You can describe how exactly you’d like CLion to behave in a feature request here: https://youtrack.jetbrains.com/issues/CPP. User’s cases are always useful for the our development team.

  27. Benjamin Dobell says:

    April 19, 2015

    Used CLion all through EAP and have been recommending it as the IDE of choice for my open-source projects (one of which has over a million downloads).

    However, I honestly have to say the price ($99 USD/year) does not seem like a reasonable fit for the product in its current state. Don’t get me wrong, I think CLion is coming along nicely, but I certainly wasn’t expecting a commercial release any time soon. Right now the product is very restrictive regarding supported tools and work-flow. I own AppCode and IDEA (including the Ruby plugin). I also use Android Studio regularly. CLion does not come close to the standard set by these other Jetbrain’s products.

    I have no problem with wanting to launch early, drawing some income, and getting an idea of the paying user-base size etc. However, CLion still very much feels and behaves like beta software. $49 would have been a much more reasonable introductory price (even advertise it as such), then lift the price to $99 once CLion is more fully featured.

    Another thing that is starting to irk me after several years of being a Jetbrain’s customer is the lack of discounts for customers purchasing multiple Jetbrain’s IDEs. As of late I certainly don’t feel like an appreciated customer.

    • Anastasia Kazakova says:

      April 20, 2015

      Thanks for your opinion. Regarding discounts, have you tried to reach the sales department with this question (sales@jetbrains.com)? I strongly believe they can help you with this. Moreover we are currently discussing some extra opportunities for many-product-licenses holders.

      What features are lacking in CLion now most of all for you? What extra tools do you expect it to have?

      • Yury V. Zaytsev says:

        April 20, 2015

        Sorry for hijacking the conversation, but after trying some large-scale refactoring with CLion 1.0, I do have similar feelings. I think at least it would be great to present a past-release roadmap, so that we could plan for when core stuff would start working properly.

        > What features are lacking in CLion now most of all for you?

        1. Stability. 2. Stability. 3. Stability.

        Just check the amount of really bad bugs in YouTrack for core functionality like editing (bogus autoimports, performance as in few second waits on paste, etc.), refactorings (Extract Method), inspections, and so on. This is certainly an acceptable and reasonable state for an EAP, but I’m not so sure about a final release…

        I remember that PyCharm also took awhile to stabilize, but my current impression is that CLion is still far even from PyCharm 1.0.

        > What extra tools do you expect it to have?

        1. Support for testing (at least through CMake, then Google Test, etc.) 2. Build system support (Makefiles, then all the rest).

        • Anastasia Kazakova says:

          April 20, 2015

          Thanks for the feedback. We’ll publish the roadmap soon.

      • Benjamin Dobell says:

        April 20, 2015

        I very much agree with what Yury said, stability is a huge factor in what lets CLion down when compared to other Jetbrains IDEs. There’s still a huge number of outstanding issues; for example I believe there is still no way to add a new CMake variable from the GUI (which honestly seems like it should be trivial to implement).

        > What features are lacking in CLion now most of all for you?

        For me personally, it’s a general lack of flexibility. I’ve moved my projects to CMake (including one away from QMake) purely so I could use with CLion. That was rather painful and not something I should have needed to do. I can see why you’ve chosen CMake as your “champion” tool-set. However, there’s no real reason why we shouldn’t just be able to kick of our own build steps (./configure, make etc.) and setup the debugger to attach how we’d like it to.

        Additionally, requiring Mingw-w64 reeks of a general lack of professionalism. People want a cross-platform IDE, not a Unix IDE that they then shoehorn onto Windows. Cross-platform means supporting multiple platforms i.e. if the IDE runs on Windows, it should support Windows toolsets, system libraries etc. Sure Mingw-w64 isn’t too bad once you finally work it out, but professionals aren’t using it, they’re using MSVC++.

        I think there is a bit of confusion within Jetbrains, that somehow CLion will damage Resharper C++ sales. Generally speaking, that’s not true, these tools are targeting different audiences. People will continue to use Visual Studio (and Resharper C++) if they want to use Microsoft tech. However, there are many users writing cross-platform software, where CLion *should* have been a better fit. However, CLion has been gimped by not supporting native compilers on Windows, so neither Resharper C++ (Windows only) or CLion truly meets your average cross-platform developer’s needs.

        Game engines are actually a fantastic example of truly cross-platform software and *could* have been a perfect fit for CLion. All the major engine are written in C++, and being able to use the same IDE on multiple platforms. However, game engines use native compilers, they also tend to want to kick of their own build steps etc.

        > What extra tools do you expect it to have?

        Well, given the IDE is marketed as a cross-platform C++ IDE, there definitely needs to integrated support for popular cross-platform libraries e.g. Qt and QML. I wouldn’t so much worry about a visual GUI editor, but syntax highlighting and QML debugging would be incredibly useful.

        The lack of IDEA C++ plugin is also a bit of a pain, there’s real potential for supporting Android NDK development.

        • Anastasia Kazakova says:

          April 20, 2015

          Thank you very much for your opinion! We appreciate it and will take into consideration.

          You are right about CMake variables. However it’s on our radar. And we are going to come to it shortly.

          MSVC compiler could be possibly added to CLion in future, but right now GCC/Clang toolchain looks like a top prio for us. MinGW(-64) & Cygwin are used by nearly half of the Windows developers following our research. We want first to support them. Especially, because these toolchains are highly important for other platforms.

          Extra tools and libraries support will also come to CLion later (I believe there is a long list of them). As well as C++ plugin to IntelliJ IDEA. Still in case you have problems with libraries parsing (red code, false positives analysis), feel free to report them to our tracker. This should be fixed in a first row.

          • Benjamin Dobell says:

            April 21, 2015

            > MinGW(-64) & Cygwin are used by nearly half of the Windows developers following our research

            Out of curiosity, would you mind sharing some of that research? I’d be genuinely surprised to learn Cygwin and Mingw make up more than half a percent, let alone *half* of Windows developers.

            • Anastasia Kazakova says:

              April 21, 2015

              Ok, we’ll consider this and review what we can share.

          • Yury V. Zaytsev says:

            April 22, 2015

            Well, if we are talking about developers specifically interested in cross-platform compatibility *and* for whom Windows is not the primary platform, then why not? 😉 I would have been surprised if I saw different results, in the case that the question was formulated this way.

            • Anastasia Kazakova says:

              April 22, 2015

              I understand your concerns. It was not formulated like this, but we’ll have a deeper look in there. Probably, we’ll publish some results we’ve got.

  28. ayomide says:

    August 4, 2015

    Sorry please i just got the clion and the cmake console @ d bottom is saying my environment is not set: Error: Environment is not set

    • Anastasia Kazakova says:

      August 4, 2015

      Please, go to settings Build, Execution, Deployment | Toolchains and check what’s missing.

  29. Rajan Bhatt says:

    January 13, 2016

    is it work properly in virtual age C++? because i have some error regarding the IBMCPPW library not found in the directory.

    • Anastasia Kazakova says:

      January 13, 2016

      Could you share some more details in our tracker: https://youtrack.jetbrains.com/issues/CPP?
      Platform, compiler, CLion version, etc. Code sample could be useful.

Subscribe

Subscribe for updates