Domanda

Xcode supporta qualcosa di simile alle direttive #region in stile Visual Studio per la piegatura arbitraria del codice?

È stato utile?

Soluzione

No, puoi solo piegare il codice su vari livelli di ambito definiti in Xcode.

Puoi usare piccoli trucchi per rendere più facile la navigazione attraverso il menu delle funzioni.

#pragma mark

Consente di creare un raggruppamento in cui nel menu delle funzioni verrà visualizzato l'etichetta seguente. Se l'etichetta è un trattino, un separatore viene inserito nel menu delle funzioni.

Inoltre, le seguenti etichette nei commenti appariranno nel menu delle funzioni:

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

Ovviamente poiché il marchio #pragma non è realmente portatile, se stai costruendo un'applicazione portatile e ne hai bisogno per lavorare con un compilatore che non ignori solo le direttive #pragma che non capisce, il segno in stile commento è un'alternativa decente.

Altri suggerimenti

Sto andando all'inferno per questo, ma qui va:

Nella parte superiore di un determinato file, inserisci

#define FOLD 1

Ovunque tu voglia piegare qualcosa, avvolgilo in un blocco if in questo modo:

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

Questo ti permetterà di ripiegarlo lontano dalla vista.

Che non funzionerà nel posto che preferisci, ovvero attorno a gruppi di funzioni o metodi.

Potrebbe essere utile all'interno di un metodo lungo e lineare senza condizionali o loop interni, ma tali metodi non sono comuni nel codice dell'interfaccia utente generale di Mac OS X, anche se se stai scrivendo un grande codice numerico o grafico-scricchiolante esso potrebbe aiutare a raggruppare le cose.

E if (fold) è del tutto superfluo. Usa semplicemente le parentesi graffe all'interno di un metodo o una funzione e Xcode le piegherà.

Prova in questo modo:

//region title1
{
    //region Subtitl1
    {

    }
    //region Subtitl2
    {

    }
}

Può fare così:

Può fare così:

Senza il supporto per le aree in stile .Net, essere in grado di comprimere tutte le tue funzioni allo stesso tempo è la prossima cosa migliore.

comando - opzione - shift - freccia sinistra per comprimere tutto.

comando - opzione - shift - freccia destra per espandere tutto.

Xcode ricorderà l'ultimo stato delle funzioni compresse.

Metti il ??codice desiderato tra parentesi {} e diventerà una zona pieghevole.

Ma devi tenere presente che le parentesi definiscono anche l'ambito delle variabili, quindi questo codice non dovrebbe avere dichiarazioni di variabili che verranno utilizzate al di fuori di queste parentesi.

Una bella soluzione che ho appena trovato:

Metti il ??tuo progetto in un grande spazio dei nomi. Chiudi e riapri questo spazio dei nomi per le singole sezioni del tuo file sorgente:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top