Hallo allerseits!
Vor einer Woche haben wir AppCode 2019.1 veröffentlicht - lassen Sie uns über die Änderungen sprechen. Unter dem Schnitt eine Reihe von neuen, nützlichen, korrigierten und ergänzten.

Schnell
Swift 5
Alle neuen Funktionen von Swift 5 funktionieren in AppCode 2019.1 ordnungsgemäß:
Umbenennen
Es gab ein Problem beim Umbenennen überladener Methoden und Methoden der übergeordneten Klasse - aber jetzt ist es nicht vorhanden.
Definition Navigation
Es scheint, dass der Übergang zur Definition einer Methode oder Klasse einfacher und elementarer sein könnte. Standard, vertraute Aktion.
Und all dies trifft in Objective-C zu: Der Typname ist beim Initialisieren des Objekts separat, die Initialisierungsmethode selbst ist separat. Wenn sich der Cursor auf dem Typnamen befindet, fahren wir dementsprechend mit der Definition des Typs fort, wenn er sich auf dem Initialisierer befindet, mit der Definition des Initialisierers. Aber in Swift werden die Dinge komplizierter. Der Initialisierer wurde mit dem Typnamen zusammengeführt. Wenn wir das Verhalten von Xcode reproduzieren, verlieren wir die Möglichkeit, zum Initialisierer zu wechseln. Wenn wir das Verhalten von AppCode 2018.3.x verlassen, brechen wir die Gewohnheit des Benutzers („wie in Xcode“, dh den Übergang nicht zur Initialisierungsdefinition, sondern zur Typdefinition). Aus offensichtlichen Gründen gefällt es den Benutzern nicht.
Als Ergebnis haben wir eine mittlere Lösung entwickelt: Schließlich besteht der Ausdruck, der das Objekt in Swift initialisiert, immer noch aus zwei Teilen. Alles vor Klammern ist ein Typname, und alles darin ist eine Initialisierersignatur. Wenn sich der Cursor auf dem Typnamen befindet, fahren wir mit der Typdefinition fort, wenn sie sich in den Klammern befindet - mit der Initialisierungsdefinition:

Beide Anwendungsfälle werden gespeichert, alle sind glücklich.
Ausdrücke verschieben
Während Xcode-Benutzer mit der Maus auswählen und kopieren und einfügen, setzen AppCode-Benutzer den Cursor auf den Ausdruck und bewegen ihn mit einem leichten Klick vollständig ⇧⌘↑
/ ↓
:

Funktioniert für Schleifen, Funktionen, Methoden, Klassen, Bedingungen im Allgemeinen für fast alles.
Mehrzeilige Literale
Wie verwandle ich ein einzeiliges Literal in ein mehrzeiliges? Klicken ⏎
im AppCode einfach auf ⏎
:

Hintergrundbeleuchtung, automatische Vervollständigung, Codeanalyse und alles in allem
Je korrekter wir den Symbolbaum erstellen, der zum Hervorheben, Codeanalysen, Navigieren und für andere IDE-Funktionen (auch zum Anzeigen von Variablen im Debugger) verwendet wird, desto besser und korrekter funktioniert der AppCode. In dieser Version haben wir einige grundlegende Probleme gelöst, die das Leben der Benutzer beeinträchtigt haben:
- Wir haben begonnen, Bibliothekssymbole für Simulatoren und Geräte zu erstellen. Bisher wurden sie nur für den Simulator erstellt.
- Nachdem sie dies getan hatten, begannen sie, die aktuelle Plattform (Simulator / Gerät) korrekt zu bestimmen und ihren Clang-Annotator korrekt an Objective-C und SourceKit an Swift zu übertragen. Warum ist das wichtig? Beispielsweise zeigt SourceKit keine Fehler und Warnungen an, wenn es für ihn falsch ist, den Ordner mit den Assembly-Produkten in den Argumenten zu übergeben. Dieses Problem sollte verschwinden.
- Wir haben begonnen, DerivedSources und alle in diesem Ordner generierten Quellen (Core Data, Intents) korrekt zu verarbeiten.
Ziel-C / C / C ++
Kollegen von CLion haben Benennungsstile für Codekonstrukte für C / C ++ hinzugefügt, und wir haben sie auch für Objective-C erhalten ( Preferences | Editor | Code Style | C/C++/Objective-C | Naming Convention)
:

Starten und Debuggen
AppCode kann jetzt Prozesse verbinden, die nicht nur auf dem Simulator, sondern auch auf dem Gerät ausgeführt werden ( ⇧⌘A
→ Attach to process
⇧⌘A
):

Es wurde die Möglichkeit hinzugefügt, die Anwendungssprache und -region in den Startkonfigurationseinstellungen auszuwählen:

Run to Cursor kann nicht nur über ⌥F9
, sondern auch durch Klicken auf die Zeilennummer im Editor:

Die Neuberechnung von Variablen während des Debuggens kann jetzt mithilfe der Aktion Variablen stummschalten im Kontextmenü deaktiviert werden:

Themen für die IDE
Ein aufmerksamer Leser hat bereits bemerkt, dass alle Screenshots im Beitrag mit dem neuen Dark Purple- Thema erstellt wurden:

IDE-Themen können jetzt selbst erstellt werden. Zusätzlich zu mehreren von uns erstellten Themen finden Sie bereits mehrere benutzerdefinierte Designoptionen im Plugin-Repository . Und bis zum 3. Mai können Sie nicht nur Ihr eigenes Thema erstellen, sondern auch an einem kürzlich von uns angekündigten Wettbewerb teilnehmen .
Liste der zuletzt angezeigten / geänderten Codefragmente
Es gibt mehrere nützliche Schritte zum Navigieren zu kürzlich geöffneten oder geänderten Stellen in Ihrem Code:
- Aktuelle Dateien (
⌘E
) - Switcher (
⌃⇥
) - Zum letzten Bearbeitungsort
⇧⌘⌫
( ⇧⌘⌫
)
Das Verschieben zum zuletzt bearbeiteten Codeabschnitt ist im Allgemeinen schwer zu überschätzen, insbesondere beim Bearbeiten einer großen Datei.
Jetzt gibt es auch eine Liste der zuletzt angezeigten / geänderten Orte der letzten Standorte ( ⇧⌘E
):

Dies ist die Veröffentlichung. Schreiben Sie alle Fragen, Wünsche und sogar Fehlerberichte hier in die Kommentare - wir werden sie gerne beantworten!
AppCode-Team