2010-02-20 7 views
15

Al usar autocompletar para completar los argumentos del método, la mayoría de las veces debe haber un punto y coma al final.XCode Semicolon después de Autocompletar

Parece que debe haber algún atajo de teclado para poner en el punto y coma (y tal vez una nueva línea) al final, pero no puedo encontrarlo.

Gracias.

edición: Tal vez la pregunta no es clara, al terminar un método de autocompletar el cursor se ve así:

someMethod(argument1, argument2) 
          ^cursor here 

Quizás sea porque no estoy acostumbrado al teclado del macbook, o porque mi memoria muscular quiere usar "fin" en lugar de flecha derecha o comando flecha derecha. Pero como el IDE ya me está ayudando a saltar el código con pestañas, sería bueno poder regresar y agregar el punto y coma, o al menos moverlo a la derecha de la paren cercana.

+0

Puede escribir un punto y coma y presionar CTRL + T para transponer los dos caracteres. –

+0

Hubo un plugin como se describe [aquí] (http://nfarina.com/post/428544140/there-i-fixed-xcode-youre-welcome) que hizo exactamente lo que tú y yo queremos, pero solo en Xcode 3. I Sin embargo, me gustaría tener mi punto y coma en el lugar correcto en Xcode 4. – JJD

+0

@StuartCarnie: Publique su comentario como respuesta. ¡Bastante útil! Gracias. – Rakesh

Respuesta

0

Si te entiendo correctamente, la respuesta correcta sería que debería haber hecho demasiados accesos directos para recordar autocompletar + punto y coma, autocompletar + doblepar, autocompletar + paréntesis, etc., mientras que puedes simplemente autocompletar y luego golpear una clave (punto y coma, doble punto, paréntesis, etc., etc.). Si realmente está terminando la mayoría de sus autocompletos con un punto y coma, entonces puede echar un vistazo a macros de finalización de código y/o obdev completion dictionnary que incluye macros personalizadas.

+1

Komodo Edit, por ejemplo, permite macros, y puede agregar "ctrl +;" y hazlo justo (flecha a la derecha y luego agrega punto y coma). Si XCode tiene macros, debería ser fácil agregar uno de la misma manera. – nicorellius

0

No he visto un atajo. Normalmente solo muevo el cursor manualmente; usando la opción-derecha para saltar al final de la última palabra y luego varias pulsaciones de la tecla derecha para moverse por el carácter.

Una razón por la que esto no se implementa puede deberse a que los métodos y funciones están anidados a menudo, y que agregar puntos y comas anularía la anidación y luego tomaría más trabajo para eliminarlos que agregarlos manualmente después de cada línea.

¿Esto es de un SDK diferente que ha utilizado?

+3

Eclipse moverá el cursor fuera del paréntesis final como el último autocompletado. Es solo una de esas pequeñas cosas que realmente no extrañas hasta que ya no la tienes. – Winder

+0

Parece que es una buena idea. Presente un informe de error en http://bugreport.apple.com. – JoePasq

2

XCode admite (muchos) comandos de navegación del teclado estilo Emacs. En particular, puede usar ctrl-e para pasar el cursor al final de la línea, donde puede colocar el punto y coma.

1

Conozco este comportamiento del eclipse. Autocompleta algo, luego solo presiona enter y luego el cursor está después del código de autocopletado y luego puedes escribir punto y coma.

Acabo de ver su pregunta mientras buscaba algo así como ese comportamiento y no pude encontrar realmente algo, ¿cómo puedo lograrlo?

Es realmente molesto mover la mano derecha sobre las teclas de flecha mientras escribe. No es exactamente lo que está buscando pero, ayuda:

De las preferencias de xcode configuré un acceso directo para "Mover al extremo derecho de la línea" shift + enter. Después de la autocompletación, solo presione shift + enter, es mejor que usar las teclas de flecha para mí.

2

Una opción que tiene en XCode 4 (probado en la 4.5.2) es enlazar (Preferencias → Enlaces de teclas) el "Reparar el próximo problema (Navegar en el menú)" comando con una pulsación de tecla sensible.

Tenga en cuenta que está cerrado como el control conmutado-alternativa del "salto al siguiente Emisión (" navegar por el menú)" de comandos por lo que tendrá que jugar con eso para encontrar algo que le guste. Personalmente, yo uso Ctrl + Shift + Enter para este aprieto.

printf("hello, world") => <key binding> => printf("hello, world"); 
        ^           ^

también es posible que desee echar un vistazo a "Fix edición anterior ..." y "arreglar todo en el ámbito ..." comandos.

+0

+1 agradable. La mejor respuesta para la pregunta. Sin embargo, este acceso directo no funciona en archivos .h. – yair

+0

A * Me gustaría * pensar que realmente "arregle" otros "problemas" similares. Es decir: complete cualquier sintaxis requerida obvia (agregue llaves de apertura y cierre después de las instrucciones condicionales, cierre paréntesis y corchetes, etc.). Sé que IntelliJ lo tiene para el desarrollo de Java y es * el * atajo más útil. – yair

1

Puede escribir un punto y coma y presionar CTRL + T para tran spose los dos personajes.

Cuestiones relacionadas