1. https://appdevelopermagazine.com/ios
  2. https://appdevelopermagazine.com/c++-developer-tools-from-jetbrains/
10/2/2015 2:53:54 PM
C++ Developer Tools From JetBrains
C++,UI Tools,Objective-C,Code Refactorings,Debugger
App Developer Magazine
C++ Developer Tools From JetBrains


C++ Developer Tools From JetBrains

Friday, October 2, 2015

Stuart Parkerson Stuart Parkerson

Many of you are familiar with JetBrains, which provides the development community with a myriad of tools that automates common, repetitive tasks as well as help developers explore and familiarize with code bases faster.

JetBrains has tools for a number of environments including Android, iOS, Java, .NET, Ruby, Python, C++, and many more. From IDEs, Code Editing Tools, Issue Tracking Tools, Project Management Tools (the list goes on), JetBrains has created the necessary tools to make your life easier.

And it’s no surprise that, with the continuing popularity of C++ with developers, the company has released three products in a row that cover C++ use cases. These include CLion and ReSharper C++, which are new products and AppCode, a flagship product that offers an IDE for iOS developers and, of course, covers C and C++ cases as well.

Let’s take a look at CLion, ReSharper, and AppCode.


CLion is a powerful IDE that helps you develop in C and C++ on Linux, OS X and Windows, enhancing your productivity with a smart editor, code quality assurance, automated refactorings, and deep integration with the CMake build system.

CLion takes care of the routine items while you focus on the important things. It can boost your productivity with smart and relevant code completion, offering full coding assistance including customizable coding styles, keymaps and various project views, and instant navigation to a symbol's declaration or usages.

Highlights of the CLion IDE include:

Various languages and standards
CLion natively supports C and C++ including C++11 standard, libc++ and Boost. In addition to C/C++, you can use JavaScript, XML, HTML and CSS, and enjoy the same code editing and transformation features such as syntax highlighting, analysis, completion, navigation, and refactorings.

Integration with Version Control Systems
Popular VCS supported out of the box include Subversion, Git, GitHub, Mercurial, CVS, Perforce (via plugin), and TFS. CLion provides a unified interface for all these systems along with shortcuts for common VCS tasks.

Embedded terminal
With CLion's built-in terminal, you can run any command without leaving the IDE locally or remotely using the SSH protocol. Depending on your platform, you can work with a command line prompt, Far, powershell, bash, or other tools.

Keyboard-centric approach
To help you focus on code and raise your productivity, CLion has keyboard shortcuts for nearly all its features, actions and commands. Use one of the pre-defined keymaps or customize them as needed. Vim users are welcome to install the Vim-emulation plugin.

Save time
Save time on unnecessary typing while CLion generates code for you. Add class members, override/implement functions, wrap a block of code with a statement, or generate a block of code from one word using live templates - all via simple keyboard shortcuts.

Clean code
With CLion, you can maintain, improve and clean up code. Whenever you need to rename symbols, move members up/down the hierarchy, extract code to function, typedef, define, etc., CLion's automated refactorings will accurately and instantly propagate the appropriate changes throughout the code for you. Potential code issues are identified instantly and fixed as you type. You can be sure all the proper changes are handled automatically by CLion.

CMake at your fingertips
All of the opportunities offered by the CMake cross-platform, open-source build system are available through CLion. No additional project structure is required, as CLion takes all the information from the CMake build system and handles your changes in CMake files automatically.

ReSharper C++

ReSharper C++ has been making life easier for .NET developers as it makes Microsoft Visual Studio a much better IDE with refactorings, navigation, code inspections, quick-fixes, code generation and more productivity features. And now it offers even more functionality for C++ development.

ReSharper C++ extends Visual Studio with over 60 C++ code inspections that are displayed instantly as you type. For many of these inspections, ReSharper C++ provides quick-fixes (light bulbs) to improve code in one way or another. ReSharper C++ helps you quickly land at any file, class or class member in a solution, no matter how large it is.
It can also find usages of any code for you, or navigate you between related entities such as header and source file.

ReSharper C++ provides 4 full-fledged refactorings, namely Rename, Introduce Variable, Extract Method and Change Signature. In addition, it offers 25+ context actions to manipulate code, use alternative syntax, or even substitute macro calls. A rich set of code formatting settings covers usage of braces, spaces, new lines and alignment. Set up your formatting style, share settings with your teammates, and apply formatting in any scope, from individual code selections to the entire solution.

