Xcode: múltiples combinaciones de teclas por función


12

En Xcode, me gustaría poder configurar varias asociaciones de teclas para la misma función. Por ejemplo, me gustaría que la step overfunción se asigne a ambos F6y F16. No veo una manera de hacer esto desde el propio Xcode.

¿Sabe alguien una forma de hacer ésto? (Estoy usando Xcode 4.2.1)

Respuestas:


4

Investigué un poco sobre tu pregunta. Nativamente parece que no hay forma de especificar múltiples accesos directos para la misma función: he intentado abrir el ~/Library/Prefences/com.apple.dt.Xcode.plistarchivo y editar manualmente NSUserKeyEquivalentsagregar un elemento duplicado Step Over, pero al iniciar Xcode el elemento duplicado se eliminó automáticamente (tiene sentido ya que el elemento de envoltura se llama <dict>).

He encontrado una forma aproximada de establecer el segundo acceso directo, inspirado en este artículo . Las instrucciones son para OS X 10.8:

  1. en System Preferences, debajo de Accessibilityhabilitar Enable access for assistive devices;
  2. descargue e instale Quicksilver , un iniciador gratuito para OS X;
  3. guarde el siguiente AppleScript en la carpeta Documentos (por ejemplo, con nombre StepOver.scpt); asegúrese de copiar también los ¬caracteres. Este script activa Xcode y selecciona la Step Overfunción.

    tell application "Xcode"
        activate
    end tell
    
    tell application "System Events" ¬
    to tell process "Xcode" ¬
    to click menu item "Step Over" ¬
    of menu "Debug" of menu item "Debug" ¬
    of menu "Product" of menu bar item "Product" ¬
    of menu bar 1
    
  4. inicie QuickSilver y navegue a Preferencias -> Activadores -> Activadores personalizados

  5. cree un nuevo disparador, en el que abra la StepOver.scptsecuencia de comandos con la tecla de acceso rápido que desee (en la captura de pantalla que he usado F10). En la pestaña Alcance, puede especificar que el disparador solo funcione en Xcode. ejemplo de disparo
  6. en este punto, el acceso directo adicional debería funcionar, he creado una aplicación básica de consola C ++ en Xcode y podría dejar de usar F6(como acceso directo "estándar") y F10(como acceso directo adicional configurado con QuickSilver).

Como nota final, también podría evaluar el software para crear macros como Keyboard Maestro : es comercial y no lo he probado.


1
tell application "System Events" to tell process "Xcode" to click menu item "Step Over" of menu "Debug" of menu item "Debug" of menu "Product" of menu bar item "Product" of menu bar 1funciona igual de bien sin un código de configuración adicional.
Daniel Beck

Gracias @DanielBeck, no estoy familiarizado con AppleScript. Edité mi respuesta y simplifiqué esta parte usando su sugerencia; ahora el código es más legible.
edymtt

¡Esto funciona! Es un poco complicado de configurar, pero solo tomó unos 2 minutos. Creo que me gusta Quicksilver como una herramienta que podría usar para algunas otras cosas. ¡Gracias por resolver esto!
joseph.hainline

0

Puede usar el mapeador de atajos de teclado para este proceso. Vea la imagen adjunta.

ingrese la descripción de la imagen aquí

Espero que esto te ayude


¡Tenía tantas esperanzas de que esto funcionaría! Cuando lo probé, solo el método abreviado de teclado F16 funcionó, y F6 ya no funcionó desde XCode (solo hizo que el error sonara en lugar de hacer nada). Las asignaciones de nivel de sistema parecen sobrescribir las asignaciones de nivel de aplicación. Estoy usando XCode 4.5.2 y OSX 10.8.2. ¿Funcionó para usted y qué versiones está utilizando?
joseph.hainline

Hola, lo siento, no estaba completo; y uso correcto ctrl + f6, esto funcionará junto con f16, que es lo mejor, creo que puedes obtener mis disculpas.
Justin Erswell

Gracias por el intento, pero supongo que lo que estoy buscando simplemente no es posible. Ctrl + F6 es un comando diferente que F6. Cuando mapeo en el nivel del sistema, simplemente anula el nivel de la aplicación. Realmente estoy tratando de asignar dos teclas al mismo tiempo a la misma función.
joseph.hainline

0

Hago esto con Keyboard Maestro. Puede asignar un comando a una o más aplicaciones o global. Es un software fantástico sin el que no puedo vivir. Es el mejor software que he comprado. Te sorprendería ver cuántas combinaciones de teclas tengo.

Se adjunta una imagen donde mapeo una tecla de acceso rápido a un elemento del menú. Ignora la acción atenuada en la imagen. Comienza con "Ejecutar macro". Seleccionar menú es la acción que deseas

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.