CLion plugin repository contains over 1200 plugins that you can install to enrich the out-of-the-box CLion functionality. Some of those plugins are already bundled in CLion, and no prior action is required to start using them. However, there are other helpful and qualitative plugins that can improve or even transform your workflow in CLion. This article gives a selection of such valuable plugins.
The plugins are grouped by the tasks they target, each described in the corresponding chapter:
Lets you switch between projects, windows, and frames, alternatively to Alt+Tab and the View menu. The switcher works even with multiple IDE instances, and lets you assign shortcuts to various actions, customizing or expanding the pre-defined shortcut set.
Filters the project tree to show only the currently opened and related paths and files.
As an example, here is how your CLion screen on macOS with Darcula scheme would look like with the filtered project tree, highlighted active tab, and the invoked frame switcher:
Provides syntax highlighting and navigation for CMakeLists.txt files.
The screenshot below illustrates how these two plugins work in pair (notice the pop-up with the name of the action invoked, shown by the Presentation Assistant plugin):
Provides an assortment of actions for working with any kind of text: C/C++ code or comments, any ASCII symbols, JavaScript, SQL, XML, or text in other languages.
Lets you work with Compiler Explorer right from CLion: you can view compilation results got from various remote compilers and easily switch between them. The plugin shows the list of sources taken from your project tree and provides a way to pass compiler flags and set additional options to tune the disassembly layout for your needs.
Helps in analyzing logs and parsing console output. Grepping means searching for plain-text lines that contain a match to some regular expression. The plugin enables you to grep the application output, highlight and filter the results, and even change the output or execute an action upon a match:
Integrates the Undo ’s record, rewind and replay technology for Linux C/C++ applications in CLion.
With Undo, you can record the program’s execution down to single instruction for further replay and analysis. This way, the debugger gets reversible: you can step forwards and backwards in your code and see exactly what is happening, leading up to easier bug capturing. Take a look at this blog post to find out more on using Undo in CLion.
Adds the CPU load indicator to the status bar, lets you get a thread dump and configure the settings of the Performance Watcher (which is the CLion’s frozen UI thread dumper):
Tracks the changes you make in project files and detects the syntax of the language you use. The results are presented in infographics of your XPs (Experience Points, roughly the amount of keystrokes) for different languages.
Integrates the JetBrains’ TeamCity, a continuous integration server. This plugin lets you configure notifications, run builds and tests, view changes, assign investigations, and perform other TeamCity actions without leaving the IDE.
Provides collaborative real-time development across multiple editors and IDEs for team members with Floobits accounts.
Stay creative and productive
Last but not least, CLion plugin repository contains a collection of time management plugins, as well as other tools to increase your productivity. Find a few notable examples below.
Implements simple time management technique of tracking the time you actually spend on a project: it adds a tracking bar widget that you manually start for counting.
Performs time tracking and collects the language, OS, branch/commit, and other statistics of your work session.
Also, if you like mind mapping to visually structure your ideas, the IDEA Mind Map plugin will let you create and edit mind maps in MMD format right in CLion.
And just for fun, try the Nyan Progress Bar to brighten the status bar when waiting for some of the time-consuming CLion actions to finish, or enjoy emojis in commits with the Emoji for Git Commits plugin.