Funkci klávesnice lze v Eclipse široce přizpůsobit pomocí stránky předvoleb
Obecné > Klávesy.
V rámci Eclipse je možné přiřadit jednotlivým klávesám i sekvencím kláves konkrétní příkazy.
'Klávesový úhoz' je stisknutí klávesy na klávesnici, volitelně s přidržením jedné či několika modifikačních kláves: Ctrl
, Alt
(Option
na počítačích Macintosh), Shift
nebo
Command
(pouze na počítačích Macintosh.) Například přidržením klávesy modifikátoru Ctrl
a následně stiskem písmene A
se vygeneruje klávesový úhoz Ctrl+A
. Stisk samotných modifikačních kláves nepředstavuje klávesový úhoz.
'Sekvence kláves' představuje jeden či několik klávesových úhozů. V editoru Emacs byly zpravidla ke konkrétním příkazům přiřazeny sekvence kláves obsahující dva až tři klávesové úhozy. Například normální sekvence kláves přiřazená k příkazu Zavřít vše
v editoru emacs je Ctrl+X Ctrl+C
.
Pro zadání této sekvence kláves je nutné provést klávesový úhoz Ctrl+X
, za nímž následuje Ctrl+C
.
Přestože Eclipse podporuje sekvence kláves libovolné délky, doporučuje se, aby klávesové zkratky nebyly delší než 4 úhozy kláves, případně méně.
'Vazbou kláves' se nazývá přiřazení sekvence kláves k příkazu.
'Schéma' je množina vazeb. Eclipse obsahuje dvě schémata:
Výchozí schéma obsahuje obecnou množinu vazeb kláves, v mnoha případech snadno rozpoznatelných jako tradiční sekvence kláves pro dobře známé příkazy. Například Ctrl+A
je přiřazeno příkazu Vybrat vše
,
Ctrl+S
je přiřazeno příkazu Uložit
.
Schéma Emacs obsahuje množinu vazeb kláves známých uživatelům editoru Emacs.
Například Ctrl+X H
je přiřazeno příkazu Vybrat vše
, Ctrl+X S
je přiřazeno příkazu Uložit
.
Je důležité si uvědomit, proč konfigurace Emacs 'rozšiřuje Výchozí konfiguraci'. Schéma Emacs není kompletní množinou vazeb kláves, jako je tomu u Výchozího schématu. Namísto toho si vypůjčuje od Výchozího schématu kdekoli je to možné a definuje explicitní vazby kláves ve stylu editoru Emacs v případech, kde se tyto liší od Výchozího schématu. Obecně platí, že konkrétní sekvence kláves editoru Emacs jsou asociovány pouze s dobře známými příkazy jako např. Vybrat vše
, Uložit
atd.
Zvolte si schéma, které vám nejlépe vyhovuje, pomocí změny nastavení 'Schématu' na stránce předvoleb pro klávesy. Pokud si vyberete Výchozí schéma, budou všechny vazby kláves Emacs ignorovány. Pokud zvolíte schéma Emacs, explicitní přiřazení sekvencí kláves ve stylu editoru Emacs-style budou mít vyšší prioritu, než odpovídající přiřazení ve Výchozím schématu.
Vazby kláves se mohou měnit v závislosti na aktuálním kontextu Eclipse.
Někdy může být aktivní částí editor souborů Java, například když je vhodnější používat odlišnou množinu přiřazení sekvencí kláves, než kdyby aktivní částí byl editor souborů HTML.
Jako konkrétní příklad lze uvést sekvenci kláves Ctrl+B
, která je v kontextu úprav souborů Java zpravidla přiřazena příkazu Build
, zatímco v kontextu úprav souborů HTML je Ctrl+B
přiřazeno Make Text Bold
(text tučně).
Tento kontext je zpravidla určen aktivní částí, ale může jej ovlivnit i aktivní okno nebo dialog.
Pokud aktivní část nezvolí konkrétní kontext, pracovní plocha jej nastaví na V oknech.
Eclipse obsahuje devět různých kontextů. Jedná se o:
Podobně jako u konfigurace mohou být jednotlivé kontexty rozšířením jiných kontextů. Například kontext Úprava zdroje Java si vypůjčuje vazby kláves od kontextu Úprava textu, který si zase vypůjčuje vazby kláves od kontextu V oknech.
Poznámka: Nedoporučuje se postupovat vazbu kláves do kontextu, který je rozšířením. Například se nedoporučuje přesouvat vazbu kláves Úprava textu do kontextu V oknech a dialogových oknech. Tato operace může mít neočekávané výsledky.
Některé vazby kláves mohou fungovat v dialogových oknech. Tyto vazby kláves jsou přiřazeny do kontextu V oknech a dialogových oknech. Příkladem takové vazby kláves je "vyjmout". Tyto vazby kláves je možné měnit. Například je možné používat kombinaci Ctrl+X pro vyjmutí textu v dialogových oknech a zároveň Ctrl+W pro tutéž operaci v oknech.
Vazby kláves se též liší podle platformy a národního prostředí. Na platformě Macintosh je kombinace Command+S
přiřazena příkazu Save (Uložit)
, namísto obvyklého Ctrl+S
. V čínském národním prostředí (zh) je Alt+/
přiřazeno příkazu Obsahová asistence
, namísto obvyklého Ctrl+Space
.
Aktuální platforma a národní prostředí se určuje v okamžiku spuštění Eclipse a během instance Eclipse se již nemění.
Přizpůsobení vazeb kláves není triviální záležitostí vzhledem k existenci schémat, kontextů a sekvencí kláves sestávajících z několika úhozů. Pro usnadnění se přizpůsobování kláves provádí na stránce předvoleb
Obecné > Klávesy.
V tomto příkladu jsme vybrali jako aktivní schéma editor Emacs a vybrali jsme ze seznamu příkazů příkaz Zavřít
. Jsou zobrazeny informace o tomto příkazu společně s aktuální vazbou kláves.
Všimněte si, že k příkazu Zavřít
jsou přiřazeny tři sekvence kláves: Ctrl+F4
a Ctrl+W
ve Výchozím schématu a Ctrl+X K
ve schématu Emacs. Obě jsou přiřazeny v kontextu V oknech. Pokud tedy uživatel nastaví aktivní schéma na Výchozí, Ctrl+F4
a Ctrl+W
budou přiřazeny příkazu Zavřít
, zatímco Ctrl+X K
nikoli.
Pokud však nastavíte schéma na Emacs, kombinace kláves Ctrl+X
K
se přiřadí příkazu Zavřít
. Protože si schéma Emacs rovněž vypůjčuje vazby kláves od Výchozího schématu, Ctrl+F4
a Ctrl+W
budou rovněž přiřazeny příkazu Zavřít
za předpokladu, že tyto vazby kláves nebyly přiřazeny jinému příkazu ve schématu Emacs. V tomto příkladu je "Ctrl+W" přiřazeno příkazu Vyjmout
ve schématu Emacs.
Pod seznamem sekvencí kláves přiřazených příkazu Zavřít
je místo pro přidání nebo odebrání vazeb kláves.
Standardně se vybere kontext V oknech.
Zadáme sekvenci kláves Ctrl+W
a tlačítko 'Přidat' se zpřístupní.
Pod tlačítkem Přidat je rovněž seznam všech příkazů, ke kterým je sekvence kláves Ctrl+W
již přiřazena. Vidíme, že sekvence Ctrl+W
je aktuálně přiřazena příkazu Vyjmout
v kontextu V oknech a dialogových oknech. Klepeme na tlačítko 'Přidat' pro přiřazení sekvence Ctrl+W
k příkazu Zavřít
.
Vazby kláves se poskytují v modulech plug-in a na platformě Eclipse lze moduly plug-in přidávat nebo odebírat. Díky tomu se mohou přidávat nebo odebírat i vazby kláves deklarované v těchto modulech plug-in. Platforma Eclipse ukládá uživatelské vazby kláves takovým způsobem, aby se toto automaticky kompenzovalo.
Podívejme se na výše uvedený příklad, kde byla sekvence Ctrl+Alt+W
přiřazena příkazu Vyjmout
ve schématu Emacs. Řekněme, že instalujete nový modul plug-in, který přiřazuje sekvenci Ctrl+Alt+W
ke konkrétnímu příkazu. Platforma Eclipse zachová vaše přiřazení k příkazu Vyjmout
.
Existuje pouze omezený počet jednoduchých a běžných úhozů kláves, které lze přiřadit k většímu počtu příkazů.
Viděli jsme, že díky schématu, kontextu, platformě a národnímu prostředí se přiřazení sekvencí kláves rozdělí do domén, kde nedochází ke vzájemnému konfliktu. Zvažme výše uvedený případ Ctrl+B
za situace, kdy neexistují kontexty.
Jeden modul plug-in by přiřadil sekvenci Ctrl+B
k příkazu Build
(Sestavit), zatímco jiný modul plug-in by ji přiřadil k Make Bold Text
(Převést text na tučný). Jak by měla platforma Eclipse tento konflikt správně vyřešit?
Přestože je díky výše uvedeným mechanizmům výskyt konfliktů značně omezen, může k nim docházet.
Dva vzájemně nezávislé moduly plug-in mohou přiřadit tutéž sekvenci kláves různým příkazům ve stejném kontextu, schématu, platformě a národním prostředí. Předpokládejme, že modul plug-in přiřadil jednomu z příkazů sekvenci Ctrl+F4
v kontextu V oknech a Výchozím schématu. Toto je v přímém konfliktu s platformou Eclipse, která přiřazuje Ctrl+F4
k příkazu Zavřít v tom samém kontextu a schématu.
Jedná se o konflikt. Nebylo by správné vyvolat oba dva příkazy, ani si jednoduše vybrat jeden z nich. Jediným správným řešením je obě vazby kláves ignorovat a považovat sekvenci kláves Ctrl+F4
v tomto kontextu a schématu za zcela neúčinnou.
Tento druh konfliktů je možné vyřešit explicitním přiřazením sekvence kláves jednomu z příkazů.
Jiný typ konfliktu může být způsoben sekvencemi kláves skládajících se z více úhozů kláves. Například ve schématu Emacs existuje řada sekvencí kláves skládajících se z více úhozů, které začínají úhozem Ctrl+X
. Sekvence Ctrl+X K
je přiřazena příkazu Zavřít
. Sekvence Ctrl+X H
je přiřazena příkazu Vybrat vše
.
Jak jsme již zmínili, schéma Emacs si vypůjčuje vazby kláves od Výchozího schématu. Ve výchozím schématu je sekvence Ctrl+X
přiřazena příkazu Vyjmout
. Přestože schéma Emacs neprovádí explicitní předefinování sekvence Ctrl+X
, stisk Ctrl+X
je požadován jako součást několika vazeb kláves v tomto schématu. Pokud ve schématu Emacs stiskneme Ctrl+X
, jsme na půl cestě k zadání některé z mnoha možných sekvencí kláves přiřazených v této konfiguraci. Neočekáváme však, že se v tomto okamžiku vyvolá akce Vyjmout
.
U konfliktu tohoto typu platí pravidlo, že sekvence kláves Ctrl+X
přiřazená příkazu Vyjmout
bude ignorována. Jinak by nebylo možné dokončit celou řadu vazeb kláves v konfiguraci Emacs.
Funkce usnadnění přístupu v Eclipse
Změna vazeb kláves
Nápověda