Pregunta

¿Xcode admite algo similar a las directivas #region de estilo Visual Studio para el plegado de código arbitrario?

¿Fue útil?

Solución

No, solo puede plegar código en varios niveles de definición definidos en Xcode.

Puede usar pequeños trucos para facilitar la navegación a través del menú de funciones.

#pragma mark

Le permite crear una agrupación donde la etiqueta que sigue a la marca aparecerá 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 la marca #pragma no es realmente portátil, si está compilando una aplicación portátil y necesita que funcione con un compilador que no solo ignora las directivas #pragma que no entiende, la marca de estilo de comentario es una alternativa decente.

Otros consejos

Voy al infierno por esto, pero aquí va:

En la parte superior de un archivo dado, coloque

#define FOLD 1

Donde quiera doblar algo, envuélvalo en un bloque if así:

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

Eso te permitirá doblarlo fuera de la vista.

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 la interfaz de usuario de Mac OS X, aunque si está escribiendo algún código numérico grande o de procesamiento de gráficos podría ayudar a agrupar cosas.

Y el if (fold) es completamente superfluo. Simplemente use las llaves dentro de un método o función y Xcode las doblará.

Pruebe de esta manera:

//region title1
{
    //region Subtitl1
    {

    }
    //region Subtitl2
    {

    }
}

Puede hacer así:

Se puede hacer así:

Sin soporte para las regiones de estilo .Net, poder colapsar todas sus funciones al mismo tiempo es la siguiente mejor opción.

comando - opción - shift - flecha izquierda para colapsar todo.

comando - opción - shift - flecha derecha para expandir todo.

Xcode recordará el último estado de las funciones contraídas.

Coloque el código deseado entre paréntesis {}, 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.

Una buena solución que acabo de encontrar:

Coloque su 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top