CLion 2018.3 Help

Valuable Non-bundled Plugins

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:

Learn the IDE

Plugin

Description

CLion Help

Bundles the entire CLion web help for offline use.

Keymap exporter

Prints the PDF version of the CLion keymap.

Key Promoter X

Shows keystroke equivalents to mouse presses:

key promoter x plugin

Get comfortable with the UI

Plugin

Description

Main Menu Toggler

Switches visibility of the main menu on and off by a single action or a shortcut.

Frame Switcher

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.

Active Tab Highlighter

Highlights the currently active tab. The highlighting color is easily configurable, which is especially useful for the Darcula scheme.

Focus on Active Task

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:

ui extension plugins

Tune the code editor

Plugin

Description

CMake Quickdocs

Makes the Quick Documentation pop-up available in CMakeLists.txt files.

CMake Highlighter

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):
cmake highlighted and quick documentation for cmake

Plugin

Description

Swagger

Helps in editing Swagger specifications.

OpenAPI Generator

Generates client, server, and documentation code out of OpenAPI specifications.

Plugin

Description

String Manipulation

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.

String Realigner

Adds three string reformat actions: join, split, and wrap/unwrap strings.

Shifter

Detects a selection, line, or keyword at caret and moves it up or down with a single keystroke.

Plugin

Description

IdeaVim

Provides Vim emulation with features like motion keys, marks, registers, and visual mode commands.

Emacs+ Patched

Adds two Emacs keymaps: Emacs+ and Mac Emacs+.

Plugin

Description

Translation

Incorporates multiple language engines and supports text-to-speech.

hunspell

Provides spell checking based on Hunspell dictionaries.

Plugin

Description

EditorConfig

Helps maintain common code style across teams and IDEs: it enables the CLion editor to read the EditorConfig file format and adhere to defined styles.

Integrate more frameworks and build systems

Plugin

Description

Conan CLion plugin

Lets you create and upload cross-compilation Conan packages in the lines of your CMake workflow:

conan plugin
Learn more on how to work with Conan in CLion from this webinar and the related blog post Developing C/C++ projects with CLion IDE and Conan C/C++ package manager.

Plugin

Description

Docker Integration

Enables you to download and build images, create and start containers, and manage other Docker tasks.

See Docker Integration for detail.

Plugin

Description

UE4 SDK Support

Adds extra completion options for reflection specifiers in Unreal Engine 4 code that CLion does not provide by default.

Note that starting v4.20, Unreal Engine can generate a CMake structure out of your UE code and open it as a project in CLion.

Plugin

Description

Bazel

Lets you import a Bazel BUILD file (with its own language supported in CLion) and run Bazel configurations.

Add languages and file types support

Plugin

Description

Rust Support

Enables you to create and develop Rust applications and debug them using the Cargo build system. See the dedicated article for a thorough description of Rust support in CLion.

Plugin

Description

Swift Support

Provides the Swift language and Swift Package Manager support, letting you use CLion as a fully-functional Swift IDE.

Plugin

Description

Kotlin/Native for CLion

With this plugin, paired with Kotlin for core language support, you can edit Kotlin code and build, run, and debug Kotlin/Native applications. These two plugins add a whole new project model to the CLion’s list of the supported formats:

kotlin/native applications in clion

Plugin

Description

Markdown Support

Helps in editing Markdown documents and shows the rendered HTML preview.

gfm

Provides support for GitHub Markdown with GitHub-styled preview of your code.

Plugin

Description

Makefile Support

Makes the GNU Makefile type recognizable in CLion, meaning that syntax highlighting and editing features become fully available:

makefile support plugin

Plugin

Description

Protobuf Support

Helps you work with Google’s Protocol buffers (the *.proto files).

Plugin

Description

BashSupport

Provides bash command language support.

PowerShell

Adds PowerShell intellisense and scripts execution.

Fortran (see this article for the Fortran support details), Lua, Dart, Mathematica, LaTex, Gherkin.

Facilitate Debugging

