Le funzioni della tastiera possono essere ampiamente personalizzate in Eclipse. All'interno di Eclipse, i tasti e le combinazioni di tasti sono assegnati per richiamare specifici comandi.
Si definisce una "combinazione di tasti" quando si preme un tasto della
tastiera, mentre si
tiene premuto uno dei seguenti modificatori di tasto: Ctrl
,
Alt
(Opzione
su Macintosh), Maiusc
,
o Comando
(solo su Macintosh.) Ad esempio, mantenendo premuto
Ctrl
e premendo A
si produce una
combinazione Ctrl+A
. Premuti da soli i modificatori non
rappresentano una combinazione di tasti.
Una "sequenza di tasti" è costituita da una o più combinazioni. Solitamente,
emacs assegna due o più sequenze di combinazioni a particolari comandi. Ad
esempio, la sequenza di tasti normalmente assegnata a Chiudi tutti
in emacs è Ctrl+X Ctrl+C
.
Per immettere questa sequenza, si deve premere la combinazione
Ctrl+X
seguita dalla combinazione Ctrl+C
.
Eclipse supporta sequenze di tasti di lunghezze arbitrarie.
Una " associazione di tasti" è l'assegnazione di una sequenza di tasti ad un comando.
Una "configurazione" è un insieme di associazioni di tasti. Eclipse include due configurazioni:
La configurazione Standard contiene un insieme generale di
associazioni di tasti, in molti casi note agli utenti come sequenze
tradizionali. Ad esempio, Ctrl+A
è assegnato a Seleziona
tutto
, Ctrl+S
è assegnato a Salva
, ecc.
Ctrl+X H
è assegnato a Seleziona tutto
,
Ctrl+X S
è assegnato a Salva
, ecc.
È importante capire cosa si intende dicendo che la configurazione
Emacs "estende Standard". La configurazione Emacs non è un
insieme di associazioni di tasti completo come la configurazione Standard. Al
contrario utilizza spesso associazioni prese dalla configurazione
Standard, quando possibile, definendo esplicitamente associazioni di
tasti in stile emacs quando queste sono diverse dalla configurazione
Standard. Generalmente, solo comandi molto utilizzati come
Seleziona tutti
, Salva
, ecc., hanno associata una
sequenza di tasti specifica di emacs.
L'utente può decidere la configurazione preferita modificando l'impostazione "Configurazione attiva" nella pagina delle preferenze Tasti. Se l'utente sceglie la configurazione Standard, tutte le associazioni di tasti Emacs saranno ignorate. Se l'utente sceglie la configurazione Emacs, le assegnazioni di tasti in stile emacs hanno la precedenza su qualsiasi assegnazione in conflitto della configurazione Standard.
Le associazioni di tasti possono variare in base al contesto di Eclipse corrente.
A volte, la parte attiva potrebbe essere un editor di file Java, ad esempio,
per il quale sarebbe più opportuno utilizzare un insieme di assegnazioni di
sequenze di tasti diverso da quello di un editor di file html.
Nell'esempio specifico, Ctrl+B
è assegnato a Genera
nel contesto di un editor di file Java, mentre Ctrl+B
viene
assegnato a Metti in grassetto
nel contesto di un editor di file html. Questo
contesto viene definito "ambito" ed è determinato dalla parte attiva. Se la
parte attiva non seleziona un ambito particolare, il workbench imposterà
l'ambito attivo a Globale.
Eclipse include tre ambiti diversi. Essi comprendono:
Come le configurazioni, gli ambiti possono estendere altri ambiti. Ad esempio, l'ambito dell'Editor Java utilizza associazioni di tasti dell'ambito Editor di testo, che a sua volta utilizza associazioni di tasti dell'ambito Globale.
Le associazioni di tasti variano anche in funzione della piattaforma e delle
impostazioni internazionali. Su piattaforma Macintosh, al comando
Salva
è assegnato Comando+S
, invece di
Ctrl+S
. Per la locale cinese zh, a Assistente ai contenuti
è
assegnato Alt+/
invece di Ctrl+Spazio
.
La piattaforma corrente e l'impostazione della locale viene determinata all'avvio di Eclipse, e non viene modificata per la durata di una istanza Eclipse.
Quando si personalizzano le associazioni di tasti occorre considerare molti aspetti relativi alle combinazioni, sequenze, configurazioni e ambiti dei tasti. Per semplificare le operazioni, tutte le personalizzazioni sono effettuate nella pagina delle preferenze Tasti.
Per visualizzare la pagina delle preferenze Tasti, selezionare Finestra > Preferenze > Workbench > Tasti.
Chiudi
dall'elenco dei comandi. Le
informazioni sul comando e le sue associazioni di tasti sono
visualizzate a destra.
Si noti che Chiudi
presenta due sequenze di tasti assegnate:
Ctrl+F4
nella configurazione Standard e Ctrl+X
K
nella configurazione Emacs. Entrambi sono assegnati
nell'ambito Globale. Pertanto se l'utente imposta la
configurazione Standard attiva, a Chiudi
viene assegnato
Ctrl+F4
e non Ctrl+X K
. Pertanto se l'utente imposta
la configurazione Emacs attiva, a Chiudi
viene assegnato
Ctrl+X H
. Tuttavia, poiché la configurazione Emacs
utilizza anche alcune associazioni di tasti prese dalla configurazione
Standard, anche Ctrl+F4
sarà assegnato a
Chiudi
, sempre che Ctrl+F4
non sia stato assegnato
ad un altro comando nella configurazione Emacs.
Sotto l'elenco delle associazioni di tasti assegnate a Chiudi
, è
possibile aggiungere o eliminare le associazioni di tasti. Per
impostazione predefinita, viene selezionato l'ambito Globale e la
configurazione attiva per l'utente (in precedenza era stata modificata in Emacs).
Se immettiamo una sequenza di tasti Ctrl+W
, il pulsante "Aggiungi"
viene abilitato. Inoltre, sotto il pulsante Aggiungi viene visualizzato un
elenco dei comandi ai quali è già assegnata la sequenza di tasti
Ctrl+W
. Attualmente Ctrl+W
è assegnato al comando
Taglia
nell'ambito Globale e configurazione Emacs. Premendo
il pulsante "Aggiungi" Ctrl+W
viene assegnato a
Chiudi
.
Ctrl+W
viene ora visualizzato nell'elenco di sequenze di tasti
assegnate a Chiudi
. Si noti che una piccola immagine di
"modifica" Ctrl+W
a Taglia
. Questa modifica può
essere eliminata in qualsiasi momento per selezionando la nuova associazione e
premendo il pulsante "Rimuovi". Verrà automaticamente ripristinata la
precedente assegnazione di Ctrl+W
a Taglia
.
Taglia
, si può verificare il risultato
della modifica. Si noti la piccola immagine grafica "meno"
Taglia
nella
configurazione Emacs, ad esempio Ctrl+Alt+W
.
Aggiungendola con la procedura utilizzata in precedenza si ottengono i seguenti
risultati. Si noti la piccola immagine grafica "più"
Le associazioni di tasti sono fornite dai plug-in, e in Eclipse i plug-in
possono essere aggiunti o rimossi. Pertanto le associazioni di tasti
dichiarate in questi plug-in possono essere aggiunte o rimosse. Eclipse
memorizza le associazioni di tasti personalizzate in modo da compensare
automaticamente questa situazione. Consideriamo l'esempio precedente dove
Ctrl+Alt+W
è stato assegnato a Taglia
nella
configurazione Emacs. Supponiamo che l'utente installi un nuovo
plug-in che assegna Ctrl+Alt+W
ad uno specifico comando. Eclipse
manterrà l'assegnazione dell'utente per Taglia
, ma visualizzerà
l'associazione di tasti con la piccola immagine grafica di "modifica"
invece che con l'immagine "più".
Esiste un numero finito di combinazioni di tasti semplici disponibili per
l'assegnazione ad un numero elevato di comandi. Sono state illustrate la
configurazione, ambito, piattaforma e impostazioni internazionali per
assegnazioni di sequenze di tasti in domini che non sono in conflitto tra loro. Consideriamo
il caso di Ctrl+B
nel caso di mancanza di ambiti. Un plug-in
potrebbe assegnare Ctrl+B
a Genera
, e un altro
plug-in potrebbe assegnare Ctrl+B
a Metti in grassetto
. In
che modo Eclipse può risolvere il conflitto?
Sebbene il numero di conflitti sia notevolmente ridotto dall'uso del
meccanismo precedentemente illustrato, i conflitti possono sempre verificarsi. Due
plug-in, indipendenti tra loro, potrebbero assegnare la stessa sequenza di
tasti a comandi diversi con lo stesso ambito, configurazione, piattaforma e
impostazioni internazionali. Supponiamo che un plug-in abbia assegnato a uno di
questi comandi la sequenza Ctrl+F4
nell'ambito Globale e la
configurazione Standard. Questo entra in conflitto diretto con Eclipse
per l'assegnazione di Ctrl+F4
al comando Chiudi nello stesso
ambito e configurazione.
Ctrl+F4
inattivo per
questo ambito e configurazione.
Conflitti di questa natura sono visualizzati nella seguente pagina delle preferenze Tasti. Si noti il testo in rosso e la parola "[conflitto]":
Questi tipi di conflitti possono essere risolti dall'utente assegnando esplicitamente la sequenza di tasti ad uno dei comandi.
Un altro tipo di conflitto può essere generato da sequenze di tasti con
combinazioni di tasti multiple. Ad esempio, nella configurazione
Emacs, ci sono molte sequenze di combinazioni che iniziano con la
combinazione Ctrl+X
. Ctrl+H K
è assegnato a
Chiudi
. Ctrl+X H
è assegnato a Seleziona tutti
.
Come ricordato in precedenza, la configurazione Emacs
utilizza alcune associazioni di tasti prese dalla configurazione Standard. Nella
configurazione Standard, Ctrl+X
è assegnato a Taglia
. Anche
se la configurazione Emacs non ridefinisce esplicitamente
Ctrl+X
, Ctrl+X
è richiesto come parte di molte
associazioni di tasti. Nella configurazione Emacs, quando preme
Ctrl+X
, l'utente immette la prima parte di molte delle sequenze
di tasti assegnate. L'utente non si aspetta di richiamare in questo modo
l'azione Taglia
.
Per questo tipo di conflitto, la regola è che la sequenza di tasti
Ctrl+X
assegnata a Taglia
deve essere
ignorata. In caso contrario, non sarebbe possibile completare molte
associazioni di tasti nella configurazione Emacs.
Funzioni di accessibilità di Eclipse
Modifica delle associazioni di tasti
Sistema della Guida in linea