AppCode 2018.3 is here!
Please welcome the release of AppCode 2018.3!
Read on to learn about Swift 4.2 support, new Generate actions, Navigate to Type Declaration, and lots of formatting improvements for Swift, iOS extensions support in the debugger, better resolve in multi-target projects, and much more!
Swift
AppCode 2018.3 supports all the Swift 4.2 features affecting the IDE functionality:
- SE-0192 (Handling Future Enum Cases)
- SE-0193 (Cross-module inlining and specialization)
- SE-0194 (Derived Collection of Enum Cases)
- SE-0195 (User-defined “Dynamic Member Lookup” Types)
- SE-0196 (Compiler Diagnostic Directives)
- SE-0212 (Compiler Version Directive)
To track our progress with Swift 5.0, star this issue.
Generate
Generate initializers, hashValue
and the equality operator, description
and debugDescription
properties in no time using the new Generate actions (⌘N
):
Navigate to Type Declaration
Jump directly to the type declaration in Swift using ⇧⌘B
:
Exit point highlighting
Find all the exit points in your code easily by placing the caret on a break
, continue
, try
, throw
, or return
keyword:
Formatting
Get multiline strings indented correctly when writing your code and re-formatting:
Reformat code easily with dedicated indentation settings for preprocessor directives and their children:
Set alignment settings for ternary operator expressions in Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation
, and get continued operator expressions re-indented automatically.
Swift Package Manager support in CLion
Develop your server-side projects using the Swift plugin for CLion, which now supports Swift Package Manager projects directly on macOS and Linux:
Objective-C/C/C++
Multiple targets
Highlighting and completion now work correctly for classes with the same name from different targets. Note that there is an issue when navigation does not work correctly for such classes and we are still working on it.
Change Signature
Refactoring is easier with the Change Signature correctly handling the default argument values in method/function declarations:
Quick Documentation
Macro replacements are now properly formatted and highlighted in the Quick Documentation (F1
):
Multiline TODO
Add an indent starting from the second line of your multiline TODO
comment to differentiate it from ordinary comments, and display the complete TODO
text via ⌘6
:
Mixed code
The Rename refactoring now works correctly for Objective-C declarations aliased with swift_name
attribute and for various cases with Swift and Objective-C enums.
Performance
Thanks to performance fixes in unit-testing support, there should be no more freezes when you open top-level menus (such as the Run Configurations popup with test configurations), run a heap of unit-tests, or navigate to the test code.
Run & Debug
iOS extensions
AppCode debugger now supports iOS extensions in the same way Xcode does:
LLDB console for Swift
Completion works now in LLDB console for Swift:
Features Trainer plugin
AppCode has tons of useful actions and shortcuts, and it takes time to become familiar with all of them. To help you learn the most important ones, we’ve created a set of lessons for the IDE Features Trainer plugin, which is now available for download in Preferences | Plugins | Marketplace | Featured
.
IDE
Search Everywhere
The updated Search Everywhere (Double⇧
) now includes multiple actions under the one tool window:
- Search Everywhere
- Go to Class / File / Symbol
- Find Action
Each one has its own separate tab in the dialog, and you can use ⇥
to switch between them.
Run Anything
Run Anything (Double⌃
) is a new universal way to run and debug any configuration in your project, and it can even be used to open a project:
To run a configuration, just start typing its name. To debug, hold down the ⇧
key to switch to Debug mode. To open a project, type open
and select the desired project from the list.
Activity Monitor
This new experimental feature shows how much CPU the subsystems and plugins (both built-in and additionally installed ones) are consuming. To access it, go to Help | Activity Monitor
. If you see a subsystem whose %CPU is unusually high, feel free to ask our support team about it or report it to our tracker.
New Plugins UI
The plugins settings under Preferences | Plugins
have been redesigned from the ground up. The new UI makes it much easier to control the plugins installed and keep them up-to-date.
Featured plugins and marketplace
You can see a list of the most valuable plugins for AppCode located in the Featured plugins list. Or, sort all the plugins by rating or number of downloads. If you are a plugin writer, check out our new platform for third-party plugin vendors.
Version Control
Git submodules
AppCode now supports Git repositories with submodules: repository with submodules is cloned recursively; Diff, History, and conflict resolution now work for submodule folders; and updating the project correctly updates the submodules.
Github Pull Requests
View all the pull requests from your GitHub repository right inside the IDE, thanks to the brand new GitHub Pull Requests tool window (VCS | Git | View Pull Requests
).
Accessibility
To make our tools accessible to as many people as possible, we’ve added a few new options to the Appearance section in the IDE’s settings (Preferences | Appearance & Behavior | Appearance
). Here, you’ll find a new High-contrast IDE theme, expanded support for screen readers (they can now read line numbers, VCS annotations, and gutter icons tooltips), and an option to adjust IDE colors for people with color deficiencies.
That’s it! Explore all the new features in detail on our website and start your 30-day free evaluation to try them!
Your AppCode Team
JetBrains
The Drive to Develop