Pergunta

O Xcode suporte nada parecido com as directivas estilo #region do Visual Studio para o desdobramento de código arbitrário?

Foi útil?

Solução

Não, você só pode dobrar código em vários níveis de escopo definidos no Xcode.

Você pode usar pequenos truques para tornar a navegação através do menu de funções mais fácil, no entanto.

#pragma mark

Permite criar um agrupamento onde a seguinte marca de etiqueta irá aparecer no menu de funções. Se a etiqueta é um hífen, um separador é inserido no menu de funções.

Além disso, os seguintes rótulos nos comentários aparecerão no menu de funções:

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

Obviamente desde marca #pragma não é realmente portátil, se você está construindo uma aplicação portátil e precisa dele para trabalhar com um compilador que não simplesmente ignorar #pragma directivas que não entende, a marca de estilo de comentário é uma alternativa decente.

Outras dicas

Eu estou indo para o inferno por isso, mas aqui vai:

No topo de um determinado arquivo, coloque

#define FOLD 1

Onde quer que você quer desistir de algo, envolvê-la em um bloco if assim:

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

Isso vai deixar você dobrá-lo longe da vista.

Isso não vai funcionar no lugar que você quer mais, ou seja, em torno de grupos de funções ou métodos.

Pode ser útil dentro, um método muito tempo linear sem condicionais internos ou loops, mas tais métodos não são comuns no código geral Mac OS X UI, embora se você estiver escrevendo um código numérico grande ou gráficos esmaga-lo poderia ajudar as coisas em grupo.

E o if (dobrar) é totalmente supérfluo. Basta usar as chaves dentro de um método ou função e Xcode irá dobrá-los.

Tente desta forma:

//region title1
{
    //region Subtitl1
    {

    }
    //region Subtitl2
    {

    }
}

Ele pode fazer assim:

Pode fazer assim:

Sem o apoio às regiões estilo .Net, sendo capaz de recolher todas as suas funções, ao mesmo tempo é a próxima melhor coisa.

comando - opção - mudar - seta esquerda para recolher todos.

comando - opção - mudança - seta para a direita para expandir todos.

Xcode vai lembrar o último estado de funções em colapso.

Coloque seu código desejado dentro de chaves {}, e ele vai se tornar uma zona de dobra.

Mas você tem que ter em mente que suportes também definir o escopo variáveis, de modo que este código não deve ter variáveis ??declarações que serão utilizados fora destes suportes.

Uma solução agradável Eu só encontrado:

Coloque seu projeto em um grande espaço de nomes. Feche e abra novamente este espaço de nomes para as seções individuais do seu arquivo de origem:

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top