AppCode Starts the 2022.3 EAP
Hi everyone,
Today we are starting the Early Access Program for AppCode 2022.3, and the first build (223.6160.86) is already available for download.
Give the free EAP builds a try and let us know what you think about the changes! Share your feedback in the comments or submit it to our issue tracker.
Here are the main highlights:
- UML diagrams enhancements
- Inject SQL, HTML, RegExp, and other languages into strings
- Build destinations for Swift packages
- Quick-fixes and intention previews
- Inline function refactoring and other Swift language improvements
UML diagrams enhancements
UML diagrams for Swift and Objective-C classes were introduced in AppCode 2022.2. In this EAP they get a few fixes and improvements. You can now drag items from files in the Project View to the diagram:
You can also now filter nodes on the diagram by scope (project files, opened files, and so on):
Inject SQL, HTML, RegExp, and other languages into strings
When coding in Swift, there can sometimes be pieces of code inside string literals, such as SQL strings, HTML code, or regular expressions. Wouldn’t it be nice if an IDE could treat them as code, and not as text? We thought it would, so we’ve made it possible in AppCode!
Language injections let you work with pieces of code inside string literals (for example, with SQL queries or regular expressions), as well as tags or attributes in XML-like languages. To enable it, set the caret on a string, press Alt+Enter, and select the language you want to inject there.
AppCode provides accurate code highlighting based on the language chosen. It also has language-specific intentions and actions, and you can edit a code fragment in the dedicated editor section. For example, for regular expressions you can check whether a string matches the RegExp right in the IDE:
Build destinations for Swift packages
For Swift packages, AppCode can now build for macOS and other build destinations like the iPhone, simulators, and more:
Quick-fixes and intention previews
A platform-wide preview for quick-fixes and intentions is now enabled in AppCode. If you call the Quick Documentation (F1
) for a selected quick-fix in the Alt+Enter menu, you’ll see how the code is going to be updated with the fix applied:
Once activated, the preview will appear every time you open the list of available intention actions. To close the preview, press F1
again while the list of intentions is open.
Swift language improvements
With AppCode 2022.3 EAP, you can now easily inline the Swift function and substitute all its usages across the codebase. Use the Inline function refactoring via ⌥⌘N
. AppCode will suggest you inlinining all invocations and removing the original function or inlining only the selected invocation and keeping the original function:
When creating from usage or extracting a property, AppCode now suggest you a choice between var
and let
property declarations:
Other improvements:
- AppCode now supports a shorthand syntax for optional binding.
- Extracting from
static subscript
now generates astatic
method (OC-23073). - Smart completion now ignores
@autoclosure
for assignability (OC-22948). - Using Copy Reference on a Swift symbol no longer creates Objective-C code (OC-15741).
- The Unwrap Optional quick-fix now uses the shorthand syntax for optional binding from Swift 5.7 where possible.
- Generate init has been fixed to avoid the redundant
required
keyword for protocol init in struct. - Generate equals actions that use a single expression template no longer produce an incomplete
return
statement (OC-18774). - Extracting protocol conformance to
extension
no longer loses the documentation comments (OC-22923).
The full release notes are available here.
Those who previously used the Kotlin Multiplatform Mobile (KMM) plugin for AppCode may need to manually install the JetBrains Toml plugin from JetBrains Marketplace and ensure they have updated the Kotlin plugin to its latest version.
Your AppCode team
JetBrains
The Drive to Develop