Early Access Program News Tips & Tricks

CLion – Brand New IDE for C and C++ Developers

Hello, Everyone!

Today we have some great news to share with you. To make a long story short, C/C++ IDE goes public as CLion!

CLion_EAP_splashSince the early days, JetBrains has been focused on making software development more productive and enjoyable. Having started with a simple refactoring tool for Java, we have provided support for an amazing line-up of languages and platforms: Java, .NET, Python, Ruby & Ruby on Rails, PHP, JavaScript, HTML, Objective-C and many others. Our intelligent tools are widely known for their promotion of code quality, refactorings and smart editing features.

The C and C++ languages have a history going back to the early days of programming itself. They are two of the most successful survivors from the ‘primordial soup’ of programming languages, while most of the others now lie forgotten. So here at JetBrains we were driven by the belief that we could make C/C++ developers’ lives easier with a new IDE targeting these specific languages.

To download and try CLion right now, check out our EAP page. The Quick Start Guide can help you get familiar with the IDE.

We are very much looking forward to your feedback in order to help us create a tool that you will enjoy using on everyday basis. That is why this early access program exists in the first place. Please note that this build is not even a Beta yet, and we have lots of things to do before we release v1.0.

Let’s introduce you the main features included into this build:

CMake
CLion uses CMake as a project model. It takes all the project’s information (source files, compiler settings, targets description, etc.) and handles all your changes in CMake files automatically.

If you already have a CMake-based project, just open the main CMakeLists.txt file in the IDE. If not, then our simple wizard will help you create a new project by initializing CMakeLists.txt with all the necessary definitions. Every change you make in CMakeLists.txt is automatically handled by CLion (but you can also call Reload CMake Project manually). Naturally, the IDE will invoke CMake automatically while building your project, so you don’t need to do it yourself.

All CMakeCache variables and CMake errors are available within the CMake tool window inside the IDE:
cmake_cache_b

Compiler and Debugger
CLion supports the GCC and Clang compilers. For debugging, CLion currently supports GDB 7.8. The debugging experience is just as you would expect: you can run your program step by step, set breakpoints, evaluate expressions, add watches, and set variable values manually during execution:
debugger_b

Cross-Platform Compatibility
CLion is a cross-platform IDE, so you can use it on OS X, Linux or Windows. In case of Windows, the MinGW and Cygwin tool sets can be used. In our Quick Start Guide you can find the list of tools for each platform you need to start CLion.
Note: If you are using Visual Studio for C++ development (and the Visual C++ Compiler), try our ReSharper for C++.

Languages and Standards
CLion supports various languages:

  • C (C99 version)
  • C++ (C++03; C++11, including lambda functions, raw string literals, variadic templates, decltype, auto and more)
  • HTML (including HTML5), CSS, JavaScript, XML
  • Some other languages are also available via plugins (for example, Lua)

Intelligent Features
Knowing your code through and through, CLion takes care of the routine while you focus on the important things. The intelligent features of CLion are expressly designed to boost your productivity and improve the quality of your code.

The smart editor saves your time with code completion and highlighting (including smart completion that filters the list of types, methods, and variables to match the expected type of an expression).

Efficient project navigation will help you find your way through the code:

  • Full-scale search via Find Usages:
    find_usages_b
  • File structure navigation
  • Navigating to class/file/symbol;
  • Navigating to declaration/definition/super definition/subclass:
    go_to_subclass_b
  • Navigating through the timeline (recent files, recent changes, last edit location, etc.);
  • Search everywhere, and other types of search

CLion monitors your code and tries to keep it accurate and clean. It detects potential errors and problems, and suggests quick-fixes for them:
inspection_b

CLion offers a wide variety of reliable code refactorings, which track down and correct the affected code references automatically:

  • Rename (works also for CMakeLists.txt usages):
    rename_b
  • Extract method/variable/typedef/define/etc.
  • Change signature:
    change_signature_b
  • Safe delete
  • Inline

Writing code can be a lot easier and quicker when you use the code generation options available in CLion:

  • Generate constructor/destructor,
  • Generate getters/setters
  • Override/implement
  • Live templates
  • Surround with if-else, while, #ifdef, etc.:
    surround_with_1_b

Watch CLion in action:
http://www.youtube.com/watch?v=MY_Z90Tj6is

Are you interested? Give it a try!

What’s Next?
We are planning to publish v1.0 in a couple of months. While continuing with the current features (and especially with CMake support), we hope to add LLDB and/or Google Test. If there is a particular feature that you’d love to see in CLion, please post it to our issue tracker or vote for it if it is already there. We will consider them soon after the 1.0 release as we prepare the roadmap for future releases.

If you require even more information, please visit our website. If you have any questions, feel free to ask them on the CLion Discussion Forum, on twitter and here in our blog, where you can find news, updates as well as tips and tricks on how to use the IDE efficiently. And don’t hesitate to report any problems to our support team (clion-support at jetbrains.com) or on our issue tracker.

Develop with pleasure!
The CLion Team

EAP

Discover more