Tengo una base de código Objective-C algo formateada desordenadamente. ¿Hay alguna manera de hacer que Xcode vuelva a formatear todo un proyecto para que se ajuste a un estándar de codificación (es decir, sangría adecuada, espacios v. Pestañas, etc.)? ¿Hay otras herramientas que puedan lograr esto?Objective-C Tidy
Respuesta
Uncrustify: http://uncrustify.sourceforge.net/
Fuente Código Beautifier para C, C++, C#, ObjectiveC, D, Java, Hipoteca y VALA
Si quieres algo más sencillo, que probablemente podría consiga algo de camino simplemente eliminando todos los espacios en blanco/saltos de línea, y agregando un nuevo salto de línea en ;
{
}
, y vuelva a aplicar el código manualmente. No estará en ningún lugar cerca del código perfectamente diseñado, y la reinfección podría ser un dolor en el código grande, pero será consistente.
De acuerdo con este blog post, bcpp funciona con Objective-C.
Además, la sangría de la herramienta podría ayudarlo. Está dirigido a la C sencilla, pero tiene muchas opciones que podrían ayudar. No sé si viene de manera predeterminada en OS X.
NAME
indent - changes the appearance of a C program by inserting or deleting
whitespace.
SYNOPSIS
indent [options] [input-files]
indent [options] [single-input-file] [-o output-file]
indent --version
DESCRIPTION
This man page is generated from the file indent.texinfo. This is Ediâ
tion of "The indent Manual", for Indent Version , last updated .
The indent program can be used to make code easier to read. It can
also convert from one style of writing C to another.
indent understands a substantial amount about the syntax of C, but it
also attempts to cope with incomplete and misformed syntax.
Una solución simple, pero limitada, es Editar-> Formato-> Volver a Sangría en Xcode, que aplicará su configuración de sangría actual (Xcode-> Preferences ... -> Sangría).
Rellenar las elipsis: Xcode-> Preferences-> Text Editing-> Indentation – tomblah
De Xcode:
1) Cambiar las preferencias de sangría para que coincida con lo que usted quiere.
2) Seleccione un archivo para trabajar y Seleccionar todo (cmd-A)
3) se desplazan a izquierda (cmd- [) varias veces hasta que todas las líneas están en el borde izquierdo de la ventana.
4) Usar selección Re-sangría (de Editar-> Formato> o haga clic en el botón derecho del menú contextual)
sólo funciona en un archivo al mismo tiempo, no todo el proyecto. También solo trata con sangría.
Después de retocar con los formateadores externos múltiples y el formateador externo débil de xcode, finalmente resolví con uncrustify. Uncrustify tiene bastante buena compatibilidad con Objective-C, puede integrarse fácilmente con xcode como script de usuario y proporciona un formateador centralizado para casi todos los idiomas soportados por xcode.
El obstáculo más grande con uncrustify es el desalentador archivo de configuración. Mi recomendación, tomar una de las configuraciones de muestra suministradas (ben2.cfg es muy buena), combinar en la muestra objc.cfg y modificar según sea necesario.
Un camino a seguir que utiliza Uncrustify en un contexto diferente es
La única función de la "GTMXcodePlugin", también conocido como Google caja de herramientas para Mac Xcode Plugin - hace un gran trabajo de ordenando el código objetivo-c, recortando espacios en blanco de manera efectiva y segura.
The GTM Xcode 4 plugin actualmente sólo añade un elemento de menú "limpiar espacios en blanco" al final del menú "Editar" para eliminar extremo innecesario de la línea de espacio en blanco de archivos de texto. Esperemos que agreguemos más características pronto. Solo se ha probado contra Xcode 4.2.
La forma más nueva y mejor de hacer esto, al momento de escribir esto, es SpaceCommander. Se basa en la parte superior de clang, y tiene muchas otras características geniales, y se mantiene y activa a medida que escribo esto.
- 1. PowerShell Code Tidy or Reformat?
- 2. Bloc de notas ++ HTML Tidy
- 3. ¿Una alternativa a php tidy?
- 4. Bloques ObjectiveC equivalente en Java
- 5. objectivec: fb publicar comentario error
- 6. ObjectiveC Parse Integer from String
- 7. JSON String tidy/formateador para Java
- 8. HTML tidy/cleaning en Ruby 1.9
- 9. ¿Existe una alternativa a HTML Tidy?
- 10. ¿Cómo obtener xdmp: tidy() para ordenar HTML5?
- 11. Komodo Edit - Reformateo de HTML/Tidy
- 12. Tidy salida de HTML con javascript
- 13. Configuración y uso de HTML Tidy
- 14. HTML Tidy nueva línea vacía después de etiquetas de cierre
- 15. Biblioteca para Tidy Up Python Code usando las convenciones pep8
- 16. enviar una notificación desde javascript en UIWebView a ObjectiveC
- 17. ObjectiveC: ¿dónde declarar las propiedades de instancias privadas?
- 18. Cómo dividir la nueva línea de NSString en ObjectiveC
- 19. ¿Cómo implementar un puente sin cargo en ObjectiveC/C?
- 20. Diferencia entre NSLog y sentencia printf para ObjectiveC
- 21. ObjectiveC que pasa alrededor ... nula terminado listas de argumentos
- 22. obteniendo el error "invalid_client" en la muestra gdata-objectivec-client
- 23. ¿Puedo colocar un ObjectiveC @selector en un NSDictionary?
- 24. Uso de librerías estáticas C/C++ desde iPhone Aplicaciones ObjectiveC
- 25. Pros y contras del uso de excepción en IOS/ObjectiveC
- 26. Ayuda con código GCC y ObjectiveC y Cygwin
- 27. ¿Cómo podemos capturar comentarios secundarios usando Perl :: Tidy o Perl :: Critic?
- 28. ¿Cómo consigo HTML Tidy para no poner nueva línea antes de cerrar las etiquetas?
- 29. Eclipse Galileo SQL Editor: ¿hay una función de formateador de código (tidy)?
- 30. Configuración de HTML Tidy a las etiquetas de sangría y nada más en Notepad ++
desenterrar únicamente por el nombre del proyecto – slf
ahora también estoy usando uncrustify por un tiempo, y puedo votarlo también. – Moszi