Pregunta

Soy un completo novato en Xcode/Objective-C/Cocoa, pero estoy aprendiendo rápido y realmente estoy empezando a disfrutar familiarizándome con un nuevo lenguaje, plataforma y paradigma.

Sin embargo, una cosa es que después de haber estado usando Visual Studio con R# durante tanto tiempo, me han echado a perder las herramientas de codificación, como refactorizaciones y finalización, etc., y hasta donde puedo decir, Xcode tiene un soporte integrado bastante limitado para esto. cosa.

En ese sentido, ¿alguien sabe si hay complementos o lo que sea que esté disponible para el entorno Xcode que agregue ayudas de codificación, como generar automáticamente esqueletos de implementación a partir de una definición de interfaz de clase, etc.?

Sospecho que no los hay, pero supongo que no sirve de nada preguntar.

¿Fue útil?

Solución

Suena como si estuviera buscando tres cosas principales:plantillas de código, herramientas de refactorización y autocompletado.

La buena noticia es que Xcode 3 y posteriores vienen con un excelente autocompletado y compatibilidad con plantillas.De forma predeterminada, debe solicitar explícitamente la finalización presionando la tecla Escape.(Esto realmente funciona en todos NSTextViews;¡pruébalo!) Si quieres que las terminaciones aparezcan automáticamente, puedes ir a Preferencias -> Sentido del código y configure la ventana emergente para que aparezca automáticamente después de unos segundos.Debería encontrar buenas terminaciones para código C y Objective-C, y bastante buenas terminaciones para C++.

Xcode también tiene un sólido sistema de plantilla/esqueleto que puedes usar.Puede ver qué plantillas están disponibles de forma predeterminada yendo a Editar -> Insertar macro de texto.Por supuesto, no deseas insertar macros de texto con el mouse;eso derrota el punto.En cambio, tienes dos opciones:

  1. De nuevo en Preferencias,ir a Atajos de teclado, y luego, bajo Atajos de teclas de menú, asigne un acceso directo específico a las macros que utiliza con frecuencia.Personalmente no me molesto en hacer esto, pero conozco a muchos grandes desarrolladores de Mac que sí lo hacen.
  2. Utilizar el CompletionPrefix.De forma predeterminada, casi todas las plantillas tienen un prefijo especial que, si escribe y luego presiona la tecla Escape, la plantilla se insertará.Puede utilizar Control-/ para moverse entre los campos de finalización.

    Puedes ver una lista completa de las macros predeterminadas de Xcode y sus asociadas CompletionPrefixes en Giro torcido.

    También puede agregar sus propias macros o modificar los valores predeterminados.Para hacerlo, edite el archivo. /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro.La sintaxis debe explicarse por sí misma, si no muy amigable.

Desafortunadamente, si es adicto a R#, sus opciones de refactorización lo decepcionarán.La refactorización básica se proporciona dentro de Xcode a través del menú contextual o presionando Shift-Apple-J.Desde allí, puede extraer y cambiar el nombre de métodos, promoverlos y degradarlos a través de la jerarquía de clases y algunas otras operaciones comunes.Desafortunadamente, ni Xcode ni ninguna utilidad de terceros ofrecen nada parecido a Resharper, por lo que en ese frente, actualmente no tienes suerte.Afortunadamente, Apple ya ha demostrado versiones de Xcode en proceso que han mejorado enormemente las capacidades de refactorización, por lo que con suerte no tendrá que esperar demasiado antes de que la situación comience a mejorar.

Otros consejos

Me emociona decir que JetBrains ha decidido crear un IDE decente para codificadores Objective-C.

Se llama Código de aplicación y se basa en otras herramientas como RubyMine y Resharper.No es Cocoa nativo, pero tiene un montón de poder de refactorización en bruto.

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

Empecé a usarlo para mi proyecto principal de Objective C y ya estoy enamorado.Todavía está en su infancia, pero para la edición y refactorización de código ya supera a Xcode.

Actualizar

Ahora está a una velocidad totalmente utilizable.Me cambié a él a tiempo completo y todavía me sorprende lo increíble que es la refactorización y codificación en comparación con Xcode.Se encarga de muchas cosas por usted: importación automática y personalización casi infinita.Hace que Xcode parezca un juguete.

Xcode tiene incorporada la refactorización para C y Objective-C.Simplemente seleccione lo que desea refactorizar, elija "Refactorizar..." ya sea en la barra de menú o en el menú contextual, y obtendrá una ventana que incluye las refactorizaciones disponibles y un área de vista previa.

Xcode actualmente no tiene una API de complemento pública;Si hay tipos específicos de complementos que le gustaría que Apple habilite, presente las solicitudes de mejora en el Reportero de errores.De esa manera Apple puede contar y rastrear dichas solicitudes.

Sin embargo, existen herramientas de terceros como Accesorio y mogenerator (la última versión es mogenerator 1.10) que puede utilizar para acelerar varias tareas de desarrollo.Accessorizer te ayuda a crear métodos de acceso para tus clases, mientras mogenerator realiza una generación de código más avanzada para clases de objetos administrados de Core Data que se modelan utilizando las herramientas de modelado de Xcode.

Sólo para que la gente sepa, Accesorio hace más que simplemente generar descriptores de acceso (tanto 1.0 como propiedades para 2.0), también genera código de datos básicos para atributos no estándar persistentes, sus descriptores de acceso NSSet para relaciones personalizadas entre muchos.

De hecho, Accesorio le ayudará a proporcionarle el inicio, la ruta clave, el archivo con clave, los descriptores de acceso indexados, los descriptores de acceso para colecciones desordenadas como NSSet, copyWithZone, KVO, validación de claves, anulaciones de singleton, dealloc, setNilForKey, persistencia de atributos no estándar (datos básicos), bloqueo, headerdoc, convertir método a selector, métodos NSUndoManager y más.

Encontré algunos archivos xtmacro en el paquete Xcode.app:/Desarrollador/Aplicaciones/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources

Versión Xcode instalada.3.2.5.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top