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
.
Sebbene Eclipse supporti le sequenze di tasti di lunghezze arbitrarie, è preferibile che le scelte rapide della tastiera siano composte da quattro tasti (o meno).
Una " associazione di tasti" è l'assegnazione di una sequenza di tasti ad un comando.
Uno 'schema' è un insieme di binding. Eclipse include due schemi:
Lo schema Default contiene un insieme generale di binding, in molti casi note agli utenti come sequenze di tasti tradizionali. Ad esempio, la sequenzaCtrl+A
è assegnata a Seleziona tutto
e la sequenza Ctrl+S
è assegnata a Salva
.
Lo schema Emacs contiene un insieme di associazioni di tasti familiari agli utenti di Emacs.
Ad esempio l'a sequenza Ctrl+X H
è assegnata a Seleziona tutto
e la sequenza Ctrl+X S
è assegnata a Salva
.
È importante capire cosa si intende dicendo che lo schema Emacs 'estende Default'. Lo schema Emacs non è un insieme di associazioni di tasti completo come lo schema Default. Al contrario, utilizza le associazioni dello schema Default
se possibile e definisce esplicitamente associazioni in stile Emacs solo quando sono diverse dallo schema Default. Generalmente, solo i comandi molto utilizzati come Seleziona tutto
, Salva
ecc, hanno associata una sequenza di tasti Emacs.
L'utente può decidere lo schema preferito modificando l'impostazione "Schema" nella pagina delle preferenze Tasti. Se l'utente sceglie lo schema Default, tutte le associazioni di tasti Emacs saranno ignorate. Se l'utente sceglie lo schema Emacs, le assegnazioni di sequenze di tasti in stile Emacs hanno la precedenza su qualsiasi assegnazione in conflitto nello schema Default.
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 stabilito dalla parte attiva, ma può essere influenzato anche dalla finestra attiva. Se la parte attiva non selezionata un contesto particolare, il workbench imposterà il contesto attivo su In finestre.
Eclipse include nove diversi contesti. Essi comprendono:
Come le configurazioni, i contesti possono estendere altri contesti. Ad esempio, il contesto Modifica origine Java utilizza associazioni di tasti del contesto Modifica testo, che a sua volta utilizza associazioni di tasti del contesto In finestre.
Nota: é sconsigliato assegnare un'associazione di tasti a un contesto che essa estende. Ad esempio, è sconsigliato spostare un'associazione di tasti Modifica testo nel contesto In finestre di dialogo e finestre. Potrebbero essere generati risultati inaspettati.
È possibile far funzionare alcune associazioni di tasti nelle finestre di dialogo. Queste associazioni vengono assegnate al contesto In finestre di dialogo e finestre. Un esempio è l'associazione di tasti per "taglia". È possibile modificare queste associazioni di tasti. Ad esempio, è possibile utilizzare l'associazione di tasti Ctrl+X per tagliare nelle finestre di dialogo e Ctrl+W nelle finestre.
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 sequenze, agli schemi e ai contesti. Per semplificare le operazioni, tutte le personalizzazioni sono effettuate nella pagina delle preferenze Tasti.
Per visualizzare la pagina delle preferenze Tasti, selezionare Finestra > Preferenze > Generale > Tasti.
In questo esempio, è stata scelta Emacs come schema e
il comando Chiudi
dall'elenco dei comandi. Vengono visualizzate le informazioni su questo comando, insieme alle associazioni di tasti correnti.
Si noti che Chiudi
ha tre sequenze di tasti assegnate: Ctrl+F4
e Ctrl+W
nello schema Default e Ctrl+X K
nello schema Emacs. Sono tutte assegnate nel contesto In finestre. Pertanto, se l'utente imposta lo schema su Default, a Chiudi
verranno assegnate Ctrl+F4
e Ctrl+W
e non Ctrl+X K
.
Se l'utente imposta
lo schema Emacs, a Chiudi
viene assegnato
Ctrl+X H
. Inoltre, poiché lo schema Emacs utilizza associazioni di tasti dello schema Default, anche Ctrl+F4
e Ctrl+W
verranno assegnate a Chiudi
, ammesso che queste associazioni di tasti non siano state assegnate ad altri comandi nello schemaEmacs. In questo esempio, "Ctrl+W" è associato a Taglia
nello schema Emacs.
Sotto l'elenco delle associazioni di tasti assegnate a Chiudi
, è
possibile aggiungere o eliminare le associazioni di tasti. Per impostazione predefinita, seleziona il contesto In finestre.
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
è assegnata al comando Taglia
nel contesto In finestre di dialogo e finestre. Premendo
il pulsante "Aggiungi" Ctrl+W
viene assegnato a
Chiudi
.
Le associazioni di tasti sono fornite dai plugin, e in Eclipse i plugin
possono essere aggiunti o rimossi. Pertanto le associazioni di tasti
dichiarate in questi plugin possono essere aggiunte o rimosse. Eclipse
memorizza le associazioni di tasti personalizzate in modo da compensare
questa situazione. Consideriamo l'esempio precedente dove
Ctrl+Alt+W
è stato assegnato a Taglia
nello schema Emacs. Supponiamo che l'utente installi un nuovo
plugin che assegna Ctrl+Alt+W
ad uno specifico comando. Eclipse
manterrà l'assegnazione dell'utente per Taglia
.
Esiste un numero finito di combinazioni di tasti semplici disponibili per
l'assegnazione ad un numero elevato di comandi. Sono state illustrate lo schema, il contesto, la piattaforma e le impostazioni internazionali per
assegnazioni di sequenze di tasti in domini che non sono in conflitto tra loro. Si consideri il caso di Ctrl+B
se i contesti non esistono. Un plugin
potrebbe assegnare Ctrl+B
a Genera
, e un altro
plugin 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
plugin, indipendenti tra loro, potrebbero assegnare la stessa sequenza di
tasti a comandi diversi con lo stesso contesto, schema, piattaforma e
impostazioni internazionali. Si presuma che un plugin abbia assegnato Ctrl+F4
a uno di questi comandi nel contesto In finestre e nello schema Default. Questo entra in conflitto diretto con Eclipse per l'assegnazione di Ctrl+F4
al comando Chiudi nello stesso contesto e nello stesso schema.
Questo è un caso di conflitto. Non è corretto richiamare entrambi i comandi, né
scegliere tra uno dei due. L'unica cosa da fare è ignorare entrambe le associazioni di tasti, rendendo Ctrl+F4
inattivo nel contesto e nello schema.
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, nello schema
Emacs, ci sono molte sequenze di combinazioni che iniziano con la
combinazione Ctrl+X
. Ctrl+X K
è assegnato a
Chiudi
. Ctrl+X H
è assegnato a Seleziona tutti
.
Come ricordato in precedenza, lo schema Emacs
utilizza alcune associazioni di tasti prese dallo schema Default. Nello schema predefinito, Ctrl+X
è assegnato all'azione Taglia
. Anche
se lo schema Emacs non ridefinisce esplicitamente
Ctrl+X
, Ctrl+X
è richiesto come parte di molte
associazioni di tasti. Nello schema 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