39 votes

XCode: ajustement de l'indentation des accolades générées automatiquement?

Le code généré automatiquement par XCode semble avoir l'accolade ouvreur sur la même ligne par défaut:

 @interface Controller : NSObject {

}
 

J'aimerais que l'accolade ouvrante soit distincte, comme ceci:

 @interface Controller : NSObject 
{

}
 

Cela s'applique en général à toute méthode / classe générée automatiquement par XCode. Dans les préférences XCode, l'option "Indent solo {by" est définie sur 0: texte alternatif

Comment puis-je réparer cela?

22voto

Laughing_Jack Points 785

Pour une réponse plus spécifique, si vous ouvrez une session de terminal et entrez
defaults write com.apple.Xcode XCCodeSenseFormattingOptions '{ "BlockSeparator" = "\n" ; }'
il va commencer de nouveaux blocs de code sur une nouvelle ligne. Notez que vous devrez redémarrer XCode si vous l’avez ouvert pour que les nouvelles valeurs par défaut soient lues et utilisées.

8voto

Peter Hosey Points 66275

Les commandes Nouveau projet et Nouveau fichier ne génèrent pas vraiment de code ; ils remplissent des modèles .

Vous devrez créer vos propres modèles (probablement basés sur ceux d'Apple) avec les modifications souhaitées.

Dans Xcode 3.1 , les modèles de stock sont en /Developer/Library/Xcode . Vos copies modifiées seront mises en ~/Library/Application Support/Developer/Shared/Xcode . Faites attention aux sous-dossiers de ces dossiers.

7voto

Mike Shields Points 196

Lisez ceci: XCCodeSenseFormattingOptions

Ce document décrit toutes les options de formatage que l'auto-complétion utilisera pour les styles d'accolade et d'argument. Voici les miens:

     XCCodeSenseFormattingOptions =     {
    BlockSeparator = "\\n";
    PreMethodDeclSpacing = "";
};
 

7voto

Sakari Points 41

C’est quelque chose que je voudrais voir aussi, je n’aime pas les accolades de la «nouvelle école» sur la même ligne que les fonctions ou le contrôle de boucle.

Lors de l'édition et de la réorganisation des lignes de code, il est plus facile de garder tout ce qui est pertinent sur une seule ligne. Les accolades ne doivent définir que la portée, elles ne font pas partie de la définition de la fonction ou de l'exécution du programme (comme dans if, for etc.).

La modification de tous les modèles n'est pas vraiment une bonne solution, mais merci pour l'info de toute façon.

3voto

gavin Points 25

Si vous souhaitez avoir de votre choix de style dans toutes les situations, vous avez besoin d'une combinaison de Laughing_Jack la réponse de Peter Hosey de réponse. En plus de ce que Peter Hosey dit, vous pouvez également savoir que le Cocoa Touch fichier de modèles sont dans l'emplacement suivant. Vous pouvez copier le répertoire de vos modèles personnalisés trop:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/File Templates/Cocoa Touch Classes/

Xcode Utilisateur par Défaut de vous donner à votre style lorsque vous tapez le code à la main, les modèles de fichier lors de l'auto-génération d'une nouvelle classe etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X