Klávesy

Funkci klávesnice lze v Eclipse široce upravit pomocí stránky předvoleb odkaz na příkaz Obecné > Klávesy je možné měnit následující předvolby. V rámci Eclipse je možné přiřadit jednotlivým klávesám i posloupnostem kláves konkrétní příkazy.

Klávesové úhozy, posloupnosti kláves a vazby kláves

'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 modifikační klávesy 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.

'Posloupnost 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 posloupnosti kláves obsahující dva až tři klávesové úhozy. Například normální posloupnost kláves přidružená k příkazu Zavřít vše v editoru emacs je Ctrl+X Ctrl+C. Pro zadání této posloupnosti kláves je nutné provést klávesový úhoz Ctrl+X, za nímž následuje Ctrl+C. Přestože Eclipse podporuje posloupnosti 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í posloupnosti kláves k příkazu.

Schémata

'Schéma' je sada vazeb. Eclipse obsahuje dvě schémata:

Výchozí schéma obsahuje obecnou sadu vazeb kláves, v mnoha případech snadno rozpoznatelných jako tradiční posloupnosti 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 sadu 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í sadou 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 specifické posloupnosti kláves editoru Emacs jsou přidruženy pouze k dobře známým příkazům 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í posloupností 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.

Kontexty

Vazby kláves se mohou měnit na základě aktuálního kontextu Eclipse.

Někdy může být aktivní částí editor souboru Java, například když je vhodnější používat odlišnou sadu přiřazení posloupností kláves, než kdyby aktivní částí byl editor souboru HTML. Jako specifický 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 dialogové okno. Pokud aktivní část nezvolí konkrétní kontext, pracovní plocha jej nastaví na V oknech.

Platforma Eclipse obsahuje řadu různých kontextů. Některé příklady jsou:

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.

Platforma a národní prostředí

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í.

Upravení vazeb kláves

Upravení vazeb kláves není triviální záležitostí vzhledem k existenci schémat, kontextů a posloupností kláves sestávajících z několika úhozů. Pro usnadnění se upravování kláves provádí na stránce předvoleb odkaz na příkaz Obecné > Klávesy.

Stránka předvoleb kláves - příkaz O produktu bez vazby

V tomto příkladu chceme provést vazbu mezi CTRL+5 a příkazem O produktu. Stránka předvoleb kláves standardně zobrazuje všechny dostupné vazby kláves. Příkaz O produktu uvidíte uvedený v kategorii Nápověda. Vazbu pro příkaz můžete vytvořit tak, že dáte fokus na textové pole Vazba a stisknete klávesu CTRL+5, podobně jako byste chtěli provést příkaz.

Stránka předvoleb kláves - příkaz O produktu s vazbou na CTRL+5

Vazbu pro příkaz O produktu jste vytvořili stisknutím klávesy CTRL+5. Ve sloupci úplně vpravo se zobrazí U, což označuje, že jde o uživatelskou vazbu. Pokud došlo ke konfliktu, v tomto sloupci se také zobrazí C. Vazba bude platit pro výchozí kontext, "V oknech". Nyní můžete použít pole se seznamem Když a změnit kontext vazby kláves (například přesunout tuto vazbu do "Úpravy textu").

Pokud byste chtěli k příkazu O produktu přidat druhou vazbu kláves, můžete použít tlačítko Kopírovat příkaz k vytvoření druhé položky příkazu, se kterou lze svázat další klávesu. Chcete-li vazbu odstranit, můžete buď použít tlačítko Odebrat vazbu, nebo jednoduše přenést fokus na textové pole Vazba a stisknout klávesu Backspace.

Dynamický charakter vazeb kláves

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 přiřazena kombinace CTRL+6 příkazu O produktu ve schématu Výchozí. Řekněme, že instalujete nový modul plug-in, který přiřazuje kombinaci CTRL+6 ke konkrétnímu příkazu. Platforma Eclipse zachová vaše přiřazení k příkazu O produktu.

Řešení konfliktů

Existuje pouze omezený počet jednoduchých a běžných úhozů kláves, které lze přidružit 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í posloupností 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éž posloupnost 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. Otevřeme rozevírací dialogové okno Pomoc pro klávesy s konfliktními příkazy a umožníme uživateli, aby některý příkaz vybral. Dialogové okno Pomoc pro klávesy je stejné jako okno zobrazující volby příkazů pro vazby na několik stisků klávesy. Pokud například existuje vazba dvou příkazů na klávesu F12, můžete vidět:

Dialogové okno Pomoc pro klávesy

Pokud uživatel nastaví vazbu kláves a vytvoří konflikt, konfliktní vazby se zobrazí v seznamu konfliktů. To lze použít k navigaci mezi konfliktními vazbami kláves za účelem jejich změny.

Seznam konfliktů na stránce předvoleb kláves

Tento typ konfliktu je možné vyřešit explicitním přiřazením posloupnosti kláves jednomu z příkazů, nebo odebráním této posloupnosti od druhého příkazu.

Jiný typ konfliktu může být způsoben posloupnostmi kláves skládajících se z více úhozů kláves. Například ve schématu Emacs existuje řada posloupností 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 klávesu Ctrl+X, jsme na půl cestě k zadání některé z mnoha možných posloupností 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 posloupnost 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.

Související koncepce
Funkce usnadnění přístupu v Eclipse
Změna vazeb kláves
Nápověda

Související odkazy
Nastavení písma a barvy v Eclipse