JetBrains has released AppCode 3.1 under its EAP (Early Access Program), offering developers a preview of the IDE's improved Swift support.
This release of the IDE builds upon the basic support for the Swift language introduced in June's 3.0.1 release, which included basic editing support and syntax highlighting for Swift source files. Now with the release of 3.1 developers can avail of most of the IDE's advanced capabilities when using Swift. In particular JetBrains has improved support for navigating, editing, and refactoring Swift code.
Of particular note is the added support for Objective-C to Swift resolve, allowing the IDE to better handle the interoperability of the two languages. This has enabled many of the quick navigation shortcuts that will be familiar to AppCode users. By highlighting a symbol in a Swift file users can navigate to its declaration, type, super-type or find its usages.
Refactoring of Swift code is also now supported. Using rename refactoring developers can safely update variable, constant, type and class names. Once again, Swift resolve applies refactorings across both Swift and Objective-C source files.
Whilst support for the Swift language is improving it has not yet reached parity with the Objective-C feature set. JetBrains has acknowledged the following limitations in its release notes:
- Compile warnings are not displayed in the editor when using Swift.
- Swift code-completion only works for language keywords.
- Code formatting is not yet available for Swift.
- Usages of Swift class methods are not resolved in Objective-C code.
- External parameter names, shorthand names and tuple elements in Swift code are not resolved.
This preview release also contains many improvements that are not specific to the Swift language including:
- Added support for symbolic breakpoints.
- Improved Git integration; including support for rolling back blocks of code and the 'Reset Current Branch to Here' Git Log action.
- Support for a 'smarter backspace key', that removes indents and whitespace according to the user's code style settings.
- Inline display of variable valuables within the editor pane whilst debugging (‘Inline Variables View’).
- Over 70 bug fixes as outlined on the JetBrains bug tracker.
The release is available now as part of the JetBrain's EAP. As with all EAP releases the software is free of charge, but distributed under a time-limited 30 day license. JetBrains are asking that users submit issues and feedback via the product forum and issue tracker. Which they will use to drive future development of the product.
To date reaction to the release has been positive. One Reddit commentator remarked on its ability to diagnose a Swift error that Xcode had missed. On Twitter Andrew Ebling, former development lead at Shazaam, highlighted the usefulness of the IDE's refactoring support.
Developers wishing to use a more stable version of the IDE should download the latest 3.0 release. Licenses for which are available free to students, educational organizations and open source projects. Commercial licenses are also available for individuals and organizations, priced at $99 and $199.