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.

    Splash

    Swift


    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

    Rename


    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.

    Autocompletion


    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:

    Breadcrumbs

    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

    Intentions


    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:

    Intentions

    Debugging


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

    Chisel

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

    Debugger

    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

    Icons

    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: