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.
Una "configurazione" è un insieme di associazioni di tasti. Eclipse include due configurazioni:
La configurazione Default contiene un insieme generale di associazioni di tasti, in molti casi note agli utenti come sequenze di tasti 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 Default'. La configurazione Emacs non è un insieme di associazioni di tasti completo come la configurazione Default. Al contrario, utilizza spesso associazioni prese dalla configurazione Default, quando possibile, definendo esplicitamente associazioni di tasti in stile Emacs quando queste sono diverse dalla configurazione Default. Generalmente, solo i comandi molto utilizzati come Seleziona tutto
, Salva
ecc, hanno associata una sequenza di tasti Emacs.
L'utente può decidere la configurazione preferita modificando l'impostazione "Configurazione attiva" nella pagina delle preferenze Tasti. Se l'utente sceglie la configurazione Default, tutte le associazioni di tasti Emacs saranno ignorate. Se l'utente sceglie la configurazione Emacs, le assegnazioni di sequenze di tasti in stile Emacs hanno la precedenza su qualsiasi assegnazione in conflitto nella configurazione 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 sette 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, alle configurazioni 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 > Workbench > Tasti.
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
nella configurazione Default e Ctrl+X K
nella configurazione Emacs. Sono tutte assegnate nel contesto In finestre. Pertanto, se l'utente imposta la configurazione attiva su Default, a Chiudi
verranno assegnate Ctrl+F4
e Ctrl+W
e non Ctrl+X K
.
Pertanto se l'utente imposta
la configurazione Emacs attiva, a Chiudi
viene assegnato
Ctrl+X H
. Inoltre, poiché la configurazione Emacs utilizza associazioni di tasti della configurazione Default, anche Ctrl+F4
e Ctrl+W
verranno assegnate a Chiudi
, ammesso che queste associazioni di tasti non siano state assegnate ad altri comandi nella configurazione Emacs. In questo esempio, "Ctrl+W" è associato a Taglia
nella configurazione 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
.
Ctrl+W
viene ora visualizzato nell'elenco di sequenze di tasti
assegnate a Chiudi
. Si noti che una piccola immagine di
"modifica"
che indica che questa associazione di tasti ha modificato un'associazione
esistente. La nuova associazione di tasti garantisce che l'associazione
Ctrl+W
per Chiudi
funzioni nella configurazione Emacs
. L'associazione a Taglia
esiste ancora, ma funzionerà solo nelle finestre di dialogo (ad es., quando si è "in finestre di dialogo e finestre",
ma non "in finestre"). 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 l'immagine
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 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
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
plugin 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, 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, configurazione, piattaforma e
impostazioni internazionali. Si presuma che un plugin abbia assegnato Ctrl+F4
a uno di questi comandi nel contesto In finestre e nella configurazione Default. Questo entra in conflitto diretto con Eclipse per l'assegnazione di Ctrl+F4
al comando Chiudi nello stesso contesto e nella stessa configurazione.
Ctrl+F4
inattivo nel contesto e nella configurazione.
I conflitti di questa natura vengono visualizzati nella 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