AppCode starts 2018.2 EAP: database support, inline rename for Swift, touch bar support and more!

Hi everyone,

Today we are starting the Early Access Program for AppCode 2018.2; the first build is already available for download on our site. This EAP does not require an active subscription, so you can use it for free until the build expiration date.
Splash

Database support

We are happy to announce that the Database support plugin is now bundled in AppCode! It includes all the same functionality as DataGrip, our cross-platform IDE for databases.

Do you want to inspect your SQLite database downloaded from a device? Open the Database tool window, add an SQLite datasource, download the needed drivers and you are ready to go:

Are you developing a server-side Swift application? Connect to the local or remote database of any type, right from AppCode:

Touch Bar support

This build brings AppCode the long-awaited support for the Touch Bar:
Touch Bar

Swift

Inline Rename

Now you can Rename Swift symbols in your code without any additional dialogs being displayed:
Inline rename

Besides this, the Rename refactoring now works correctly for Swift enum cases used in Objective-C code and class names which were exported using a @objc attribute.

Comments preview for extensions

Unlike Objective-C categories, Swift extensions do not have a name, so it’s hard to distinguish one extension from another and quickly understand which methods it contains. That’s why we have added a documentation comment preview in the Structure view (⌘7) and Class/Symbol (⌘O/⌥⌘O) navigation pop-ups:
Structure view comments

Code generation

The following improvements are implemented for Override/Implement (⌃O/⌃I) functionality in Swift:

In addition, this build delivers support for SE-0157 (Recursive constraints on associated types) proposal, as well as some performance improvements for Objective-C/C++.

That’s it! See the full list of fixes in our tracker.

Your AppCode team
JetBrains
The Drive to Develop

This entry was posted in Announcement and tagged , , , , . Bookmark the permalink.

7 Responses to AppCode starts 2018.2 EAP: database support, inline rename for Swift, touch bar support and more!

  1. David says:

    I downloaded the EAP and i see no touch bar settings on my 2016 Touch Bar MacBook Pro

    • Stanislav Dombrovsky says:

      The previous comment was wrong, correcting myself: settings for the Touch Bar should be available under Preferences | Appearance and Behavior | Menus and Toolbars | Touch Bar. In addition, there are settings under the Preferences | Keymap.
      Touch Bar settings
      Touch Bar settings

  2. David Nedrow says:

    Hmmm. After 2018.2 EAP was installed, I was never asked to migrate settings/plugins/etc.

    And I don’t see an Application Support folder for for 2018.2. Has the location of the plugins changed?

    I’ll keep poking around, but how would I “import” all of my 2018.1 settings and plugins? 2018.1 was uninstalled by the Toolbox.

    • Stanislav Dombrovsky says:

      Strange, the dialog should be shown in this case and we can’t reproduce the same behavior on our side. The simplest way for restoring settings is to install AppCode 2018.1, export all the settings via File | Export settings and then import them back in 2018.2

  3. Jordan says:

    Is there something we have to do to get “Comments Previews for Extensions” working? I’m not seeing anything.

    Tried:

    // Extension on something
    extension MyClass {}

    extension MyClass // Extension on something
    {}

    extension MyClass { // Extension on something
    }

    Nothing is showing up.

    • Stanislav Dombrovsky says:

      About last two examples – it’s an issue, thanks for reporting it. About the first one – should work correctly. Could you please post the screenshot showing the sample file together with the Structure view opened?

  4. alessio says:

    Great work with databases, tested today with SQLite!
    Do you plan to support .realm files also?
    Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *