2014-11-19 15 views
6

Sto tentando di aggiungere un gruppo di associazioni di tasti personalizzate a Xcode 6. Ho cercato nei post precedenti e ho scoperto che per fare ciò è necessario modificare il file Default.idekeybindings che si trova nel Xcode -> -> UserData combinazioni di tasti -> Default.ideakeybindingsAggiunta di combinazioni di tasti personalizzate a XCode

ho modificato questo a seconda di come è stato fatto nelle precedenti versioni, ma quando vado nelle preferenze -> combinazioni di tasti all'interno di Xcode i non sono in grado di trovare l'azione personalizzata che ho definito. Mi piacerebbe idealmente creare una sola "linea di copia", "linea di taglio", "linea duplicata" e qualche altra utile associazione di tasti che ho imparato ad apprezzare usando Sublime e Atom. Ho incluso i miei contenuti del file .ideakeybindings qui sotto per riferimento a ciò che sto cercando di fare.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>My Custom Actions</key> 
    <dict> 
     <key>Delete Current Line/Selection</key> 
     <string>deleteToEndOfLine:, deleteToBeginningOfParagraph:</string> 
     <key>Duplicate Line</key> 
     <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:</string> 
    </dict> 
</dict> 
</plist> 

risposta

7

Ho fatto questo su Xcode 7:

  • Chiudi Xcode
  • Aprire il file /Applications/Xcode-Beta.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist con privilegi sudo (assicurati di utilizzare la directory app corretta per la versione di Xcode che stai utilizzando --- per Xcode 6.3 beta mio era Xcode-Beta.app)
  • Aggiungi i tuoi comandi personalizzati, salva e avvia Xcode.
  • associazioni dei tasti impostato nelle preferenze Xcode

Ho aggiunto questa sezione:

<key>My Custom Commands</key> 
<dict> 
    <key>Insert New Line Below</key> 
    <string>moveToEndOfLine:, insertNewline:</string> 
    <key>Insert New Line Above</key> 
    <string>moveUp:, moveToEndOfLine:, insertNewline:</string> 
    <key>Duplicate Current Line</key> 
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string> 
    <key>Delete Current Line</key> 
    <string>selectLine:, delete:</string> 
    <key>Cut Current Line</key> 
    <string>selectLine:, cut:</string> 
    <key>Copy Current Line</key> 
    <string>setMark:, selectLine:, copy:, moveToEndOfLine:, swapWithMark:</string> 
    <key>Paste At Beginning Of Line</key> 
    <string>moveToBeginningOfLine:, paste:</string> 
</dict> 

Dato che questo viene sovrascritto ogni volta che si installa una nuova versione di Xcode, una posizione impostazioni utente per i comandi personalizzati farebbe essere davvero apprezzato se qualcuno sa dove aggiungerli nella directory dell'utente.

+0

Impressionante lavoro, ti guarderò martedì al lavoro e ti spiegherò come funziona (accetterò o commenterò a seconda di cosa succede. Grazie per il tuo aiuto) – Unome

+0

Grazie mille! Questo funziona perfettamente. Per coloro che sono più recenti di Mac di me, inserisci cd in/per accedere a MacHD e poi vai nelle applicazioni, altrimenti non otterrai tutte le applicazioni nell'elenco. – Unome

+0

Grazie! Immagino che stia ancora imparando a muovermi attorno a un Mac - per coloro che non sono riuscito a capire come accedere a questo file tramite Finder (messaggio "Non hai il permesso di vedere il suo contenuto"), sono stato in grado di accedi a questo tramite Terminale usando: "cd /Applicazioni/Xcode-Beta.app/Contents/Frameworks/IDEKit.framework/Resources" (assicurati di utilizzare l'app Xcode giusta!), quindi aprendo il file in un editor di testo (ad esempio TextWrangler) utilizzando: "open -a /Applications/TextWrangler.app IDETextKeyBindingSet.plist". –

3

Utilizzo da anni questo elemento perché sono venuto dal campo Eclipse e mi piace molto "Duplica riga corrente" e "Duplica riga corrente". Nota "Xcode.app" potrebbe essere "Xcode62.app" o "Xcode63.app" a seconda di come lo hai rinominato.

sudo vim /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist 

<key>Customized</key> 
<dict> 
    <key>Duplicate Current Line Up</key> 
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:, moveUp:</string> 
    <key>Duplicate Current Line Down</key> 
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string> 
    <key>Delete Current Line</key> 
    <string>deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:</string> 
</dict> 

Riavviare Xcode | Preferenze | Legami chiave | Tutti

ricerca "Duplica"

ricerca "correnti"

e immettere in combinazioni di tasti di scelta rapida preferito.

Ho imparato questo trucco da qualche parte in SO-thx molto al poster originale. Funziona su Xcode 6.3 ultime versioni beta, Xcode 6.2, 6.1 e precedenti Xcode.

Problemi correlati