AppCode 2020.3 Is Here: Swift Localization, New Inspections and Intentions, SourceKit-Based Go to Declaration, XCFrameworks Support, Improved Refactorings, New Debugger Features, and More!
Read this post in other languages:
Welcome our third update this year – AppCode 2020.3!
The following Swift changes are now supported in AppCode:
- SE-0279, SE-0286: Multiple trailing closure syntax.
Allow synthesis of
Hashablein conditional conformances (see the SE-0185 amendment).
- SE-0276: Multi-pattern catch clauses.
SE-0269: Increased availability of implicit
@escapingclosures when reference cycles are unlikely to occur.
- SE-0044: Import as member improved as described in OC-20445.
- SE-0280: Enum cases as protocol witnesses.
String localization was implemented for Objective-C a long time ago, and now it works for Swift:
- Localize strings easily with a new intention for Swift:
See the actual value of a localized string in your code, with convenient folding for
- Use completion, navigation, and Find Usages for localization keys.
Inspections and intentions
self qualifiers with a new Swift inspection:
Find unnecessary argument lists for closures and remove them in seconds:
Easily convert trailing closures to closure arguments, and vice versa, with a new intention:
⌥Space to see the quick-fix preview:
With a cross-language Rename refactoring implemented, the next logical step was to implement a cross-language Change Signature – and here it is in AppCode 2020.3! And even more:
You can now change the function/method
throwtype right in the Change Signature dialog:
- Default argument values are now preserved when executing the refactoring.
- Variadic parameters are now correctly updated.
The refactoring preview shows the correct preview for
Rename preferences are now available in an inlay hint. Press
⇥ to display them:
Go to Declaration
Go to Declaration now works even before indexing and caching are finished. Under the hood it uses SourceKit in the same way as our code completion.
Swift Package Manager
AppCode now shows the SPM executable and test run configurations in the Run Configurations chooser.
A heap of new features are available in the AppCode debugger:
- Click on an inline hint and examine the selected variable:
- Add new inline watches right from the editor window:
- View inline watches from the Variables tab:
- Set the current location for the program counter in the left-hand gutter:
Code With Me
AppCode 2020.3 supports Code With Me – a new service from JetBrains for collaborative development and pair programming. Code With Me enables you to share the project you currently have open in your IDE with others, and work on it together in real time. You can download it today from the plugin marketplace (
Preferences | Plugins | Marketplace). Check out these posts to learn more about Code With Me.
Stage changes directly from AppCode: enable the staging area in
Preferences | Version Control | Git to get access to the new Staged node in the Commit view. Learn more in this blog post.
Git Tab in Search Everywhere
Find commit hashes and messages, tags, and branches in the Search Everywhere dialog on the new Git tab.
Code entities from XCFrameworks are now resolved correctly.
Preview file contents right from the Project View by using
That’s it! Explore all the new features in detail on our website and start your free 30-day evaluation to see them in action for yourself!
Your AppCode team
The Drive to Develop