Tutti gli sviluppatori hanno un rapporto particolare con la tastiera del proprio computer. In rete infuriano battaglie su quale sia la migliore per programmare. Qualcuno dirà che è necessaria una tastiera ergonomica come questa http://goo.gl/tNWSb, poi ci sono i nostalgici della vecchia IBM Model M http://goo.gl/wNHX, c’è chi dice che sui tasti non è il caso di scrivere nulla http://goo.gl/AtwA. Per non parlare poi del layout dei tasti: io uso US-Universal con dead keys, ma i veri fanatici si scontrano direttamente con il layout QUERTY inneggiando piuttosto al layout Dvorak o Colemak .
Non troverete invece in rete gente che litiga su quale sia il mouse migliore per programmare, come mai? Eppure Il mouse per uno sviluppatore che utilizza Xcode riveste un ruolo molto importante, provate ad aprire Xcode e non usare il mouse, cosa riuscite a fare? probabilmente poco se non vi siete esercitati almeno un po’, eppure riuscire a limitare l’utilizzo del mouse va a beneficio della nostra produttività perché l’utilizzo del mouse è lento e soprattutto ci costringe a togliere le mani dalla loro posizione sulla tastiera.
Purtroppo non posso convincervi dell’utilità di lavorare con la tastiera, ma datemi fiducia e provare almeno *qualche* comando da tastiera, vedrete che mi ringrazierete.
Ecco una lista delle operazioni più utili da fare per iniziare ad abbandonare il mouse
1. Abilitare il focus su tutti i controlli.
Quando ho iniziato ad usare il mac una delle cose più fastidiose erano gli alert di questo tipo, perché mi costringeva ad usare il mouse per cliccare su “ok”.

Fortunatamente poco dopo ho scoperto l’esistenza di un’opzione tra le preferenze che permette tramite tab di spostarsi su tutti i controlli di una finestra e quindi non è più necessario usare il mouse.

2. Muoversi all’interno del testo in modo veloce.
Muoversi all’interno del testo è l’operazione più comune da fare durante il nostro lavoro e sicuramente tutti siete già abituati ad usare le frecce per spostarsi e usare maiuscolo + le frecce per selezionare del testo, ma magari qualcuno non sa che tramite alcuni comandi è possibile spostarsi più velocemente lungo il testo, eccone alcuni:
| Shortcut | Alternativa | Funzionalità |
| cmd + → | ctrl + e | sposta alla fine della riga |
| cmd + ← | ctrl + a | sposta all’inizio della riga |
| ctrl + → | sposta in avanti di una subword | |
| ctrl + ← | sposta indietro di una subword | |
| cmd + → | sposta in avanti di una parola | |
| cmd + ← | sposta indietro di una parola |
Queste combinazioni di tasti possono essere utilizzate anche premendo tasto maiuscolo, in questo caso quello che otterremo è una selezione accurata e veloce del testo.
3. Interagire con Xcode
Una delle opzioni più belle e comode di Xcode è senza dubbio “Open Quickly” raggiungibile dal menù “File” oppure tramite la combinazione di tasti “maiuscolo + cmd + o”

Come dice chiaramente il messaggio basta digitare parte del nome del file che vogliamo aprire per vederlo apparire nell’elenco sottostante, a quel punto “Invio” e avremo il file già pronto nel nostro editor.
Una delle operazioni più comuni da fare durante la scrittura del codice è passare dal file di implementazione al file di dichairazione (.m e .h) e questo è possibile grazie alla combinazione di tasti ctrl+cmd + ↑
Se volete modificare un metodo di cui conoscete già il nome potete usare due strade, la prima è quella del “trova” raggiungibile tramite il comune “cmd+f” ma la versione più semplice è tramite la combinazione di tasti “ctrl+6”. Questa combinazione di tasti farà apparire un popup con i nomi di tutti metodi della classe e sarà possibile o selezionarne uno muovendosi con le frecce della stastiera oppure ancora inizando a digitare il nome del metodo per affinare la ricerca.

