Question

Je suis un débutant complet en Xcode/Objective-C/Cocoa mais j'apprends vite et je commence vraiment à aimer me familiariser avec un nouveau langage, une nouvelle plateforme et un nouveau paradigme.

Une chose est cependant, ayant utilisé Visual Studio avec R# pendant si longtemps, j'ai en quelque sorte été gâté par les outils de codage tels que les refactorisations et la complétion, etc. et pour autant que je sache, Xcode a une prise en charge intégrée assez limitée pour cela truc.

À ce sujet, est-ce que quelqu'un sait si des compléments ou autres sont disponibles pour l'environnement Xcode qui ajoutent des aides au codage telles que la génération automatique de squelettes d'implémentation à partir d'une définition d'interface de classe, etc.

Je soupçonne qu'il n'y en a pas, mais je suppose que cela ne peut s'empêcher de demander.

Était-ce utile?

La solution

Vous semblez rechercher trois choses principales :modèles de code, outils de refactoring et saisie semi-automatique.

La bonne nouvelle est que Xcode 3 et versions ultérieures sont dotés d'une superbe prise en charge de la saisie semi-automatique et des modèles.Par défaut, vous devez demander explicitement la fin en appuyant sur la touche d'échappement.(Cela fonctionne réellement dans tous NSTextViews ;essayez-le !) Si vous souhaitez que les complétions apparaissent automatiquement, vous pouvez aller sur Préférences -> Sens du code et configurez la fenêtre contextuelle pour qu'elle apparaisse automatiquement après quelques secondes.Vous devriez trouver de bonnes complétions pour le code C et Objective-C, et de très bonnes complétions pour C++.

Xcode dispose également d'un système de modèle/squelette solide que vous pouvez utiliser.Vous pouvez voir quels modèles sont disponibles par défaut en allant dans Édition -> Insérer une macro de texte.Bien entendu, vous ne souhaitez pas insérer de macros de texte avec la souris ;cela va à l’encontre du but.Au lieu de cela, vous avez deux options :

  1. De retour Préférences,aller à Raccourcis clavier, puis, sous Liaisons des touches de menu, attribuez un raccourci spécifique aux macros que vous utilisez souvent.Personnellement, cela ne me dérange pas, mais je connais beaucoup de grands développeurs Mac qui le font.
  2. Utilisez le CompletionPrefix.Par défaut, presque tous les modèles ont un préfixe spécial qui, si vous tapez puis appuyez sur la touche d'échappement, entraînera l'insertion du modèle.Vous pouvez utiliser Control-/ pour vous déplacer entre les champs de complétion.

    Tu peux voir une liste complète des macros par défaut de Xcode et de leurs associées CompletionPrefixes à Rotation tordue.

    Vous pouvez également ajouter vos propres macros ou modifier les valeurs par défaut.Pour ce faire, éditez le fichier /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro.La syntaxe doit être explicite, voire très conviviale.

Malheureusement, si vous êtes accro à R#, vous serez déçu par vos options de refactoring.La refactorisation de base est fournie dans Xcode via le menu contextuel ou en appuyant sur Shift-Apple-J.À partir de là, vous pouvez extraire et renommer des méthodes, les promouvoir et les rétrograder via la hiérarchie des classes, ainsi que quelques autres opérations courantes.Malheureusement, ni Xcode ni aucun utilitaire tiers n'offrent quoi que ce soit qui se rapproche de Resharper, donc sur ce front, vous n'avez actuellement pas de chance.Heureusement, Apple a déjà présenté des versions de Xcode en cours de réalisation qui offrent des capacités de refactorisation considérablement améliorées. J'espère donc que vous n'aurez pas à attendre trop longtemps avant que la situation ne commence à s'améliorer.

Autres conseils

Je suis ravi de dire que JetBrains a décidé de créer un IDE décent pour les codeurs Objective-C.

C'est appelé Code d'application et il est basé sur leurs autres outils comme RubyMine et Resharper.Ce n'est pas du Cocoa natif, mais il possède une grande puissance de refactorisation brute.

http://www.jetbrains.com/objc/index.html

J'ai commencé à l'utiliser pour mon projet principal Objective C et j'en suis déjà amoureux.Il en est encore à ses balbutiements, mais pour l'édition et la refactorisation du code, il époustoufle déjà Xcode.

Mise à jour

C'est maintenant à une vitesse totalement utilisable.J'y suis passé à plein temps et je suis toujours époustouflé à quel point la refactorisation et le codage sont incroyables par rapport à Xcode.Il gère tellement de choses pour vous : importation automatique, personnalisation presque infinie.Cela fait ressembler Xcode à un jouet.

Xcode intègre une refactorisation pour C et Objective-C.Sélectionnez simplement ce que vous souhaitez refactoriser, choisissez "Refactoriser..." dans la barre de menu ou dans le menu contextuel, et vous obtiendrez une fenêtre comprenant les refactorisations disponibles et une zone d'aperçu.

Xcode ne dispose actuellement pas d'API de plug-in publique ;S'il existe des types spécifiques de plug-ins que vous souhaitez qu'Apple active, déposez les demandes d'amélioration dans le Journaliste de bogues.De cette façon, Apple peut compter et suivre ces demandes.

Cependant, il existe des outils tiers comme Accessoiriste et mogenerator (la dernière version est mogenerator 1.10) que vous pouvez utiliser pour accélérer diverses tâches de développement.Accessorizer vous aide à créer des méthodes d'accès pour vos classes, tout en mogenerator effectue une génération de code plus avancée pour les classes d'objets gérés Core Data qui sont modélisées à l'aide des outils de modélisation de Xcode.

Juste pour que les gens sachent, Accessoiriste fait plus que simplement générer des accesseurs (à la fois 1.0 et des propriétés pour 2.0), il génère également du code Core Data pour les attributs non standard persistants, vos accesseurs NSSet pour les relations personnalisées à plusieurs.

En fait, Accessoiriste vous aidera à vous fournir l'initialisation, le chemin de clé, l'archivage par clé, les accesseurs indexés, les accesseurs pour les collections non ordonnées telles que NSSet, copyWithZone, KVO, la validation de clé, les remplacements de singleton, dealloc, setNilForKey, la persistance d'attributs non standard (données de base), verrouillage, headerdoc, méthode de conversion en sélecteur, méthodes NSUndoManager et plus encore.

J'ai trouvé des fichiers xtmacro dans le package Xcode.app :/Développeur/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources

Xcode ver installé.3.2.5.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top