Plugin

Description

Grep Console

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:

grep console plugin

UndoDB

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.

Run Configuration as Action

Lets you register Run/Debug configurations as actions in CLion, and call them via shortcuts or additional toolbar buttons.

Move towards the embedded

Plugin

Description

OpenOCD+STM32CubeMX support Lets you use CLion as an IDE for ARM MCU development, particularly for STM32. This plugin converts a STM32CubeMX project into a CLion project, lets you upload the binaries into compatible ARM MCU using OpenOCD, and debug on chip.

Refer to these two blog posts for detailed explanations given by the plugin’s author: CLion for Embedded Development part I, part II.

Get profiling data

CLion integrates the CPU Profiler available on macOS and Linux. It collects performance metrics for your application and visualizes them in ready-to-analyze flame graphs and call trees. However, if you need to explore the overall application behavior or report a performance issue, consider the plugins described below: they inform you about the CPU usage level and lets you generate thread dumps.

Plugin

Description

CPU Usage Indicator

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):

cpu usage indicator

Performance Testing

Introduces Help | Diagnostics menu with options to get the performance summary about your hardware and capture CPU snapshots for indexing and test scripts execution:

cpu snapshot from performance testing plugin

Gather statistics

Plugin

Description

Statistics

Collects the overall project-level statistics: project files with line counts, sorted by extension and size.

Code::Stats

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.

Completion Stats Collector

Sends the anonymized data of your code completion patterns to JetBrains developers. It helps the team implement machine learning algorithms and therefore improve completion efficiency.

Expand the scope of VCS-related actions

Plugin

Description

GitFlow

Integrates the UI for the Git Flow branching model.

GitScope

Highlights the changed code, analogically to the git diff command.

GitToolBox

Enriches the default Git integration with features like Git status display, Auto fetch, Behind tracker, and others.

Find Pull Request

Finds GitHub pull requests for the selected line.

Git Commit Template and Git Commit Message Plugin

Provide templates for Git commit messages.

GitLab

Adds the GitLab-specific Checkout support and the dialogs of GitLab Share, Merge Request, and Merge Request List.

GitLink

Opens files and commits to storages like GitHub or Stash in default browser via a single shortcut.

Plugin

Description

SVNToolBox

Enhances the built-in SVN support: adds the Status Bar component, enriches the Project View, and provides more Subversion context menu actions.

Visual SorceSafe Integration

Adds Visual SourceSafe settings and commands.

Pre Commit Hook

Runs a custom pre-created script before any commit to ‘hook’ the changes.

Automate builds, track issues, and review code

Plugin

Description

TeamCity plugin

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.

Visual Studio Team Services

Enables you to work with Git and TFVC repositories on Visual Studio Team Services (VSTS) or Team Foundation Server (TFS) 2015+.

Wrike

Links your commits with the corresponding Wrike tasks.

Plugin

Description

YouTrack Integration

Extends the bundled Task Management functionality to provide deeper integration with JetBrains' YouTrack bug tracker.

Yandex.Tracker Integration

Integrates Yandex.Tracker.

Mantis

Lets you create, edit, and delete issues from the Mantis bug tracker.

Plugin

Description

UpSource plugin

Integrates the LetBrains' UpSource.

Gerrit Code Review

Integrates the Gerrit Code Review tool.

Plugin

Description

IDETalk

Helps in code-related communications between developers by providing functions like inside-the-IDE message exchange, getting and sending stack traces and ‘code pointers’ to your partner, view the partner’s opened files and differences between your files and theirs.

Floobits plugin

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.

Time management plugin

Description

Darkyen’s Time Tracker

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.

Pomodoro-tm

Helps you manage the time spent on a task using Pomodoro Technique.

Git Time Metric

Tracks the time of reading and working on the code that you store in a Git repository.

WakaTime

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. With stackoverflow, you can search a line of code or comment in StackOverflow just by a right click.

And just for fun, try the Nyan Progress Bar nyan cat 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.

Last modified: 14 February 2019