What's new in AppCode 2018.2

    In this release: more new refactorings, better autocompletion, support for databases from DataGrip, and even support for Touch Bar. In more detail - under the cut.



    Removing closures

    Following the extraction of methods, we learned how to extract closures. There was no separate shortcut key, but refactoring can be easily called via ⌃T+ 5: The
    Removing closures

    closure signature, as always, is easy to change:

    Removing closures


    Removed the dialogues for local renaming:

    Local rename

    Many finalized in the cross-language part. Now you can normally rename the block arguments in Objective-C, the names of the classes exported from Objective-C to Swift using the attribute @objc, and the enumeration elements in Swift.


    We continue to close the “elementary” cases of types of autocompletion. This time added an automatic insert '?' for optional types:

    Autocompletion for?

    And at the same time we add a little less elementary, like autocompletion for attributes in Swift:

    Autocomplete attributes

    Hansel and Gretel saved

    Plus, our bread crumbs - that the birds will not eat them. Therefore, Hansel and Gretel will find their way home without any problems:


    Comments for extensions

    In Objective-C, categories are easily distinguished by name. But in Swift there are no names for extensions. Therefore, we added to the Structure View the display of comments from the extension code in Swift:

    Comments in Structure

    Override / Implement

    Fixed the generation of overloads / implementations for fields with the same name from the base classes and protocols, mutable properties and optional parts of the protocols not yet implemented in the base class:

    Override / Implement


    In AppCode 2017.3, actions appeared to add / remove explicitly specified types of variables, and in AppCode 2018.2 we implemented the same for loops:



    Solved the problem with the output for Python scripts (such as Chisel ):


    The platform rolled out a small but very convenient feature - a bundle of actions for manipulating breakpoints through ⌥⏎:


    Build messages

    In this release, we decided, it seems, the last really big problem with the display of assembly messages - we started processing the output of the Run Script phase normally:

    Run script

    Database support

    In AppCode 2018.2, we have included the full DataGrip functionality for working with the database. Here, by the way, is an example for SQLite:

    With all the features available on our website .

    Touch bar

    Now it works in AppCode:

    Touch bar

    Version control

    As always, many improvements have been added to the IntelliJ platform, and all of them are now available in the AppCode.

    User interface

    The most visible of the changes is the icons that were completely reworked in the same style: You


    can read about the process of changing icons here .

    That's all. As always, download - here , bugs - to the tracker , ask general questions right here.

    Also popular now: