Trust CLion to take care of the routine while you focus on the important things. Knowing your code through and through, it can boost your productivity with smart and relevant code completion, full coding assistance including customizable coding styles, keymaps and various project views, and instant navigation to a symbol's declaration or usages.
Save time on unnecessary typing while CLion generates code for you. Add class members, override/implement functions, wrap a block of code with a statement, or generate a block of code from one word using live templates - all via simple keyboard shortcuts.
With CLion, you can maintain, improve and clean up code at the speed of thought. Whenever you need to rename symbols, move members up/down the hierarchy, extract code to function, typedef, define, etc., CLion's automated refactorings will accurately and instantly propagate the appropriate changes throughout the code for you.
With CLion, you can create code that's beautiful and correct at the same time. Potential code issues are identified instantly and fixed as you type. Be sure all the proper changes are handled automatically by CLion.
All of the opportunities offered by CMake are at your fingertips in CLion. No additional project structure is required, as CLion takes all the information from CMake build system and handles your changes in CMake files automatically. CMakeCache editor and CMake settings dialog help you configure your project the right way.
Investigate and solve problems with ease, using breakpoints, watches and expression evaluation through CLion's friendly user interface. Get the complete view of your project with variable values shown right in the editor as you debug. You can even change variable values while debugging to investigate an issue in-depth.
- Integration with Version Control Systems - Popular VCS supported out of the box include Subversion, Git, GitHub, Mercurial, CVS, Perforce (via plugin), and TFS. CLion provides a unified interface for all these systems along with shortcuts for common VCS tasks.
- Embedded Terminal - With CLion's built-in terminal, you can run any command without leaving the IDE: locally or remotely using the SSH protocol. Depending on your platform, you can work with a command line prompt, Far, powershell, bash, or other tools.
- Keyboard-centric Approach - To help you focus on code and raise your productivity, CLion has keyboard shortcuts for nearly all its features, actions and commands. Use one of the pre-defined keymaps or customize them as needed.
- Intelligent Code Completion - With CLion you can code faster by making use of Code Completion. Start typing the name of a keyword, variable, function or class to get a list of matching suggestions.
- Code Formatting - CLion keeps your code well formatted and compliant with the configured coding style guidelines. It works as you type, but you can also apply it explicitly with the Reformat Code action (press Ctrl+Alt+L), for either the selected scope or the whole project.
- Search Everywhere - CLion can help you find anything, be it an item in the source code, user action, or UI element. Press Shift twice and start typing what you are looking for. You can also configure the search scopes based on your specific needs.
- Refactorings - CLion helps you keep your code high-quality, by providing a set of reliable refactorings. When you refactor, it applies your code changes throughout the scope safely.
- On-the-fly Code Analysis - CLion constantly monitors your code for potential errors. If it finds anything, it highlights the suspicious piece of code in the editor and suggests possible quick-fixes to resolve the issue.
- CMake Project - All work in CLion is done within the context of a project. Projects serve as the basis for coding assistance, bulk refactoring, coding style consistency, and other smart features.
- Watches and Evaluations - The description of all available variables, including STL containers content will be placed in Variables tab in Debug tool window. There you can observe and even change any value without interrupting current debug session.