Hi, Habr!
AppCode 2017.2 came out, which means it's time to talk about all the new features in this release! Under the cut, as always, a lot of pictures.

Extract Method
There is such a tradition among IDE developers: a third method for any language is to always do the
Extract Method . Jokes jokes, but this is really one of the most commonly used code conversions.
')
In AppCode, it happens as follows: select a section of code, call
⌥⌘M
, set the desired method name, edit the order of parameters and their names if necessary,
⏎
- and voila, create a new method, replace the required section of code:

By the way, if you have not tried working with Objective-C / C / C ++ in the same way, be sure to try.
Autocompletion
Autocompletion of the methods and properties available for overloading (or implementation) is one of the possibilities familiar to all Xcode users. Now in AppCode, it is also for Swift code:

And if you want to save time on calling autocompletion for several methods,
^I
/
^O
always at your service:

Tips for types
What should I do if I cannot recall the type of one of the closure arguments right away? Correctly - enable the setting of
Show Swift Type Hints in the AppCode:

Formatting
Each AppCode user is familiar with the L keyboard shortcut, which allows you to quickly and conveniently format the current file (or the entire project when called from the
Project view ). In this version, we added the ability to configure the minimum number of empty lines around properties and methods separately for classes and protocols:

As well as a setting that allows you not to apply transfer rules to simple functions and methods when formatting:

__Auto_type support
Everything is simple here: we supported
__auto_type
for Objective-C, learned how to
__auto_type
it correctly, show autocompletions in the list and take into account in the calculation of types:

Documentation
In Xcode 8.x-9.x, the format of the database with the documentation has changed a couple of times, we picked up these changes and finalized the support in AppCode. Now
F1
again correctly displays the documentation for the various entities in the code:

C ++
Traditionally, all the improvements in C / C ++ support described
here in the section on improving parser correctness are available in the AppCode.
VCS
Separately, I would like to note the changes in Git support that have appeared in all IDEs on the IntelliJ platform:
- Ability to roll back a few changes through Git Log with Revert or change the commit message with Reword
- Settings for automatically checking commit messages (available in
Preferences | Version Control | Commit Dialog
):

as well as the ability to format commit messages in accordance with them via ⌘⌥L
:

That's all - read about other features of the product on
our website , stay tuned to our
English-language blog and ask any questions you may have in the comments to this post.