Nouveautés d'AppCode 2018.3

Ils ont ajouté la prise en charge de Swift 4.2, effectué la génération et la navigation pour déterminer le type de Swift, amélioré le formatage, pris en charge les extensions iOS dans le débogueur, commencé à mieux fonctionner dans les projets avec plusieurs cibles, et ont également créé un tas de fonctionnalités intéressantes et utiles.


CPAP



Rapide


Pris en charge toutes les fonctionnalités de la version 4.2 qui pourraient affecter l'IDE:


  • SE-0192 (Gestion des cas d'énumération futurs)
  • SE-0193 (Inline et spécialisation inter-modules)
  • SE-0194 (Collection dérivée de cas énumérés)
  • SE-0195 ( types définis par l'utilisateur de «recherche dynamique de membres»)
  • SE-0196 (Directives de diagnostic du compilateur)
  • SE-0212 (Directive sur la version du compilateur)

Si vous avez encore raté quelque chose, assurez-vous d'écrire dans les commentaires. Et sur Swift 5, vous pouvez lire ici .


Génération


Nous avons effectué toutes les actions de génération standard d'Objective-C - initialiseurs, description / debugDescription , hashValue et opérateur de comparaison:


Génération


Pour toutes les actions à l'exception de l'initialiseur, vous pouvez également sélectionner le modèle utilisé pour la génération.


Navigation de définition de type


Tout est simple ici - ⇧⌘B et ⇧⌘B immédiatement à la définition de type:


Navigation de définition de type


Éclairage du point de sortie


Nous avons appris à mettre en évidence les points de sortie en réglant le curseur pour break , continue , try , throw ou return :


Éclairage du point de sortie


Formatage


Dans presque toutes les versions, nous améliorons quelque chose dans le moteur de formatage, voici ce que nous avons fait dans ceci:


  • corrigé l'indentation pour les littéraux de chaîne multi-lignes: Format des littéraux de chaîne
  • ajout de paramètres de formatage de code dans les directives du préprocesseur: Paramètres de directive de préprocesseur
  • a permis de modifier l'alignement des expressions avec l'opérateur ternaire dans Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation

Prise en charge de Swift Package Manager dans CLion


Avec CLion, nous avons non seulement un support général C / C ++, mais aussi un support général Swift. Pendant longtemps, le plugin, qui ajoute la prise en charge des projets SPM dans CLion, a utilisé CMake comme modèle de projet. Cette année, ils ont décidé qu'il n'était plus possible de vivre comme ça - c'était gênant à utiliser, et ils ont soutenu SPM directement. Vous pouvez maintenant travailler comme ceci:



Cela s'est très bien passé, il ne reste plus qu'à finaliser l'intégration avec les tests. Et compte tenu du fait que CLion dispose de la fonctionnalité WebStorm pour éditer HTML / JavaScript, vous pouvez travailler avec des bases de données de la même manière que dans DataGrip , il existe un plugin Docker et bien plus encore, nous obtenons que vous pouvez toujours écrire des backends sur Swift dedans :



Non, nous ne prévoyons pas encore travailler avec SourceKit-LSP. La raison est simple: presque tout est ce qu'il porte avec lui (et ce qu'il ne porte pas encore, aussi).


Objective-C / C / C ++


Projets cibles multiples


Enfin, nous avons résolu les problèmes de mise en évidence et de saisie semi-automatique pour les classes du même nom connectées à différentes cibles dans le projet. Nous prévoyons également de corriger la navigation .


Modifier la signature


Auparavant, lors de la modification de la signature en C / C ++, AppCode perdait les valeurs par défaut des arguments - et maintenant il les traite correctement:


Modifier la signature


La documentation


Nous avons commencé à formater les substitutions de macro dans la documentation rapide ( F1 ):


Formatage des macros


Multiline TODO


Dans AppCode, tous les commentaires du formulaire //FIXME / //TODO peuvent être rapidement visualisés via ⌘6 . Ici, vous pouvez définir des modèles pour vos messages, ce qui est pratique:


Paramètres TODO


Maintenant, nous avons ajouté le support TODO multi-lignes pour Objective-C / C / C ++ - il suffit pour chaque ligne sauf la première d'ajouter un retrait:


Multiline TODO


Code mixte


Correction de problèmes avec le changement de nom des constructions de swift_name en Objective-C et les énumérations dans Swift / Objective-C.


Performances


Ils ont corrigé les frises lors de l'appel de boîtes de dialogue liées à l'exécution de tests, par exemple Exécuter des configurations avec des configurations de test.


Lancement et débogage


Extensions IOS


AppCode a appris à déboguer les extensions iOS - tout comme Xcode:


Prise en charge des extensions IOS


Console LLDB pour Swift


Nous avons corrigé l'auto-complétion dans la console de débogage pour Swift (pour Objective-C / C / C ++ tout fonctionnait comme ça). Tous les partisans p / po et d' expression se réjouissent, les autres, comme auparavant, utilisent l' expression ⌥F8 Expression ( ⌥F8 ):


Saisie automatique dans la console LLDB


Plugin Trainer pour l'IDE


Formateur de fonctionnalités IDE


Souvent, lors des conférences, nous entendons une demande de fournir des documents sur la migration de Xcode vers AppCode, sur les fonctionnalités de l'EDI que vous devez d'abord connaître. Au cours du processus de publication, nous avons fait le premier pas important dans cette direction - nous avons ajouté une pièce pour Swift au formateur de fonctionnalités IDE. L'essentiel est simple - nous installons le plugin, ouvrons les leçons, suivons les instructions et voyons avec des exemples simples quelles sont les opportunités, comment les utiliser et où les trouver. Nous recommandons à tout le monde d'y aller - même si vous utilisez l'IDE depuis longtemps. Avec une forte probabilité, quelque chose de nouveau et d'utile sera toujours trouvé :).


IDE


Cherchez partout


Recherche combinée partout, allez dans Classe / Fichier / Symbole / Action:


Cherchez partout


Exécutez n'importe quoi


Maintenant, n'importe quelle configuration peut être démarrée en appuyant deux fois sur ⌃:


Exécutez n'importe quoi


Ou ouvrez un projet en tapant open .


Plugins


Complètement repensé l'apparence de la section avec des plugins dans l'IDE:


Plugins


Contrôle de version


Maintenant, nous pouvons travailler avec les sous-modules Git et afficher facilement les demandes de tirage de Github:


Tirez la fenêtre de demande pour github


Thème à contraste élevé


Maintenant c'est le cas - à la fois pour l'éditeur et pour l'IDE (vous pouvez sélectionner dans Preferences | Appearance & Behavior | Appearance ):


Thème à contraste élevé


Et ensuite?


Nous prévoyons de consacrer la prochaine version entièrement à la résolution des problèmes. Une exception est la prise en charge des nouvelles versions de Swift. En général, plus de stabilité, une meilleure auto-complétion avec navigation et rétro-éclairage, moins d'interférences au travail.


C’est tout! Comme toujours, téléchargez - ici , les bugs - sur le tracker , posez des questions générales ici.

Source: https://habr.com/ru/post/fr432058/


All Articles