AppCode 2019.2 is Here With Initial Swift 5.1 Support, Code Coverage for Unit Tests, LLDB Disassembly View, Create From Usage for Enum Cases… and Even More!

Please welcome the release of our second major update this year, AppCode 2019.2!


Download AppCode 2019.2


Language Support

AppCode 2019.2 brings initial support for Swift 5.1 including:

  • SE-0242: Synthesize default values for the memberwise initializer.
  • SE-0254: Static and class subscripts.
  • SE-0068: Expanding Swift Self to class members and value types.
  • SE-0260: Library Evolution for Stable ABIs.
  • SE-0258: Property Wrappers

See a complete overview of Swift 5.1 support here.


Closures in Swift often contain a lot of statements. We’ve implemented code folding for them to make it easier for you to write and read your code:

Closure folding


Code highlighting depends on the code resolution; without code entities being resolved, we don’t know how to highlight them. However, even without this information, we can highlight Swift keywords – and that’s exactly what we’ve done to make the code more readable:


Create From Usage

We introduced Create From Usage intentions for Swift variables, functions and properties in AppCode 2016.3 and added types and initializers to the family back in 2017.1 version. In AppCode 2019.2, we’ve added an intention for Swift enum cases:

Create From Usage

Find Usages

When searching for a code construct, it’s important to see not only where the particular code construct is used, but also how you use it in the code. Are you assigning the value to the variable or reading it? Do you create a new class instance or have a subclass extending its functionality? These details help reduce the number of code usages you need to look through.

In AppCode 2019.2, you can see how your Swift code is used – right in the Find Usages (⌥F7) tool window:

Find Usages

Join Lines

Easily merge variable declaration and initialization using Join Lines (⌃⇧J):

Join Lines


We’ve added header maps support a year ago, primarily for projects using BUCK. After initial implementation, there was a problem with auto-import functionality when a long and incorrect path was added when importing a header. In AppCode 2019.2, we have fixed it and now auto-import should add a correct import directive.


Disassembly View

When the source code is not available, Force Step Into (⌥⇧F7) the disassembled code (or select the frame in the Debug tool window):

Disassembly View


Completion for code constructs has worked in LLDB console for a long time; now you can complete debugger commands as well by using :

LLDB commands completion

Code Coverage

It’s finally here! This top-requested feature has finally made its way into AppCode. No additional configuration is required – just Run With Coverage:

Run With Coverage

See the coverage results in the left editor gutter:

Coverage Results

Click the coverage color indicator to see the hit count or hide the coverage:

Hit Count

View coverage statistics in the Project view or in a separate tool window:


Build, Run, Debug, and Test During Indexing

In large projects, initial indexing and caching can take a lot of time. And sometimes you don’t even need to write the code, you just need to build the project and make a small change. In AppCode 2019.2, you can build, run, debug, and test your project immediately, even when you open it for the first time:

Build, Run, Debug and Test during indexing


TextMate Bundles Plugin

Sometimes your projects may include bits of code in other languages. For some of these, AppCode offers full-featured support, including:

…and more. Still, for some languages support is not available, and for those, we now provide basic code completion and highlighting out of the box via TextMate bundles:

TextMate Bundles Plugin

Most Ruby DSLs will also work after a bit of configuration.

Shell Script Plugin

Code assistance for shell scripts works out of the box:

Shell Script Plugin

Commit Window

Thanks to the IntelliJ Platform team, it’s possible to commit your changes directly from Local Changes:

Commit Window
To give it a go, select the Commit from the Local Changes without showing a dialog checkbox in Preferences | Version Control | Commit Dialog.

That’s it! Explore all the new features in detail on our website and start your free 30-day evaluation to try them in action!

Download AppCode 2019.2

Your AppCode Team
The Drive to Develop