Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News JetBrains CLion, a C/C++ IDE, and ReSharper for C++

JetBrains CLion, a C/C++ IDE, and ReSharper for C++

JetBrains has released CLion EAP, a new IntelliJ-based IDE for C and C++. The IDE comes with Code Completion, Code Generation (for constructors, getters/setters or methods), Intention Actions, Quick Fixes, Refactoring, Project Search and Code Navigation. They also want to bring ReSharper to Visual Studio C++.

CLion uses the CMake build system and can keep resources in several version control systems: CVS, Git, Mercurial (hg4idea), Perforce, Subversion, and TFS. CLion is available for all major operating systems, requiring the following versions: OS X 10.8+, Windows 7-64bit, 8-64bit, Linux 64-bit.

The IDE also supports HTML/HTML5, CSS, JavaScript, and XML out of the box, and support for other languages and features can be installed via plug-ins such as Lua or IdeaVIM, a VIM emulator.

For C++ development on Visual Studio, JetBrains is working on ReSharper C++, an EAP build being available. ReSharper C++ includes support for:

  • Context-sensitive navigation: Go to Declaration, Go to Derived Symbols, Go to Implementation, Go to Base Symbols
  • Context-insensitive navigation: Go to Type, Go to Symbol, Go to File Member, Go to Everything
  • Finding code symbols
  • Refactoring: Introduce Variable and Rename
  • Context actions: transform macro calls, auto-insert #include directives, create local and global variables, enums, etc.
  • Working with templates
  • Code generation: constructors, members, overrides, etc.

ReSharper C++ supports C, C++03 and a part of C++11, and partially supports C++11 lambda expressions. JetBrains considers C++ a “complicated language to support,” and, as a result, various parts of the language are not supported yet: several Microsoft libraries -MFC, ATL, WTL-, and several Microsoft extensions. Also, code bases over 40MB in size are not supported due to performance issues.

Rate this Article