Xcode: più combinazioni di tasti per funzione


12

In Xcode mi piacerebbe avere la possibilità di impostare diverse combinazioni di tasti per la stessa funzione. Ad esempio, vorrei che la step overfunzione fosse mappata su entrambi F6e F16. Non vedo un modo per farlo dallo stesso Xcode.

Qualcuno sa un modo per farlo? (Sto usando Xcode 4.2.1)

Risposte:


4

Ho studiato un po 'la tua domanda. A livello nativo sembra che non ci sia modo di specificare più scorciatoie per la stessa funzione: ho provato ad aprire il ~/Library/Prefences/com.apple.dt.Xcode.plistfile e modificare manualmente l' NSUserKeyEquivalentsaggiunta di un elemento duplicato per Step Over, ma all'avvio di Xcode l'elemento duplicato è stato automaticamente eliminato (ha senso da quando l'elemento di avvolgimento è chiamato <dict>).

Ho trovato un modo approssimativo per impostare il secondo collegamento, ispirato a questo articolo . Le istruzioni sono per OS X 10.8:

  1. in System Preferences, sotto Accessibilityabilita Enable access for assistive devices;
  2. scarica e installa Quicksilver , un launcher gratuito per OS X;
  3. salva la seguente cartella AppleScript in Documents (ad esempio con il nome StepOver.scpt) - assicurati di copiare anche i ¬caratteri. Questo script attiva Xcode e seleziona la Step Overfunzione.

    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. avviare QuickSilver e accedere a Preferenze -> Trigger -> Trigger personalizzati

  5. crea un nuovo trigger, in cui apri lo StepOver.scptscript usando il tasto di scelta rapida desiderato (nella schermata che ho usato F10). Nella scheda Ambito è possibile specificare che il trigger funziona solo in Xcode. esempio di innesco
  6. a questo punto il collegamento aggiuntivo dovrebbe funzionare, ho creato un'applicazione di base C ++ per console in Xcode e potrei passare oltre utilizzando F6(come collegamento "standard") e F10(come collegamento aggiuntivo configurato con QuickSilver).

Come nota finale, potresti anche valutare un software per creare macro come Keyboard Maestro : è commerciale e non l'ho provato.


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 1funziona altrettanto bene senza ulteriore codice di configurazione.
Daniel Beck

Grazie @DanielBeck, non ho familiarità con AppleScript. Ho modificato la mia risposta e semplificato questa parte utilizzando il tuo suggerimento: ora il codice è più leggibile.
edymtt,

Questo funziona! È un po 'complicato da configurare, ma ci sono voluti solo circa 2 minuti. Penso che mi piace Quicksilver come strumento che potrei usare per alcune altre cose. Grazie per averlo capito!
joseph.hainline il

0

È possibile utilizzare il mappatore delle scorciatoie da tastiera per questo processo, vedere l'immagine allegata.

inserisci qui la descrizione dell'immagine

Spero che questo ti aiuta


Speravo così tanto che avrebbe funzionato! Quando l'ho provato, funzionava solo la scorciatoia da tastiera F16 e F6 non funzionava più all'interno di XCode (faceva solo suonare l'errore invece di fare qualsiasi cosa). I mapping a livello di sistema sembrano sovrascrivere i mapping a livello di app. Sto usando XCode 4.5.2 e OSX 10.8.2. Ha funzionato per te e quali versioni stai usando?
joseph.hainline,

Ciao, mi dispiace che non sia completo; y usi correttamente ctrl + f6 questo funzionerà insieme a f16 che è il migliore che penso tu possa ottenere le mie scuse.
Justin Erswell il

Grazie per il tentativo, ma immagino che quello che sto cercando non sia semplicemente possibile. Ctrl + F6 è un comando diverso da F6. Quando eseguo il mapping a livello di sistema, ignora solo il livello dell'app. Sto davvero cercando di ottenere due tasti associati contemporaneamente alla stessa funzione.
joseph.hainline,

0

Lo faccio con Keyboard Maestro. È possibile assegnare un comando a una o più applicazioni o globale. È un fantastico software senza il quale non posso vivere. È il miglior software che abbia mai acquistato. Saresti scioccato nel vedere quante associazioni chiave ho.

In allegato è un'immagine in cui associo un tasto di scelta rapida a una voce di menu. Ignora l'azione oscurata nell'immagine. Inizia con "Esegui macro". Selezione menu è l'azione desiderata

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.