ReSharper C++ can create a lot of code for you, from constructors, getters and setters to hash and swap functions. A dozen Generate menu commands as well as multiple customizable code templates will help you create common code as fast as possible.

Highlights of ReSharper C++ include:

Analyze and improve code quality
ReSharper C++ highlights code issues in the editor and provides quick-fixes to improve code in one way or another. Unreachable code? Redundant statements? Suspicious object slicing or incorrect format specifier? ReSharper C++ will bring these and other kinds of problems to your attention and help you fix them.

Refactor and transform code
Code refactorings for C++ help safely change your code base, which is especially important in a language as non-trivial as C++. Context actions help switch between alternative syntax constructs and serve as shortcuts to code generation actions.

Use a consistent code style
Configure code formatting options and naming style, share settings with your teammates, and maintaining a consistent code style will never be a problem again.

Find usages and navigate the solution
You can instantly jump at any file, type, or type member in solution. You can search for usages of any code and enjoy a clear view of found usages, with grouping and preview options. And you can go from any code symbol to its declaration or definition, its base or derived symbols.

Generate common code
The list of things that ReSharper C++ can generate for you includes definitions, missing and overriding members, equality and relational operators, hash and swap functions. Add dozens of customizable templates, and you will have the tools to deal with boilerplate code faster than ever.


Turn your bright ideas into outstanding iOS/OS X apps as you rely on AppCode's intelligent assistance to code, refactor, debug and test. JetBrains AppCode is a proven performer that now delivers support for the Swift language, together with several new debugger features and general editor improvements. 

AppCode is not just an IDE for Objective-C or Swift as for C++ it provides important improvements covering all the major features of C++11 standard. This includes initializer lists, and raw string literals.

Highlights of AppCode 3.1 include:

Color schemes and code formatting
AppCode has made a big step forward with version 3.1 as developers can now benefit from smart support for the Swift programming language. Key features include code highlighting which makes code easier to read; code formatting following a pre-defined or user-specific code style schemes; and code completion for types, methods and variables.

AppCode is especially known for its navigation options, and version 3.1 adds many of them for Swift language including the ability to highlight usages within the current file, navigation to symbol declaration, and go to class or symbol actions. You can also list all usages in a separate window and group them the way you prefer, with the Find Usages action. To navigate through the current Swift file structure easily, use the File Structure action.

Rename refactoring
Rename variables, constants, functions, type names and classes with Rename refactoring and rest assured that AppCode will update all the usages across the entire code base for you. To ensure interoperability between Swift and Objective-C, AppCode 3.1 resolves Swift symbols from Objective-C code, provides find usages, navigation and other features.

AppCode 3.1 provides comprehensive support of Swift.

Reveal integration
AppCode integrates with UI tools Reveal, a neat tool from Itty Bitty Apps that helps you debug iOS applications. You can take advantage of this tool right from AppCode, including the ability to inspect view elements and hierarchies of your iOS apps in real time, use 2D and 3D visualization possibilities, and edit the view on the fly, which is a convenient way to fine-tune the interface without recompiling.

Debugger improvements
AppCode offers the debugging feature, Inline Variables View, to show you variable values right in the editor (next to the variable declaration) while debugging. It also supports symbolic breakpoints that can help you stop program execution when a specific function or method starts executing, which is especially useful when you need, for example, to stop in some iOS framework. Completion for the symbol's name will assist you to set an appropriate breakpoint.

Protecting your code style
Smarter Backspace key now removes indents and white spaces according to your code style. You no longer need to worry about breaking it, and can remove unnecessary spaces more quickly and easily. And if indent sizes in your current file differ from the project's common coding style settings, AppCode can auto-detect and use them for editing.

Context-sensitive analysis
To keep your code clean, AppCode offers major improvements in context-sensitive analysis and in Data Flow analysis, which detects redundant conditions, accessing nil references, use of an unrecognized selector, or incompatible types.

Its C++ Nirvana

So there you have it, three major C++ products all certain to make your life easier. You can check out more at the main link below and if you’re interested in learning more about any other tools in the JetBrains arsenal, there is a wealth of information available on their blog and on JetBrains TV.

Read more: https://www.jetbrains.com/

Subscribe to App Developer Magazine

Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.


  • - Exclusive content from leaders in the industry
  • - Q&A articles from industry leaders
  • - Tips and tricks from the most successful developers weekly
  • - Monthly issues, including all 90+ back-issues since 2012
  • - Event discounts and early-bird signups
  • - Gain insight from top achievers in the app store
  • - Learn what tools to use, what SDK's to use, and more

    Subscribe here