XCode 4 usos "fragmentos de código" para hacer la terminación automática, y se suministra con una biblioteca incorporada de ellos:. puede ver el Código Biblioteca de fragmentos haciendo clic en el icono { }
en el panel de la biblioteca, que probablemente se encuentra en la parte inferior derecha de su XCod principal. e ventana.
Todo de XCode 4 fragmentos de código incorporado en poner la llave de apertura en la misma línea que la declaración - esto es XCode de 4 fragmento de código para una sentencia de if
, por ejemplo:
if (<#condition#>) {
<#statements#>
}
Así que si quería XCode 4 autocompletar de este modo:
if (<#condition#>)
{
<#statements#>
}
... entonces habría que modificar el fragmento de código en consecuencia. Esto, a su vez, conlleva dos problemas:
- Hay 44 fragmentos de código integrados en XCode 4, y tendría que editar cada uno por separado.
- XCode 4 no le permitirá editar los fragmentos de código incorporados.
Estos problemas son más difícil que el simple comando de defaults write
que trabajaba en XCode 3 - pero es posible , si usted está decidido y se puede editar las listas de propiedades, para profundizar en las tripas de XCode 4 y cambie estos fragmentos de código uno por uno.
/Developer/Library/Xcode/PrivatePlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/SystemCodeSnippets.codesnippets
contiene la biblioteca de XCode 4 de fragmentos de código incorporados. Probablemente esto sea evidente, pero debe hacer una copia de seguridad de este archivo antes de cargar y editar, y luego debe hacer otra copia de seguridad y reservar una copia del archivo con los fragmentos de código nuevos y mejorados, porque tendrá Es casi seguro que sobrescribes el contenido de /Developer/Library/Xcode
cuando instalas la próxima versión de XCode 4. (También es posible que Apple cambie el formato de este archivo, agregue nuevos fragmentos de código o haga cualquier cantidad de otras cosas que podrían hacer que esta respuesta sea ineficaz.)
Si tienes Xcode 4.3 o posterior instalado directamente desde App Store, todo está dentro del paquete Xcode.app. La ruta a SystemCodeSnippets.codesnippets es /Applications/Xcode.app/Contents/PlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/SystemCodeSnippets.codesnippets
.
De todos modos, se encuentra el archivo anterior contiene varias entradas como ésta:
<dict>
<key>IDECodeSnippetVersion</key>
<integer>1</integer>
<key>IDECodeSnippetCompletionPrefix</key>
<string>if</string>
<key>IDECodeSnippetContents</key>
<string>if (<#condition#>) {
<#statements#>
}</string>
<key>IDECodeSnippetIdentifier</key>
<string>D70E6D11-0297-4BAB-88AA-86D5D5CBBC5D</string>
<key>IDECodeSnippetLanguage</key>
<string>Xcode.SourceCodeLanguage.C</string>
<key>IDECodeSnippetSummary</key>
<string>Used for executing code only when a certain condition is true.</string>
<key>IDECodeSnippetTitle</key>
<string>If Statement</string>
<key>IDECodeSnippetCompletionScopes</key>
<array>
<string>CodeBlock</string>
</array>
</dict>
Este es el fragmento de código para autocompletar una declaración if
. Edite IDECodeSnippetContents
para colocar la llave de apertura en una nueva línea, guarde su trabajo y luego reinicie XCode 4; si todo va bien, debería poder escribir una declaración if
y ver los resultados.
Tendrá que hacer por lo menos media docena de ediciones más completa automáticamente para cubrir las más comunes (for
, while
, etc.), y si quieres ser exhaustiva que va a tomar alguna parte alrededor de 40 ediciones separadas. Es un montón de trabajo, pero si realmente, realmente quiere que el autocompletado de XCode 4 ponga sus llaves de apertura en una línea separada, se puede hacer.
Tengo el mismo problema. – David
cierto ... mismo problema – xpepermint
Respondí una pregunta similar aquí: (¡Hay una aplicación para eso!) http://stackoverflow.com/questions/4963034/xcode-built-in-snippets-edit/11135963#11135963 – Cocoaholic