4. Project navigator
Il project navigator è la barra comunemente visualizzata a sinistra che mostra l’elenco delle risorse del nostro progetto. Quando riuscirete a navigare velocemente tra i vostri file con i comandi che ho elencato non sarà più necessario averla sempre visibile, potrete quindi nasconderla o visualizzarla premendo “cmd + 0” (cmd + zero)
Le funzionalità all’interno del project navigator (symbol navigator, issue navigator, debug navigator etc) sono tutte raggiungibili tramite “cmd + 1”, “cmd + 2”, “cmd + 3” fino a “cmd + 7” che è il log navigator.
Quanto detto per il project navigator è valido anche per il panello “Utilities” che di norma viene mostrato sulla destra di Xcode, con la variante che bisogna usare anche il tasto “alt”. Quindi “alt+cmd+0” per attivare il pannello, e “alt+cmd+1”, “alt+cmd+2”… per attivare le sue diverse funzioni.
Quando si lavora ad un file è comodo alle volte verificare dove questo file si trovi all’interno del progetto, in questo caso potete usare la combinazione di tasti “maiuscolo + cmd +j” per attivare la funzione “reveal in project navigator” che in pratica vi mostra nel project navigator il file sul quale state attualmente lavorando.
La combinazione di tasti “alt+cmd+j” porta il focus nella textfield di ricerca del project navigator, utile per filtrare velocemente la lista dei file visualizzati nel project navigator.
5. Muoversi tra i panels
Gli editor non sono mai abbastanza, per questa ragione Xcode permette di avere più finestre, ciascuna finestra può avere più tab e ciascuna tab può avere un infinito numero di aree dove visualizzare file di testo…ma come muoversi in questo mare di file aperti?
Navigare tra le diverse finestre (che per inciso si aprono con maiuscolo+cmd+t ) può essere un po’ fastidioso perché la combinazione di tasti predefinita del mac è in conflitto con quella di Xcode. Verificate quindi tra i settings del vostro sistema operativo quale sia la combinazione di tasti corretta

e provate ad usare quella combinazione, se non funziona proseguite nella lettura perché vi spiegherò come modificare le impostazioni predefinite di Xcode.
Per muoversi tra le diverse schede aperte all’interno di una finestra (si aprono con la solita ctrl+t) si utilizza la combinazione di tasti “cmd + maiucolo + }” e “cmd + maiucolo + {” Queste combinazioni di tasti sono comuni praticamente a tutti i programmi che usano le tab, ad esempio anche Safari e Chrome.
Per muoversi all’interno della stessa tab esiste una combinazione di tasti molto comoda che è “cmd + j” che mostra un piccolo navigatore dove è possibile scegliere quale area si vuole attivare.

6. Personalizare e aggiungere shortcut
Xcode consapevole di quanto ogni sviluppatore sia fanatico delle proprie combinazioni di tasti mette a disposizione una nutrita serie di opzioni raggiungibili tramite “preferenze-> Key Bindings”.
In questa schermata potrete verificare se alcuni shortcut sono in conflitto con altri di sistema (come nel caso del punto precedente), potete modificarli e potete aggiungerne di nuovi, infatti molte funzionalità non hanno nessuna combinazione di tasti associata.

Io ho trovato molto utile aggiungere una combinazione di tasti per la funzionalità “Select word” che permette di selezionare interamente la parola dove attualmente si trova il cursore, per il resto ho lasciato tutto come default.
Purtroppo l’editor di testi incluso dentro Xcode non è uno dei più evoluti, diciamo anzi che non è evoluto per niente 🙂 infatti in alcuni casi preferisco utilizzare un editor separato come sublimetext perché offrono delle funzionalità che Xcode non offre, prima su tutte la possibilità di utilizzare più cursori contemporaneamente.
Nella speranza che la prossima release di Xcode ci riservi qualche novità sotto questo aspetto, vi lascio e ci sentiamo alla prossima! Buon divertimento!
PS: il titolo di questo articolo voleva essere “Guarda mamma, senza mouse” poi però ho optato per qualcosa di più serio 🙂











One Response to “TIPS#020 – Usare Xcode senza utilizzare il mouse (o quasi)”
23 Gennaio 2014
Giuseppe Basile | WP Stacker link collection: January with 111 links[…] TIPS#020 – Usare Xcode senza utilizzare il mouse (o quasi): Tutti gli sviluppatori hanno un rapporto particolare con la tastiera del proprio computer. In rete infuriano battaglie su quale sia la migliore per programmare. Qualcuno dirà che è necessaria una tastiera ergonomica come questa http://goo. – by Ignazioc – http://www.devapp.it/wordpress/usare-xcode-senza-utilizzare-il-mouse-o-quasi.html […]