AppCode 2019.3 Is Here With Faster Code Highlighting, Completion, and Navigation, Improved Swift Support, New Swift Intentions and Build Messages, and Mac Catalyst Support!
Please welcome our special, performance-focused update – AppCode 2019.3!
Swift
Performance
We promised to dedicate this release to performance improvements, and here they are:
- Highlighting, code completion, and navigation in pure Swift and mixed projects should work a lot faster compared to AppCode 2019.2.
- We’ve boosted caching so that “Processing Swift Modules” should be much faster compared to previous AppCode versions.
Some major improvements started during this release are still in progress and scheduled for the next release. We’re staying on course and our main focus areas for 2020.1 are, again, performance boosts and language support.
Language Support
AppCode 2019.3 brings support for the following Swift 5.1 features:
- SE-0244: Opaque result types
- Property wrappers: resolve for arguments (OC-18766)
- Completion for SE-0252 (Key path member lookup)
- Highlighting for parameter attributes
New Intentions
A whole heap of new Swift intentions are here to boost your productivity:
- Split / join variable declaration and assignment:
- Split variable declarations with multiple elements:
- Split / join nested
if
/else
statements: - Flip comparisons and binary expressions:
- Invert
if
condition:
- Merge / split conditions:
- De Morgan’s Laws:
Code Generation
We’ve added two new options to help you generate Swift code: Prefer Void over ()
and Prefer explicit return
. Find them in Editor | Code Style | Swift | Code Generation | General
.
Code Formatting
New useful code formatting options are here:
- Keep simple property blocks with
willSet
/didSet
on one line (Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Methods and functions in one line
). - Keep empty type declarations on one line (
Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Empty type declarations in one line
).
Alternative Swift Toolchains
Are you working with the Swift Tensorflow toolchain or another custom Swift toolchain? Now we correctly load all the code constructs for custom Swift toolchains and use them for building, running, debugging, and testing.
Build Messages
We’ve fixed dozens of UX issues by reworking the Messages tree, which now shows the same information as Xcode does:
The build progress bar now shows accurately how long it’s going to take to compile your application:
The message filter is simplified and now offers the same options as Xcode does: All Issues, Errors and Warnings, and Errors Only.
Mac Catalyst Support
Code assistance, build, run, and debugging now work for Mac Catalyst projects.
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!
Your AppCode Team
JetBrains
The Drive to Develop
Abcd says:
December 8, 2019Downloaded, installed, opened. Opened my project, tried to build it and it failed to build. Closed AppCode, uninstalled it, and went back to Xcode. ♂️
Stanislav Dombrovsky says:
December 9, 2019In this case, Xcode should fail to build the project as well, because we use the same build system. Could you please provide soon more details – build log, error description?
Pavel says:
December 13, 2019Sorry, guys.
I give up.
Appcode doesn’t seem usable anymore 🙁
Updated, opened project, waited 20 minutes on 600% CPU for it to index everything.
Syntax highlighting doesn’t work. IDE stuck for a minute after each action.
Vyacheslav Karpukhin says:
December 13, 2019Sorry about that. Most likely the reason is the Xcode 11.3 update, for which current AppCode release doesn’t have caches yet, so initial opening of a project takes a while. We’re planning to publish an update today.
For 2020.1 we planned some significant improvements in this area, which are meant to solve this problem once and for all. In the meantime, let’s hope that this crazy season with 19 Xcode builds published in the last 7 months is finally over.