objective-c - tools - xcode ide
Regiones de Xcode (7)
¿Xcode admite algo parecido a las directivas de #region
estilo de Visual Studio para el plegado de código arbitrario?
No, solo puede doblar el código en varios niveles de alcance definidos en Xcode.
Sin embargo, puede utilizar pequeños trucos para facilitar la navegación a través del menú de funciones.
#pragma mark
Le permite crear una agrupación donde aparecerá la siguiente marca de etiqueta en el menú de funciones. Si la etiqueta es un guión, se inserta un separador en el menú de funciones.
Además, las siguientes etiquetas en los comentarios aparecerán en el menú de funciones:
// MARK:
// TODO:
// FIXME:
// !!!:
// ???:
Obviamente, dado que #pragma mark no es realmente portátil, si está creando una aplicación portátil y necesita que funcione con un compilador que no solo ignore las directivas #pragma que no comprende, la marca de estilo de comentario es una decente alternativa.
Eso no funcionará en el lugar que más desea, es decir, alrededor de grupos de funciones o métodos.
Puede ser útil dentro de un método largo y lineal sin condicionales internos o bucles, pero tales métodos no son comunes en el código general de UI de Mac OS X, aunque si está escribiendo un gran código numérico o de generación de gráficos podría ayudar al grupo cosas.
Y el if (fold) es completamente superfluo. Simplemente use las llaves dentro de un método o función y Xcode los doblará.
Me voy al infierno por esto, pero aquí va:
En la parte superior de un archivo dado, pon
#define FOLD 1
Donde sea que quieras doblar algo, envuélvelo en un bloque si así:
if(FOLD) {
// your code to hide
// more code
}
Eso te permitirá retirarlo de la vista.
Una buena solución que acabo de encontrar:
Pon tu proyecto en un gran espacio de nombres. Cierre y vuelva a abrir este espacio de nombres para las secciones individuales de su archivo fuente:
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
Coloque el código deseado entre corchetes {}, y se convertirá en una zona de plegado.
Pero debe tener en cuenta que los corchetes también definen el alcance de las variables, por lo que este código no debe tener declaraciones de variables que se utilizarán fuera de estos corchetes.
Pruebe de esta manera:
//region title1
{
//region Subtitl1
{
}
//region Subtitl2
{
}
}
Puede hacer eso:
Sin soporte para las regiones de estilo .Net, ser capaz de colapsar todas sus funciones al mismo tiempo es la mejor opción.
comando - opción - desplazamiento - flecha izquierda para contraer todo.
comando - opción - desplazamiento - flecha derecha para expandir todo.
Xcode recordará el último estado de las funciones colapsadas.