2009-10-01 12 views
11

Estoy trabajando con XCode 3.2 (en "Snow Leopard") que (todavía) tiene esta agradable función de autocompletar "Macro de texto" (por ejemplo, si tipo if se expandirá a if (<#condition#>) { <#statements#> }). Estas macros también están disponibles a través de "Editar-> Insertar macro de texto".XCode 3.2: Cambio de la indentación de "Sentido de código" predeterminado y espacios en blanco

Lamentablemente, las plantillas predeterminadas no coinciden con mi adorada indentación y el estilo de espacio en blanco, por lo que me gustaría modificarlas.

De acuerdo con this slightly outdated StackOverflow thread, las definiciones correspondientes deben ubicarse en /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro pero no puedo encontrar nada allí con Snow Leopard y XCode 3.2 (no estoy seguro de cuál es el responsable).

¿Alguien ha notado dónde se encuentran actualmente las Macros de texto definidas por Apple?

Respuesta

21

Los únicos archivos **. Xctxtmacro * en mi sistema se encontraban dentro del paquete XCode.app. Después de echar un rápido vistazo a las definiciones, encontré una forma completamente diferente de adaptar el formato de todas las macros predefinidas:

¡Simplemente puede establecer los valores predeterminados de usuario XCCodeSenseFormattingOptions para modificar las líneas nuevas predeterminadas y otros espacios en blanco dentro de todas las macros!

Por ejemplo la macro "if-else" se parece a esto por defecto:

if (<#condition#>) { 
    <#statements#> 
} else { 
    <#statements#> 
} 

Después de ejecutar el comando

defaults write com.apple.Xcode XCCodeSenseFormattingOptions 
-dict PreExpressionsSpacing "" BlockSeparator "\n" PostBlockSeparator "\n" 

se parece a esto (que yo prefiero):

if(<#condition#>) 
{ 
    <#statements#> 
} 
else 
{ 
    <#statements#> 
} 
0

Creo que "defaults write com.apple.Xcode" no funciona en las últimas versiones de Xcode.

La solución consiste en editar los fragmentos de código predeterminados.

Sin embargo, Xcode no permite modificar los fragmentos de código predeterminados.

Para modificarlos, puede descargar un programa de "Edición de fragmentos" de here

Cuestiones relacionadas