Question

Xcode prend-il en charge quelque chose de similaire aux directives #region de style Visual Studio pour le pliage de code arbitraire?

Était-ce utile?

La solution

Non, vous ne pouvez plier le code que sur différents niveaux définis dans Xcode.

Vous pouvez utiliser de petites astuces pour faciliter la navigation dans le menu des fonctions.

#pragma mark

Vous permet de créer un groupe dans lequel l’étiquette suivante apparaîtra dans le menu des fonctions. Si l’étiquette est un trait d’union, un séparateur est inséré dans le menu des fonctions.

De plus, les étiquettes suivantes dans les commentaires apparaîtront dans le menu des fonctions:

// MARK:
// TODO:
// FIXME:
// !!!:
// ???:

Évidemment, puisque #pragma mark n’est pas vraiment portable, si vous construisez une application portable et que vous avez besoin de travailler avec un compilateur qui n’ignore pas uniquement les directives #pragma qu’il ne comprend pas, la marque de style commentaire est une alternative décente.

Autres conseils

Je vais au diable pour ça, mais voilà:

Au début d'un fichier donné, mettez

#define FOLD 1

Où que vous souhaitiez plier quelque chose, placez-le dans un bloc if comme suit:

if(FOLD) {
 // your code to hide
 // more code
}

Cela vous permettra de le dissimuler.

Cela ne fonctionnera pas à l'endroit souhaité, c'est-à-dire autour de groupes de fonctions ou de méthodes.

Cela peut être utile dans une méthode longue et linéaire sans condition ni condition internes, mais ces méthodes ne sont pas courantes dans le code d'interface utilisateur Mac OS X. Toutefois, si vous écrivez un gros code de nature numérique ou graphique, pourrait aider les choses de groupe.

Et le if (fold) est totalement superflu. Utilisez simplement les accolades dans une méthode ou une fonction et Xcode les pliera.

Essayez de cette façon:

//region title1
{
    //region Subtitl1
    {

    }
    //region Subtitl2
    {

    }
}

On peut faire comme ça:

Cela peut se faire comme ça:

Sans la prise en charge des régions de style .Net, il est tout à fait préférable de pouvoir réduire toutes vos fonctions en même temps.

commande - option - décaler - flèche gauche tout effacer.

commande - option - décaler - flèche vers la droite tout développer.

Xcode se souviendra du dernier état des fonctions réduites.

Placez le code souhaité entre crochets {} pour qu'il devienne une zone de pliage.

Mais vous devez garder à l'esprit que les crochets définissent également les variables, donc ce code ne doit pas avoir de déclarations de variables qui seront utilisées en dehors de ces crochets.

Une belle solution que je viens de trouver:

Mettez votre projet dans un seul grand espace de noms. Fermez et rouvrez cet espace de noms pour les sections individuelles de votre fichier source:

namespace myproj { // members of class MyClassA

void MyClassA::dosomething()
{
}

void MyClassA::dosomethingelse()
{
}

} // members of class MyClassA
namespace myproj { // members of MyClassB

void MyClassB::dosomething()
{
}

void MyClassB::dosomethingelse()
{
}

} // members of MyClassB
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top