AppCode 2020.2 is Here With Initial Swift Package Manager Support, the Change Signature Refactoring For Swift, Performance Improvements, and More!

Posted on by Stanislav Dombrovsky

Introducing our second update this year – AppCode 2020.2!

Splash

Download AppCode 2020.2

Initial Swift Package Manager Support

Swift Package Manager provides an easy way to manage project dependencies in Xcode projects, and its rate of adoption grows year after year. AppCode 2020.2 delivers initial support for Swift Package Manager dependencies in Xcode projects, which includes:

  • The same general code assistance (completion, highlighting, and navigation) that is available for regular Xcode projects, plus some specific completion features, like target name completion in Package.swift:Target completion
  • SPM dependencies tree in the Project view:SPM tree

Performance

For the last two years we have been working on improving performance in AppCode, specifically with respect to the IDE’s responsiveness and indexing time. We successfully made subsequent indexings significantly faster in the 2020.1 release. Internally, in addition to these changes, we have been rewriting parts of our indexing infrastructure to eliminate freezes during project reloading. We have completed these changes in AppCode 2020.2 and they should make code completion, highlighting and navigation faster. Additionally, each and every action in the IDE should now be even more responsive than before.

Change Signature

What if you need to change the method signature across the whole project? Press ⌘F6 in AppCode for the Change Signature refactoring and do whatever you need: rename the method itself, change its visibility, change internal and external parameter names, and add or delete parameters:

Change Signature

You can learn more about this refactoring from this blog post dedicated to it.

Code Completion

One of the most interesting recent changes in AppCode 2020.2 is combining SourceKit results with our own code completion. We already use SourceKit to display errors, warnings, and Xcode Fix-its in the editor. We also use it for code completion during indexing, which works starting from AppCode 2020.1. Now we’ve added SourceKit results to our regular completion to make it more accurate. In addition to this, we’ve made several small, but useful improvements:

  • Completion for get, set, didSet, and willSet automatically jumps to the statement body:
    Completion for getters
  • Smart completion now includes initializers:Smart completion
  • Font completion works the same way it does for Objective-C:Fonts completion
  • Code completion now offers trailing closures in the completion list:Trailing closures

Inspections

You may have noticed that the old inspection indicator has been replaced with a brand new inspection widget that shows the number of errors and warnings and can be used to navigate back and forth between errors. By clicking on the inspection widget you open the new Problems view where all warnings and errors are displayed for the current file:

Inspection widget

In addition to this, you can change the highlighting level by selecting one of the options from the Highlight drop-down.

GitHub Pull Requests

GitHub Pull-requests

Thanks to the efforts of our colleagues from the IntelliJ Platform team, AppCode 2020.2 brings full support for GitHub pull requests:

  • Simply click on a GitHub pull request to view its information in a dedicated view, which will display messages, branch names, author, assignee, timeline, and more.
  • View results for pre-commit checks right in the pull request timeline.
  • Start a review, request reviews, attach comments, and submit reviews – all from within the IDE.
  • View and interact with comments, both commit-level and line-level.
  • Merge pull requests from within the IDE.

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!

Download AppCode 2020.2

Your AppCode team
JetBrains
The Drive to Develop

Subscribe

Subscribe to product updates