Does CLion IDE include all features which ReSharper C++ provides under Visual Studio?

Teodor Tite picture Teodor Tite · Mar 1, 2016 · Viewed 18.8k times · Source

Since I've been using for some while ReSharper for C# (and other JetBrains tools) and have been very pleased with the experience, I'm oscillating regarding which would be the better option, between the 2 JetBrains products (from the title) for C++ projects.

One key point of decision would be if CLion includes all (or at least most) features provided by ReSharper C++.

The only information I could find about this topic is the following quote from a JetBrains blog, which doesn't help me much:

As we’ve already mentioned, at some point the CLion and ReSharper C++ teams split, giving way to two completely independent implementations of C++ parsers. This was caused by two completely different platform architectures, IntelliJ and ReSharper, and two different sets of ideas of how parsers can be implemented.

Also other aspects (except feature sets) regarding the comparison between the 2 options/combinations would be welcome.

Answer

Igor Akhmetov picture Igor Akhmetov · Jun 13, 2016

The choice between CLion and ReSharper C++ is usually dictated by your development environment.

  • CLion is a standalone cross-platform IDE based on the IntelliJ platform. It is an option when your project uses CMake to manage the build process and GCC/Clang as the compiler.
  • On the other hand, if you are using Visual Studio as your IDE and compile your project using the Microsoft toolset, then you should be using ReSharper C++.

CLion includes a lot of functionality that R++ simply does not need (because it's running on top of Visual Studio) - for example, a debugger UI for GDB/LLDB and support for editing CMake files. Additionally, all the usual goodies of the IntelliJ platform are available, including integration with VCS systems, numerous plugins and support for other languages (e.g. Swift, Python, JavaScript, HTML/CSS and others).

ReSharper C++ is a Visual Studio extension, so it uses the Visual Studio project model and supports various peculiarities of the MSVC compiler. It also has a more precise code model than CLion and provides more code generation options, on-the-fly code analyses and context actions (most of them are listed on the comparison with Visual Assist X page). In addition to Google Test supported by CLion, R++ can also run tests written using the Boost.Test framework.

In the end if you have a chance, do try both and see which you like more - both products have a free 30-day evaluation period.