CLion boosts your productivity by taking care of routine tasks while you focus on the critical aspects of code development. With CLion's Vim-emulation plugin, full coding assistance, smart and relevant code completion, fast project navigation, and reliable refactoring, you will be more productive.
CLion makes it easy for you to read code effectively since the IDE understands C and C++ languages deeply.
Using CLion IDE, you can create tons of boilerplate code instantly; Override and implement functions with simple shortcuts, create constructors and destructors, getters/setters for variables, equality operators - relational or stream output options.
The IDE makes it easy to Investigate and solve problems via its friendly debugger. You can also debug remotely and attach to local processes.
Finally, you can create custom live templates which can be reused throughout your projects, keeping consistency on coding styles applied over all documents being written at once.
IdeaVim
Many developers prefer using Vim because it's a lightweight, fast, and powerful text editor which is also highly configurable. This means that they can set it up exactly how they want it. It also means that, once they're used to it, they won't likely switch to another IDE.
If you're facing this problem, then IdeaVim is a plugin you should definitely consider. It's an emulation plugin that gives IntelliJ Vim functionality. As such, it includes features like normal/insert/visual modes, motion keys, registers, marks, macros, access to Vim plugins, and more.
Bazel
Bazel is an excellent tool to speed up your development and testing process. This is simply because it allows you to rebuild only the part of your application that's necessary. This means the tool allows you to perform fast and incremental builds that end up saving you time and making your development and testing process is more efficient.
The Bazel plugin for CLion makes this process easier by providing Bazel support for the IDE. It allows you to import BUILD files and offers custom language support for these files. It also provides support for Bazel run configurations for certain rule classes.
Duckly
We couldn't create a list of plugins without mentioning ours. Duckly is here to make pair programming a breeze.
Duckly is a video chat tool built for developers with direct integration to the IDE so you can talk, share your code in real-time, and easily collaborate with your team. It enables remote developers to work as if they were side by side.
This plugin proves itself necessary by the day. With remote work becoming the norm throughout companies due to COVID-19, the ability to pair-program is interrupted by bad WiFi signals or background noise. Duckly provides the solution to that by allowing you and your team to share the same view while coding. Duckly is great for pair programming, code reviews, debugging sessions, and much more.
All the communication and the code-sharing sessions are P2P and encrypted, and only team members can join your calls. It never touches our servers.
Rainbow Brackets
Let's face it, when coding, you'll deal with brackets upon brackets and even more brackets from round ones, to square ones and squiggly ones. Obviously, this can become complicated when trying to figure out which bracket closes which block of code.
Luckily, the Rainbow Brackets plugin solves this problem. By showing bracket pairs in specific colors, it makes it easier for you to see where a code block starts and where it ends. This eliminates confusion and allows you to save time when writing code.
EduTools
If you're learning to code, one of the main challenges you'll have is finding the right educational materials. This is simply because there’s so much information out there.
The EduTools plugin aims to solve this problem and it lets you learn programming languages like Kotlin, Java, Python, JavaScript, Go and C++. It does this by giving you coding tasks and verification tests in your IntelliJ IDE. In this way, you’ll get to build your knowledge and get instant feedback on the code you've written.
It goes further than this, though. It's also the perfect tool for educators who want to teach students to code. Here, they'll be able to create their own interactive courses with integrated tests.
Run Configuration as Action
When developing applications, you'll often run your applications in different configurations to assess their performance and identify any issues. Unfortunately, this takes a lot of time and effort because you'll often need to build and run the application based on one configuration, make changes to your configuration, and then build and run the application again.
Obviously, this can impact your productivity. The Run Configuration as Action solves this problem. It allows you to register all your run configurations as actions which you’ll then be able to execute through buttons on your IDE's toolbar. You'll also be able to assign shortcuts to these actions and run different configurations right from your keyboard.
Conan
Conan is a popular dependency and package manager for C and C++ developers. It aims to solve the problem many other package managers have in managing complexity as more dependencies are introduced in an application. In addition, it also simplifies and improves the deployment process of packages. In simple terms, it provides you with the full capabilities to manage your packages and dependencies.
The Conan plugin integrates the package manager with CLion. As a result, you’ll be able to install dependencies for your project from your development environment. You’ll also be able to match Conan profiles with CMake ones and set the package manager to run before CMake generation.
Focus on Active Task
When you're working on large projects, it's often difficult to find a specific file in your project tree view. This is simply because there are so many of them. In turn, it impacts your productivity.
The Focus on Active Task plugin aims to solve this problem by focusing the project tree view on the active task and displaying only the relevant files and paths. It does this by adding a “Focus on Active Task” toggle action to your View menu and a clickable button in your project view.
This makes it easier to find the files you're looking for when you need them, which ultimately lets you save time and be more efficient.
CodeGlance
By this time, you've probably heard of the minimap feature in the Sublime text editor. What makes it so great is that it shows you exactly where you are in a file which, in turn, makes it easier to find sections of code that you're looking for. And, by clicking on the specific piece of code, your editor will go to it.
To have this functionality you don't need to switch to Sublime, though. The CodeGlance plugin brings this functionality to IntelliJ. It embeds a minimap like the one found in Sublime into your IntelliJ IDE’s editor pane. It also works with both light and dark themes and uses your customized colors for syntax highlighting.
Keymap Exporter
One of the most important things when it comes to productivity and efficiency is the ability to configure your own keymaps in your IDE. The problem is, there are so many key combinations that is often difficult to remember what these keymaps are, unless, of course if you use all of them fairly regularly.
If you struggle to remember a specific key combination, you will then need to go to the specific IDE's settings to find the keymap you’re looking for. This breaks your momentum and impacts your productivity.
The Keymap Exporter plugin solves this problem by allowing you to export your keymap to a printable PDF document. You can then print the PDF and use it as a quick reference when you get stuck.
Time Travel Debug for C/C++
When trying to fix issues in an application, reverse debugging can be extremely helpful as it allows you to record all the activities in your application and then rewind and inspect all these activities to identify the problem.
In other words, it gives you the ability to time-travel through your application’s code execution flow which, in turn, gives you observability into your application’s state at every stage before an error occurs.
The Time Travel Debug for C/C++ plugin for CLion adds this functionality in CLion. It allows you to inspect and analyze actual code execution behavior, go back to any point in the execution history, step through the execution process step by step, and move forward, backward, and stop at breakpoints.
Ultimately, the plugin gives you all the tools you need to effectively debug applications and improve their performance. Keep in mind, though, to run this plugin, you’ll need to use CLion running on a Linux distribution.
CLion Help
As any developer will tell you, the first thing you need to do when you run into issues or problems when writing code is to look at the language’s specification and documentation. The problem is that you often need to look up the documentation online to find a solution to your problem. This takes time and makes you less productive.
When you're writing C or C++ code in CLion, this shouldn't be a problem when you use the CLion Help plugin. It makes the documentation available in your development environment and, as a bonus, you'll also be able to use it offline.
Multirun
When developing an application, you’ll often need to test different configurations. This will, generally, require you to run the application in a specific configuration, change the configuration, and then run the application again. This, in turn, takes a lot of time and effort.
To save time, the Multirun plugin allows you to run multiple configurations at once. With it, you’re able to group multiple run configurations and run them with the click of a button. This makes it easier to run batches of tests and configurations or to start multiple servers and web applications.
CMake Simple Highlighter
When developing C++ applications, you’ll more than likely use CMake to generate build tool files specifically to your compiler and platform. As a result, you'll typically need to edit CMake files and scripts.
Fortunately, the CMake Simple Highlighter plugin makes this easier as it adds additional CMake syntax highlighting support to IntelliJ-based IDEs. With the plugin, you're also able to customize the highlighting styles to suit your specific preferences. Ultimately, this makes your CMake files easier to read, and simplifies the process of identifying bugs and other issues.
CMake Plus
Although the CMake Simple Highlighter mentioned above is a helpful tool when you want to extend the CMake syntax highlighting capabilities of your IntelliJ-based IDE, it could happen that you need extended capabilities. And this is where the CMake Plus plugin comes in.
It extends the CMake language support you’ll get in your IDE’s editor window. As such, it includes features like variables navigation, variables renaming, folding sections for functions, structure view, comments, quick documentation, and syntax inspections. Simply put, it boosts the syntax highlighting and language support your IDE already has.
PowerShell
When writing applications, you’ll often need to execute scripts. In Linux, this is generally not a problem as you have access to the terminal through IntelliJ. The problem is, running PowerShell scripts on Windows in the IDE is challenging and you’ll often be required to copy and paste code to the PowerShell window.
That is, until now. The PowerShell plugin gives IntelliJ PowerShell language support. As a result, you’ll have features like syntax highlighting, IntelliSense, code snippets, code formatting, script execution, and more.
Rust
Did you know that, according to the Stack Overflow Developer Survey 2020, Rust is the most loved programming language. In fact, it’s held this position for five years. And it’s easy to see why as it’s fast, memory-efficient, and reliable. Ultimately, it lets developers build high-performance applications while eliminating many of the challenges they face with statically typed programming languages.
Fortunately, if you’re interested in developing with Rust or are busy with it already, the Rust plugin is definitely a tool to consider. It implements full Rust language support into IntelliJ which includes a built-in package manager, auto-completion, type inspections, auto-formatting, and more.
Save Actions
It often happens, especially with larger projects or larger development teams, that you end up with a messy code base with differing styles, indentations, and the like. This not only makes it difficult for new developers to start working on the project but also makes the project more challenging to maintain.
The Save Actions plugin solves this problem. With it, you'll be able to set configurable save actions that will be applied every time files are saved. So, every time a developer saves their work, you’ll be able to reformat, rearrange, compile or optimize your code.
This allows you to enforce a code style and code rules which makes your code cleaner, more uniform and easier to maintain.
Docker
Nowadays, Docker is becoming increasingly popular because it allows developers to develop once and deploy everywhere. An added benefit of Docker is that it's light on resources compared to traditional virtual machines.
The Docker plugin provides IntelliJ with full integration with Docker. This means you can run containerized applications with Docker Compose and you’ll be downloading and building Docker images right from your IDE. It also enables you to create and run Docker containers from downloaded images or directly from a Dockerfile and you're able to use dedicated docker run configurations.
Simply put, this plugin gives you all the tools you need to deploy applications inside containers and test code in an environment similar to the one you'll use in production.
Swift
When it comes to developing applications for iOS or MacOS, your options for IDEs are fairly limited. Sure, you can use a text editor like Atom or Sublime but for the full-featured experience, you would want an IDE. And here, the most popular ones are probably XCode and JetBrains’s AppCode.
Fortunately, with the Swift plugin, you have another option. It provides full swift language support in CLion. The plugin is based on AppCode, so you get basically the same core functionality which allows you to make CLion a fully-featured swift IDE for cross-platform development.
Frame Switcher
As you know, you can switch between open applications by using alt + tab. Although it makes it easier to switch between open applications it becomes complicated especially when there's many application windows open. Before you know it, you're switching through applications and you're not getting to the one you want opened.
The Frame Switcher plugin makes it easier to switch between and manage open applications. It gives you various options for switching and reopening projects, closing projects, and removing recent projects from your history. Ultimately, it allows you to switch between open applications effortlessly and improves your window management and, by implication, your productivity.
Main Menu Toggler
Based on your specific preferences, you might want to have the main menu displayed in your development environment or not. This often entails that you need to go into your IDE's settings to turn the main menu on or off.
The Main Menu Toggler plugin allows you to do this effortlessly. With it, you can go to the View menu and execute the Toggle Main Menu action which will toggle the visibility of the main menu between on or off. In addition, the plugin gives you the ability to set a shortcut for this action which means you'll be able to toggle the main menu on or off by using your keyboard.
Compiler Explorer
When compiling software, it’s vital to look at the compilation results to see exactly what’s going on under the hood. In other words, it gives you deeper insights into the compilation process and allows you to identify issues or problems.
The Compiler Explorer plugin for CLion allows you to see the compilation results from a remote Compiler Explorer instance. A benefit of the plugin is that its default settings allow you to use it on a wide variety of applications.
One of its main features, though, is local preprocessing. This allows you to first run a local compiler and then send the preprocessed source code for remote compilation.
Grep Console
As you know, grep is a powerful that allows you to search for strings in a file or groups of files. In fact, it’s considered one of the most useful commands in any Unix system. Typically, you’ll need to use the terminal to execute grep commands.
The Grep Console plugin brings this functionality to your IntelliJ-based IDE. It allows you to open a grep console directly from your workspace. From there, you’ll be able to execute grep commands, filter out unwanted text, highlight matches, change the colors of matching text and lines, output the results into a new console, and more.
AWS Toolkit
It’s no secret that cloud computing, and especially Amazon Web Services (AWS), is very popular, so you’ll often have to write applications built on AWS.
To make this easier, the AWS Toolkit contain all the tools you need for AWS application development. As such, it gives you the ability to create and deploy AWS serverless applications. You can also create, debug, change, or delete AWS Lambda functions and debug code in Amazon ECS clusters.
Keep in mind, though, these are just some of the functionalities it offers and there are many others available from its resource explorer to authentication, and the S3 explorer. Ultimately, if you’re developing serverless applications on AWS, the AWS Toolkit is certainly worth a look.