Con una gran afluencia de novatos a Xcode, estoy seguro de que hay muchos consejos y trucos de Xcode para compartir.
¿Cuáles son los suyos?
Con una gran afluencia de novatos a Xcode, estoy seguro de que hay muchos consejos y trucos de Xcode para compartir.
¿Cuáles son los suyos?
Respuestas:
Option ⌥ Command ⌘ Up Arrow ↑
Ver > Cambiar a encabezado / archivo de origen
Cambia entre los archivos .m
y .h
.
- En Xcode 4 esto es ctrl Command ⌘ Up Arrow ↑
⌘ Command+ Double-Click on a symbol
: Salta a la definición de un símbolo.
⌥ Option+ Double-Click on a symbol
: Buscar texto en la documentación de un símbolo. (Solo funciona si tiene instalado el conjunto de documentos de su símbolo).
La barra de favoritos es como la que tiene en Safari para almacenar, bueno, favoritos. A menudo lo uso como un lugar para almacenar accesos directos (que puede hacer arrastrando y soltando) a los archivos que estoy usando en este momento. En general, esto es más útil cuando estoy trabajando con un proyecto grande o desconocido.
Para mostrar la barra de favoritos, seleccione la siguiente opción de menú:
View
> Layout
>Show Favorites Bar
Tab ⇥O Control ⌃ /: Seleccione el siguiente argumento de autocompletado.
Shift ⇧ Tab ⇥O Shift ⇧ Control ⌃ /: Seleccione el argumento de autocompletado anterior.
Escape ⎋: Muestra la lista emergente de finalización automática.
Cuando intente deshacer después de guardar, recibirá el siguiente mensaje:
"Está a punto de deshacer el último punto en que se guardó este archivo. ¿Desea hacer esto?"
Para deshacerse de esta advertencia, ingrese lo siguiente en una ventana de terminal:
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
Pegue esto en la aplicación Terminal:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
com.yourcompanyname
" en todas sus plantillas:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
com.yourcompany
valor que usa normalmente para crear un dispositivo. Usé BBEdit's multi-find-and-replace después de abrir todo el directorio. Debería reemplazar el valor en todos los info.plist
archivos. Encontré 8 archivos para cambiar. El número de veces que ha fallado una compilación porque olvidé cambiar esta cadena es ridículo.
- Control ⌃ Option ⌥ Shift ⇧ + <Primera letra del nombre de un grupo>
Si mantiene presionadas las tres teclas anteriores, puede saltar rápidamente a los grupos en la página izquierda (Grupos y archivos) presionando la primera letra del nombre de un grupo. Por ejemplo, lo Control ⌃Option ⌥Shift ⇧Tlleva a Objetivos y Control ⌃Option ⌥Shift ⇧Sa Origen . Presiónelo nuevamente y salta a SCM. A veces toma varios intentos para que esto funcione (no sé por qué).
Control ⌃ .
Shift ⇧ Control ⌃ .: Retrocede entre las opciones de autocompletado.
Control ⌃.(Control-Period) después de una palabra acepta automáticamente la primera opción del menú de autocompletado. Pruebe a escribir log
a continuación, Control ⌃. y obtendrá un buen NSLog
comunicado. Presiónelo nuevamente para recorrer las opciones. Para ver todas las opciones mutables, escriba NSMu
entonces Control ⌃..
Control ⌃ Command ⌘ ? (Mientras el cursor está en el símbolo para buscar)
Option ⌥ + <Doble clic en un símbolo>
Ayuda> Ayuda rápida
Para acceder a la documentación desde la ventana de Ayuda rápida, haga clic en el icono del libro en la esquina superior derecha.
- Command ⌘ Option ⌥ + <Doble clic en un símbolo>
Te lleva directamente a la documentación completa.
- Command ⌘ Control ⌃ + <Doble clic en el editor>
Use el acceso directo anterior para una forma extraña de seleccionar varias palabras. Puede hacer selecciones de palabras en lugares totalmente diferentes, luego eliminarlas o copiarlas todas a la vez. No estoy seguro si esto es útil. Es Xcode solo hasta donde puedo decir.
Este truco funciona en todas las aplicaciones de Cocoa en Mac (TextEdit, Mail, etc.) y es posiblemente una de las cosas más útiles para saber.
- Command ⌘ Left Arrowo Command ⌘ Right ArrowTe lleva al principio y al final de una línea.
- Control ^ ay Control ^ ehacer lo mismo
- Control ^ ny Control ^ pMueva el cursor hacia arriba o hacia abajo una línea.
- Control ^ fy Control ^ bmueva el cursor hacia atrás o hacia adelante un espacio
Al presionar Shift ⇧con cualquiera de estos, se selecciona el texto entre los puntos de movimiento. Coloque el cursor en el medio de una línea y presione Shift ⇧ Control ^ ey puede seleccionar hasta el final de la línea.
Presionar Option ⌥le permitirá navegar palabras con el teclado. Option ⌥ Control ^ fsalta al final de la palabra actual. Option ⌥ Control ^ bsalta al comienzo de la palabra actual. También puede usar Option ⌥con las teclas de flecha izquierda y derecha para moverse de una palabra a la vez.
Prueba con NSMutableArray
. Puede cambiarlo rápidamente NSArray
colocando el cursor después de NS
, presionando Shift ⇧ Control ^ Right Arrowluego Delete.
Command ⌘ Shift ⇧ D
Archivo > Abrir rápidamente ...
Soy un gran admirador de la función Open Quickly , que es particularmente buena en Xcode 3.1 y versiones posteriores. Cuando desee abrir un archivo o una definición de símbolo que esté en su proyecto o en un marco, simplemente presione el atajo de teclado, escriba un poco del nombre del archivo o símbolo, use Up Arrow ↑y Down Arrow ↓para elegir el resultado correcto (si es necesario), y luego presione Return ↩para abrir el archivo o navegar a la definición del símbolo.
En Xcode 4:
- Command ⌘ Shift ⇧ o
Además, algo que no sabía sobre Xcode hasta hace dos minutos (cuando Schwa lo señaló en un comentario) es que, si el texto del editor está dentro de una palabra cuando se invoca Abrir rápidamente , esa palabra se usará como Abrir rápidamente el término de búsqueda.
Puedes usar:
#pragma mark Foo
... como una forma de organizar métodos en sus archivos fuente. Al buscar símbolos a través del menú emergente, lo que coloque Foo
aparecerá en negrita en la lista.
Para mostrar un separador (es decir, una línea horizontal), use:
#pragma mark -
Es muy útil, especialmente para agrupar métodos delegados u otros grupos de métodos.
# TODO
declaraciones. Ahora sólo falta que también sería agarrar # XXX
, que se utiliza comúnmente en el código base de trabajo I sobre ...
Siempre debe tener un punto de interrupción activadoobjc_exception_throw
.
Utiliza el siguiente código:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... para depurar problemas de retención y liberación. Para obtener más información, consulte la sección "Búsqueda de pérdidas de memoria" del documento de aplicaciones de depuración de Apple .
Command ⌘+ Double-click
en un objeto en la ventana de documento de Interface Builder para saltar a esa clase en Xcode. Esto es muy útil con File's Owner .
Arrastre un objeto personalizado nuevamente a la Biblioteca de Interface Builder para su posterior reutilización.
Control ⌃ Shift ⇧+ Click
en un objeto en Interface Builder para ver un menú de todos los objetos debajo del mouse.
Ctrl+ 2: Acceda a la lista emergente de métodos y símbolos en el archivo actual.
Esto es súper útil porque con este acceso directo puede navegar a través de un archivo completamente usando el teclado. Cuando llegue a la lista, comience a escribir caracteres y la lista seleccionará con el símbolo que está buscando.
Si su ventana muestra los detalles y la vista del editor, puede acercar el editor para expandir la vista del editor a la altura completa de la ventana. (Esto es bastante fácil de encontrar, pero muchos parecen pasarlo por alto).
Puede hacerlo utilizando uno de los siguientes métodos:
Command ⌘ Shift ⇧ E
Ver > Zoom Editor en
Arrastre el divisor (entre la ventana del editor y la lista de archivos arriba) hacia arriba.
Obtenga la lista de atajos de teclado Xcode completa de Colin Wheeler (disponible como PDF o PNG). Imprímalo y manténgalo en algún lugar visible (lo tengo en la pared al lado de mi pantalla).
No se trata de un método abreviado de teclado, pero los comentarios TODO en la fuente aparecen en el menú desplegable de método / función en la parte superior del editor.
Así por ejemplo:
// TODO: Some task that needs to be done.
aparece en la lista desplegable de métodos y funciones para que pueda saltar directamente a él.
La mayoría de los IDE de Java muestran un marcador para estas etiquetas de tareas en la barra de desplazamiento, que es mejor, pero esto también funciona.
# XXX
, y no los ve.
⌘- [y ⌘-] para sangrar y desangrar texto seleccionado. Hace que la limpieza del código fuente sea mucho más fácil.
Haga doble clic en los corchetes o paréntesis para obtener una correspondencia entre paréntesis y paréntesis.
Controle el editor de texto de Xcode desde la línea de comando: xed
> xed -x # open a new untitled document
> xed -xc foo.txt # create foo.txt and open it
> xed -l 2000 foo.txt # open foo.txt and go to line 2000
# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile
> man xed # there's a man page, too
xed was introduced in Mac OS X 10.5 with Xcode 3.0.
"Ctrl + Flecha izquierda / derecha" para hacer una navegación de texto entre palabras. Uso esta función para saltar el cursor de una "joroba de camello" en una variable a la siguiente.
Xcode admite macros de texto que se pueden invocar a través del menú Insertar macro de texto al final de Editar menú . También se pueden invocar utilizando Code Sense, la tecnología de finalización de código de Xcode.
Por ejemplo, al escribir la secuencia de teclas p i m control-period
se insertará #import "file"
en su código, file
como un token editable al igual que con la finalización del código.
Haga clic derecho sobre una variable en su función y haga clic en editar todo dentro del alcance. Lo he estado usando mucho desde que descubrí esto.
ctrl ⌘ T
Puede hacer que Xcode ejecute el preprocesador sobre su archivo Info.plist:
<key> CFBundleShortVersionString </key> #ifdef DEBUG <string> 1.0 (depuración) </string> #más <string> 1.0 </string> #terminara si
Consulte http://developer.apple.com/technotes/tn2007/tn2175.html para más detalles.
Depuración: cómo usar GDB
Aún siendo nuevo en esto, encuentro que atrapar e identificar fallas es un trabajo bastante desalentador. La consola, a pesar de ser una herramienta poderosa, generalmente no produce resultados muy intuitivos y saber lo que está viendo en el depurador puede ser igualmente difícil de entender. Con la ayuda de algunos de ellos en Stack Overflow y el buen artículo sobre depuración que se puede encontrar en Cocoa With Love, se vuelve un poco más amigable.
Navegue entre los archivos abiertos de un lado a otro:
⌥⌘ ←
⌥⌘ →
Con Trackpad:
Probado con Xcode 3.2.5.
El navegador de clases en Xcode! Alcanzado presionando shift+ ⌘+c . Puede reducir el alcance para mostrar solo su proyecto activo. Le brinda una vista menos abarrotada siempre que solo desee explorar la jerarquía de clases.
[
en la ubicación correctaVengo de un fondo .NET, así que estoy acostumbrado a escribir un símbolo y luego escribir uno de sus nombres de método. Así que siempre me olvido de incluir el [
antes de comenzar a escribir el nombre del objeto. Por lo general, esto significaba que tendría que ir al comienzo de la línea y agregar el [
manual. No me di cuenta de que solo podía presionar] en la posición actual del cursor, y se agregará automáticamente.
Hay formas de usar esto: después de escribir el nombre de la función o justo antes de escribir el nombre de la función.
myObject testMethod
]
... se convierte en:
[myObject testMethod]
... con el cursor colocado después del ]
.
myObject
]
... se convierte en:
[myObject ]
... con el cursor colocado justo antes del ]
.
La ventaja de este último (2) es que la finalización del código se filtrará en los métodos de su objeto. Mientras que con el primero (1) si intenta invocar la finalización del código inmediatamente después myObject
, no se filtrará. Otra ventaja de (2) es que se comporta más como otros lenguajes de programación que usan notación de puntos. Escribe el nombre del objeto y luego simplemente en ]lugar de .acceder a un método.
Seleccione un bloque de texto y escriba cmd- / para comentarlo. Hazlo de nuevo para eliminar los caracteres de comentarios.
Esto es especialmente útil cuando se combina con la combinación de llaves haciendo doble clic en caracteres equilibrados (parens, llaves, llaves).
Poder ver rápidamente todos los métodos que se pueden anular de una superclase. Por ejemplo, cuando extiendo UITableViewController, simplemente escribo mi implementación:
- ta
y luego presioné ESC para ver todos los métodos de mi superclase que comienzan con "ta" como
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Esto también funciona al adoptar protocolos.
Command ⌘ alt ⌥ shift T : revela el archivo editado actual en el árbol del proyecto.
ctrl+ alt+ ⌘+ rpara borrar el registro
La documentación de referencia de la API de Apple no muestra los métodos heredados de una superclase. A veces, sin embargo. es útil poder ver la gama completa de funcionalidades disponibles para una clase, incluida una clase personalizada propia. Puede usar el Explorador de clases (desde el menú Proyecto) para mostrar una lista plana o jerárquica de todas las clases relacionadas con un proyecto actual. El panel superior en el lado derecho de la ventana del navegador muestra una lista de métodos asociados con el objeto seleccionado en el navegador. Puede usar la hoja Configurar opciones para seleccionar "Mostrar miembros heredados" para mostrar los métodos heredados, así como los definidos por la propia clase seleccionada. Hace clic en el símbolo del libro pequeño para ir a la documentación correspondiente.