What's new in AppCode 2018.3
Added support for Swift 4.2, made Generate and navigation to type definition for Swift, improved formatting, supported iOS extensions in the debugger, began to work better in projects with several targets, and also made a bunch of cool and useful features.
Supported all features of version 4.2, which could affect the work of the IDE:
- 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)
If something is still missed, be sure to write in the comments. And about Swift 5 you can read here .
We made all the standard actions for generation, which are for Objective-C - initializers,
hashValueand comparison operator:
For all actions except the initializer, you can also select the template used for generation.
Type Definition Navigation
Everything is simple - click
⇧⌘Band immediately get to the definition of the type:
Highlight exit points
Learn to highlight the exit point of the cursor set to
In almost every release, we are improving something in the formatting engine, this is what we managed to do:
- fixed indentation for multi-line string literals:
- Added code formatting settings within preprocessor directives:
- made it possible to change the alignment of expressions with the ternary operator in
Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation
Swift Package Manager support in CLion
With CLion, we have not only general C / C ++ support, but also general Swift support. For a long time, the plugin, which adds support for SPM projects in CLion, used CMake as a design model. This year they decided that it was no longer possible to live like this - it was inconvenient to use, and they supported the SPM directly. Now you can work like this:
No, we are not planning to work with SourceKit-LSP yet. The reason is simple: and so there is almost everything that he carries with him (and that which still does not carry, also).
Objective-C / C / C ++
Projects with multiple targets
Finally, they fixed the problems with lighting and autocompletion for classes with the same name connected to different targets in the project. Navigation also plan to fix.
Previously, when changing the signature in C / C ++, AppCode lost the default values of the arguments - and now it processes them correctly:
It was normal to format macro substitutions in Quick Documentation (
In AppCode, all comments of the form
//TODOcan be quickly viewed through
⌘6. Here you can also set templates for your messages, which is convenient:
Now we have added support for multi-line TODOs for Objective-C / C / C ++ - it’s enough to add an indent for every line except the first:
Corrected problems when renaming structures with
swift_namein Objective-C and enumerations in Swift / Objective-C.
Fixed friezes when invoking dialogs related to running tests, such as Run Configurations with test configurations.
Run and debug
AppCode has learned how to debug iOS extensions - just like Xcode does:
LLDB console for Swift
Fixed autocompletion in the debugger console for Swift (for Objective-C / C / C ++ everything worked anyway). All supporters
expressionrejoice, the rest, as before, use Evaluate Expression (
IDE Features Trainer Plugin
We often hear at conferences a request to provide materials on migration from Xcode to AppCode, about what features the IDE needs to know first and foremost. During the release, we took the first major step in this direction - we added a part for Swift to the IDE Features Trainer. The point is simple - we install the plugin, open the lessons, follow the instructions and see with simple examples what opportunities there are, how to use them, and where to find them. We recommend everyone to pass - even if you have been using IDE for a long time. With high probability, something new and useful will still be found :).
Combined Search Everywhere, Go to Class / File / Symbol / Action:
Now any configuration can be launched by double pressing ⌃:
Or open a project by typing
Completely redesigned the section with plug-ins in the IDE:
Now we can work with Git submodules and conveniently show pull requests with Github:
High contrast theme
Now it is - both for the editor and for the IDE (you can choose in
Preferences | Appearance & Behavior | Appearance):
We plan to dedicate the next release entirely to fixing problems. The exception is support for new versions of Swift. In general, more stability, better auto-completion with navigation and backlighting, less interference with work.