CLion – Brand New IDE for C and C++ Developers
Today we have some great news to share with you. To make a long story short, C/C++ IDE goes public as CLion!
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.
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:
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:
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:
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)
- Some other languages are also available via plugins (for example, Lua)
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:
- File structure navigation
- Navigating to class/file/symbol;
- Navigating to declaration/definition/super definition/subclass:
- 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:
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):
- Extract method/variable/typedef/define/etc.
- Change signature:
- Safe delete
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
- Live templates
- Surround with if-else, while, #ifdef, etc.:
Watch CLion in action:
Are you interested? Give it a try!
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