Pergunta

Sou um novato completo em Xcode/Objective-C/Cocoa, mas estou aprendendo rápido e realmente começando a gostar de me familiarizar com uma nova linguagem, plataforma e paradigma.

Uma coisa é que, tendo usado o Visual Studio com R # por tanto tempo, fiquei meio estragado com as ferramentas de codificação, como refatorações e conclusão, etc. e, pelo que posso dizer, o Xcode tem algum suporte integrado bastante limitado para isso coisa.

Por falar nisso, alguém sabe se algum suplemento ou qualquer outra coisa está disponível para o ambiente Xcode que adiciona auxiliares de codificação, como a geração automática de esqueletos de implementação a partir de uma definição de interface de classe, etc.?

Suspeito que não, mas suponho que não adianta perguntar.

Foi útil?

Solução

Você parece estar procurando três coisas principais:modelos de código, ferramentas de refatoração e preenchimento automático.

A boa notícia é que o Xcode 3 e versões posteriores vêm com excelente preenchimento automático e suporte a modelos.Por padrão, você deve solicitar explicitamente a conclusão pressionando a tecla Escape.(Isso realmente funciona em todos NSTextViewé;experimente!) Se quiser que as conclusões apareçam automaticamente, você pode ir para Preferências -> Sentido de código e configure o pop-up para aparecer automaticamente após alguns segundos.Você deve encontrar boas conclusões para código C e Objective-C, e boas conclusões para C++.

O Xcode também possui um sistema de modelo/esqueleto sólido que você pode usar.Você pode ver quais modelos estão disponíveis por padrão em Editar -> Inserir macro de texto.Claro, você não deseja inserir macros de texto com o mouse;isso anula o ponto.Em vez disso, você tem duas opções:

  1. De volta Preferências,Vá para Combinações de teclas, e então, sob Atalhos de teclas de menu, atribua um atalho específico às macros que você usa com frequência.Pessoalmente, não me preocupo em fazer isso, mas conheço muitos desenvolvedores de Mac excelentes que fazem
  2. Use o CompletionPrefix.Por padrão, quase todos os modelos têm um prefixo especial que, se você digitar e pressionar a tecla Escape, resultará na inserção do modelo.Você pode usar Control-/ para mover-se entre os campos de preenchimento.

    Você pode ver uma lista completa das macros padrão do Xcode e suas associadas CompletionPrefixé no Giro torto.

    Você também pode adicionar suas próprias macros ou modificar os padrões.Para fazer isso, edite o arquivo /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro.A sintaxe deve ser autoexplicativa, se não muito amigável.

Infelizmente, se você é viciado em R#, ficará desapontado com suas opções de refatoração.A refatoração básica é fornecida no Xcode por meio do menu de contexto ou pressionando Shift-Apple-J.A partir daí, você pode extrair e renomear métodos, promovê-los e rebaixá-los por meio da hierarquia de classes e algumas outras operações comuns.Infelizmente, nem o Xcode nem quaisquer utilitários de terceiros oferecem algo que se aproxime do Resharper, então, nesse aspecto, você está sem sorte.Felizmente, a Apple já demonstrou versões do Xcode em andamento que melhoraram enormemente os recursos de refatoração, então esperamos que você não precise esperar muito antes que a situação comece a melhorar.

Outras dicas

Estou animado em dizer que a JetBrains decidiu fazer um IDE decente para codificadores Objective-C.

É chamado Código de aplicativo e é baseado em outras ferramentas como RubyMine e Resharper.Não é o Cocoa nativo, mas tem muito poder de refatoração bruto.

http://www.jetbrains.com/objc/index.html

Comecei a usá-lo no meu projeto principal do Objective C e já estou apaixonado.Ainda está na infância, mas para edição e refatoração de código já surpreende o Xcode.

Atualizar

Agora está em uma velocidade totalmente utilizável.Mudei para ele em tempo integral e ainda me surpreende como a refatoração e a codificação são incríveis em comparação com o Xcode.Ele cuida de muitas coisas para você - importação automática, personalização quase infinita.Faz o Xcode parecer um brinquedo.

O Xcode possui refatoração para C e Objective-C integrada.Basta selecionar o que você deseja refatorar, escolher "Refatorar..." na barra de menu ou no menu contextual e você verá uma janela incluindo as refatorações disponíveis e uma área de visualização.

Atualmente, o Xcode não possui uma API de plug-in pública;se houver tipos específicos de plug-ins que você gostaria que a Apple habilitasse, solicitações de aprimoramento de arquivo no Repórter de Bugs.Dessa forma, a Apple pode contar e rastrear tais solicitações.

No entanto, existem ferramentas de terceiros como Acessórios e mogenerator (a versão mais recente é mogenerator 1.10) que você pode usar para agilizar diversas tarefas de desenvolvimento.O Accessorizer ajuda você a criar métodos acessadores para suas classes, enquanto mogenerator faz geração de código mais avançada para classes de objetos gerenciados Core Data que são modelados usando as ferramentas de modelagem do Xcode.

Só para que as pessoas saibam, Acessórios faz mais do que apenas gerar acessadores (1.0 e propriedades para 2.0), ele também gera código Core Data para atributos não padrão persistentes, seus acessadores NSSet para relacionamentos personalizados para muitos.

Na verdade, Acessórios ajudará a fornecer a você init, keypath, arquivamento com chave, acessadores indexados, acessadores para coleções não ordenadas como NSSet, copyWithZone, KVO, validação de chave, substituições de singleton, dealloc, setNilForKey, persistência de atributos não padrão (Core Data), bloqueio, headerdoc, método de conversão em seletor, métodos NSUndoManager e muito mais.

Encontrei alguns arquivos xtmacro no pacote Xcode.app:/Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources

Instalado o Xcode versão.3.2.5.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top