Sie fügten Unterstützung für Swift 4.2 hinzu, machten Generieren und Navigieren, um den Typ für Swift zu bestimmen, verbesserten die Formatierung, unterstützten iOS-Erweiterungen im Debugger, begannen in Projekten mit mehreren Zielen besser zu funktionieren und machten auch eine Reihe cooler und nützlicher Funktionen.

Schnell
Unterstützt alle Funktionen von Version 4.2, die sich auf die IDE auswirken könnten:
- SE-0192 (Behandlung zukünftiger Enum-Fälle)
- SE-0193 (Modulübergreifendes Inlining und Spezialisierung)
- SE-0194 (Abgeleitete Sammlung von Enum-Fällen)
- SE-0195 (Benutzerdefinierte "Dynamic Member Lookup" -Typen)
- SE-0196 (Compiler-Diagnoseanweisungen)
- SE-0212 (Compiler-Versionsrichtlinie)
Wenn Sie noch etwas verpasst haben, schreiben Sie es bitte in die Kommentare. Und über Swift 5 können Sie hier lesen.
Generation
Wir haben alle Standardgenerierungsaktionen von Objective-C ausgeführt - Initialisierer, description
/ debugDescription
, hashValue
und der Vergleichsoperator:

Für alle Aktionen außer dem Initialisierer können Sie auch die Vorlage auswählen, die für die Generierung verwendet wird.
Typ Definition Navigation
Hier ist alles einfach - ⇧⌘B
und gelangen ⇧⌘B
sofort zur Typdefinition:

Ausgangspunktbeleuchtung
Wir haben gelernt, wie man Austrittspunkte hervorhebt, indem wir den Cursor so einstellen, dass er break
, continue
, try
, throw
oder return
:

Formatierung
In fast jeder Version verbessern wir etwas in der Formatierungs-Engine. Wir haben Folgendes getan:
- Der Einzug für mehrzeilige Zeichenfolgenliterale wurde korrigiert:

- Code-Formatierungseinstellungen in Präprozessor-Direktiven hinzugefügt:

- ermöglichte es, die Ausrichtung von Ausdrücken mit dem ternären Operator in den
Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation
zu ändern Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation
Unterstützt Swift Package Manager in CLion
Mit CLion bieten wir nicht nur allgemeine C / C ++ - Unterstützung, sondern auch allgemeine Swift-Unterstützung. Das Plugin, das SPM-Projekte in CLion unterstützt, verwendete CMake lange Zeit als Projektmodell. In diesem Jahr entschieden sie, dass es nicht mehr möglich ist, so zu leben - es war unpraktisch, es zu verwenden, und sie unterstützten SPM direkt. Jetzt können Sie so arbeiten:
Es hat sich wirklich gut herausgestellt, es bleibt nur, um die Integration mit den Tests abzuschließen. Angesichts der Tatsache, dass CLion über WebStorm-Funktionen zum Bearbeiten von HTML / JavaScript verfügt, können Sie mit Datenbanken auf die gleiche Weise wie in DataGrip arbeiten . Es gibt ein Docker-Plugin und vieles mehr. Jetzt können Sie darin noch Backends auf Swift schreiben ::
Nein, wir planen noch nicht, mit SourceKit-LSP zu arbeiten. Der Grund ist einfach: Fast alles ist das, was es mit sich trägt (und was es auch noch nicht trägt).
Ziel-C / C / C ++
Mehrere Zielprojekte
Schließlich haben wir Probleme mit der Hervorhebung und automatischen Vervollständigung für Klassen mit demselben Namen behoben, die mit verschiedenen Zielen im Projekt verbunden sind. Wir planen auch, die Navigation zu korrigieren.
Signatur ändern
Bisher hat AppCode beim Ändern der Signatur in C / C ++ die Standardwerte der Argumente verloren - und verarbeitet sie jetzt korrekt:

Die Dokumentation
Wir haben begonnen, Makrosubstitutionen in Quick Documentation ( F1
) zu formatieren:

Mehrzeiliges TODO
In AppCode können alle Kommentare des Formulars //FIXME
/ //TODO
schnell über ⌘6
. Hier können Sie Vorlagen für Ihre Nachrichten festlegen, was praktisch ist:

Jetzt haben wir mehrzeilige TODO-Unterstützung für Objective-C / C / C ++ hinzugefügt - es reicht für jede Zeile außer der ersten, um einen Einzug hinzuzufügen:

Gemischter Code
Probleme beim Umbenennen von Konstruktionen von swift_name
in Objective-C und Aufzählungen in Swift / Objective-C wurden swift_name
.
Leistung
Sie haben die Friese behoben, wenn Dialoge aufgerufen wurden, die sich auf das Ausführen von Tests beziehen, z. B. Konfigurationen mit Testkonfigurationen ausführen.
Starten und Debuggen
IOS-Erweiterungen
AppCode hat gelernt, wie man iOS-Erweiterungen debuggt - genau wie Xcode:

LLDB-Konsole für Swift
Wir haben die automatische Vervollständigung in der Debugger-Konsole für Swift behoben (für Objective-C / C / C ++ hat alles so funktioniert). Alle p
/ po
und expression
freuen sich, der Rest verwendet wie zuvor den Ausdruck ⌥F8
( ⌥F8
):

IDE Features Trainer Plugin

Oft hören wir auf Konferenzen eine Aufforderung, Materialien zur Migration von Xcode zu AppCode zu geben, welche Funktionen der IDE Sie zuerst kennen müssen. Während des Release-Prozesses haben wir den ersten großen Schritt in diese Richtung getan - wir haben dem IDE Features Trainer einen Teil für Swift hinzugefügt. Das Fazit ist einfach: Wir installieren das Plugin, öffnen die Lektionen, folgen den Anweisungen und sehen anhand einfacher Beispiele, welche Möglichkeiten es gibt, wie man sie nutzt und wo man sie findet. Wir empfehlen jedem zu gehen - auch wenn Sie die IDE schon lange verwenden. Mit hoher Wahrscheinlichkeit wird noch etwas Neues und Nützliches gefunden :).
IDE
Überall suchen
Kombinierte Suche überall, gehe zu Klasse / Datei / Symbol / Aktion:

Führen Sie alles aus
Jetzt kann jede Konfiguration durch zweimaliges Drücken von ⌃ gestartet werden:

Oder öffnen Sie ein Projekt, indem Sie open
eingeben.
Plugins
Das Erscheinungsbild des Abschnitts mit Plugins in der IDE wurde komplett neu gestaltet:

Versionskontrolle
Jetzt können wir mit Git-Submodulen arbeiten und bequem Pull-Anfragen von Github anzeigen:

Kontrastreiches Thema
Jetzt ist es - sowohl für den Editor als auch für die IDE (Sie können unter Preferences | Appearance & Behavior | Appearance
auswählen):

Was weiter?
Wir planen, die nächste Version ausschließlich der Behebung von Problemen zu widmen. Eine Ausnahme bildet die Unterstützung neuer Versionen von Swift. Im Allgemeinen mehr Stabilität, bessere automatische Vervollständigung mit Navigation und Hintergrundbeleuchtung, weniger Arbeitsstörungen.
Das ist alles! Laden Sie - wie immer - Fehler wie immer in den Tracker herunter und stellen Sie hier allgemeine Fragen.