Tasti

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.

Combinazioni di tasti, sequenze di tasti e associazioni di tasti

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.

Schemi

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.

Contesti

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.

Piattaforma e locale

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.

Personalizzazione delle associazioni di tasti

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.

Pagina delle preferenze Tasti che mostra la configurazione attiva Emacs e il comando selezionato Chiudi

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.

Natura dinamica delle associazioni di tasti

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.

Risoluzione dei conflitti

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.

Argomenti correlati
Funzioni di accessibilità di Eclipse
Modifica delle associazioni di tasti
Sistema della Guida in linea

Riferimenti correlati
Impostazioni del tipo di carattere e del colore in Eclipse