AppCode 2017.1 EAP: override/implement improvements, better Swift 3 support and more!

Today we are starting the Early Access Program for AppCode 2017.1, and the first build is already available on our confluence page. This EAP does not require an active license, so you can use it for free until the build expiration date.

SplashAC_2016_3_@2x

Swift 3 support

This build delivers the first part of Objective-C to Swift translation changes (SE-0005), including:

  • Improved resolution of Objective-C method names in Swift.
  • Initial support for the swift_name attribute, which can be used for nearly any code construct in Objective-C for specifying custom name to be used in Swift. Correct handling of this attribute also improves completion and navigation.

Note that support for these changes in refactorings/usages search is still in progress.

Another important change for mixed code projects is the implementation of SE-0033, which brings correct resolve for Objective-C constants aliased with the swift_wrapper attribute.

For pure Swift projects, this build brings the following improvements:

  • Correct parsing and resolution for operator functions together with the ability to generate them with the Implement action (^I):
    Implement protocol function
  • Better resolution for init calls (OC-14591)
  • SE-0037: Clarify interaction between comments & operators (OC-14761)
  • SE-0096: Converting dynamicType from a property to an operator (OC-14105)

Override/Implement in Swift

A lot of improvements for Override/Implement (^O/^I) are now available in AppCode:

  • Override/Implement popup shows members hierarchically (OC-14562):
    Override hierarchy
  • Designated/convenience/required initializers are marked with the appropriate keyword (OC-14534):
    Attributes
  • Class methods in extensions are correctly overridden (OC-14538)
  • Dynamic methods in extensions are offered for overriding (OC-14475)
  • Static methods are not suggested anymore (OC-14415)

Remote Hosts Access

As you may know, when you edit HTML/JavaScript/CSS files in AppCode you can enjoy most of the advanced features of WebStorm, our IDE for web development. Recently we received some requests from developers using AppCode for server-side Swift development asking us for the Remote Hosts Access plugin, and we’ve decided to bundle it.

Simply add a server for sources synchronization in Preferences | Build, Execution, Deployment | Deployment and setup directories you want to be uploaded on a particular server:
Deployment
Then, select Upload to <servername> in the context menu and have your sources uploaded (or just enable automatic upload in Preferences | Build, Execution, Deployment | Deployment | Options).

Emoji support

Like all IntelliJ-based products, AppCode now correctly renders emoji in the editor and IDE views:
Emoji support

The ability to insert emoji using the native emoji chooser is not yet implemented (if you need it, please vote for IDEA-164993.)

Other changes

  • SourceKit inspections and intentions are now available in the Swift plugin for CLion both on macOS and Linux.
  • AppCode now creates a new Podfile using pod init command (OC-14779).
  • If you’re using Dvorak layout on macOS, you’ll be glad to know that keyboard shortcuts like ⌘/, ⇧⌘], ⇧⌘[, ⌘+ and others are now working properly with it (JRE-172).
  • Zero-latency typing mode is enabled by default in the editor.

The full release notes are available here.

Download AppCode 2017.1 EAP

Your AppCode team
JetBrains
The Drive to Develop

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

4 Responses to AppCode 2017.1 EAP: override/implement improvements, better Swift 3 support and more!

  1. Very cool! I am waiting for the day when I can throw XCode where it belongs to: the trash bin!

    Any chances that we might see a fully integrated Interface Builder in AppCode any time soon? The constant jumping between both IDEs is one of the aspects that prevents me from using AppCode. I hate to write glue-code or do all the interface building in-code. Life is too short for being a coding nerd…

    Best wishes and keep up the good work.
    Martin

  2. Pingback: AppCode 2017.1 EAP,更好支持 Swift 3 | News Pod

  3. Pikor says:

    Is it me or autocompletion for CocoaPods libraries is not working in 2017.1 RC? It works super-fast for native libraries but methods from pods are not visible.

    • Stanislav Dombrovsky says:

      Could you please try File -> Invalidate Caches/Restart? If the issue will still be present, could you please fill the ticket in our tracker and attach the sample project to reproduce it?

Leave a Reply

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