按鍵

在 Eclipse 中,您可以廣泛自訂鍵盤的功能。Eclipse 中指定了許多按鍵作用和快速鍵順序來呼叫特定的指令。

按鍵作用、快速鍵順序和快速鍵連結

「按鍵作用」是指按下鍵盤上的某個按鍵,同時選擇性按住一或多個下列修正鍵: CtrlAlt(在 Macintosh 上為 Option)、ShiftCommand(只有 Macintosh 才有。)比方說,先按住 Ctrl,然後按 A 的時候,就會產生按鍵作用 Ctrl+A。單獨按下修正鍵時,並不會組成按鍵作用。

「快速鍵順序」是指一或多個按鍵作用。傳統上,emacs 會指定兩個或三個按鍵作用的快速鍵順序給特定的指令。例如,在 emacs 中, 指定給全部關閉的正常快速鍵順序是 Ctrl+X Ctrl+C。 如果要輸入這個快速鍵順序,必須按下按鍵作用 Ctrl+X,然後按下按鍵作用 Ctrl+C。 Eclipse 支援任意長度的快速鍵順序。

「快速鍵連結」是將快速鍵順序指定給指令。

配置

「配置」是指一組快速鍵連結。Eclipse 包含兩種配置:

標準配置包含一組一般的快速鍵連結,在許多情況下,可讓使用者視為傳統的快速鍵順序。 例如,Ctrl+A 是指定給全選Ctrl+S 是指定給儲存等。

對 emacs 使用者來說,Emacs 配置所包含的一組快速鍵連結非常熟悉。 例如,Ctrl+X H 是指定給全選Ctrl+X S 是指定給儲存等。

使用者必須瞭解為何 Emacs 配置指出它是「延伸標準」。與標準配置不同, Emacs 配置並不是一組完整的快速鍵連結。相反的,它會盡可能借用標準配置, 而且只會針對與標準配置不同的地方來定義明確的 emacs 樣式快速鍵連結。通常,諸如全選儲存等常用的指令才有相關的特定 emacs 快速鍵順序。

使用者可以變更按鍵喜好設定頁面中的「作用中的配置」設定,來決定最喜歡使用的配置。如果使用者選擇標準配置,就會忽略所有的 Emacs 快速鍵連結。如果使用者選擇 Emacs 配置,則明確的 emacs 樣式快速鍵順序指定的優先順序會高於標準配置中任何有衝突的指定。

範圍

快速鍵連結可能會因為 Eclipse 的現行環境定義而有所不同。

有時候,作用中的部分可能是 Java 檔案編輯器,例如,如果作用中的部分是 html 檔案編輯器, 則不同的快速鍵順序指定集可能更適合。 在特定的情況下,通常 Ctrl+B 是指定給環境定義中的建置,例如 java 檔案編輯, 而 Ctrl+B 是指定給環境定義中的將文字變為粗體字,例如 html 檔案編輯。這個環境定義叫做「範圍」, 而且是由作用中的部分來決定。如果作用中的部分沒有選擇特定的範圍,則工作台會將作用中的範圍設定為廣域

Eclipse 包含三種不同的範圍。它們是:

範圍與配置類似,它們可以延伸其他的範圍。例如,Java 編輯器範圍會借用文字編輯器範圍的快速鍵連結, 而後者則會從廣域範圍借用快速鍵連結。

平台和語言環境

在不同的平台和語言環境下,快速鍵連結也會不同。在 Macintosh 平台上,Command+S 是指定給儲存,而不是常用的 Ctrl+S。在中文語言環境中 (zh),Alt+/ 是指定給內容輔助,而不是常用的 Ctrl+空白鍵

當 Eclipse 啟動時,會決定現行的平台和語言環境,而且在 Eclipse 實例過程中並不會改變。

自訂快速鍵連結

在自訂快速鍵連結時,如果有多重按鍵作用的快速鍵順序、配置和範圍,就必須注意許多重要事項。 為了簡化,所有的按鍵自訂都是在「按鍵」喜好設定頁面中完成。

選取視窗 > 喜好設定 > 工作台 > 按鍵來進入「按鍵」喜好設定頁面。

將 Emacs 顯示成作用中的配置,以及顯示選取「關閉」指令的按鍵喜好設定頁面

在這個範例中,我們已經選擇 Emacs 作為作用中的配置,而且已經從指令清單中選擇關閉指令。指令的資訊以及指令目前的快速鍵連結都會顯示在右邊。

請注意,關閉已經指定了兩個快速鍵順序:標準配置中的 Ctrl+F4 以及 Emacs 配置中的 Ctrl+X K。這兩者都是在廣域範圍中指定。因此, 如果使用者將作用中的配置設定為標準Ctrl+F4 就會指定給關閉, 而 Ctrl+X K 則不會。不過,如果使用者將作用中的配置設定為 EmacsCtrl+X K 就會指定給關閉。同時,由於 Emacs 配置也會從標準配置借用快速鍵連結, Ctrl+F4 將會指定給關閉(只要 Ctrl+F4 尚未指定給 Emacs 配置中的另一個指令即可)。

以下是指定給關閉的快速鍵順序清單,還有一個地方可以新增或移除快速鍵連結。依預設,它會選取廣域作為範圍, 以及要作為使用者作用中配置的配置(請參閱之前將它變更為 Emacs 的地方。)

輸入快速鍵順序 Ctrl+W,就會啟用「新增」按鈕。同時,指定快速鍵順序 Ctrl+W 的所有指令的清單會顯示在「新增」按鈕下面。這時可以看到 Ctrl+W 目前在廣域範圍和 Emacs 配置中是指定給剪下指令。按一下「新增」指令來將 Ctrl+W 指定給關閉

按鍵喜好設定頁面,將快速鍵順序 Ctrl+W 指定給「關閉」指令

現在可以看到 Ctrl+W 已經新增至指定給關閉的快速鍵順序清單中。請注意,小型的「變更」圖形 代表「變更」的小圖形 表示這個快速鍵連結會變更現有的快速鍵連結。新的快速鍵連結可以有效移除已將 Ctrl+W 指定給剪下 的指派。我們可以隨時移除這個變更,方法是選取新的快速鍵連結,然後按一下「移除」按鈕。這時就會自動還原將 Ctrl+W 指定給剪下的指派。

顯示新指派的按鍵喜好設定頁面,包括「變更」圖形

選取剪下指令,就可以看到變更的結果。請注意,小型的「減號」圖形代表「減號」的小圖示表示快速鍵連結已被移除。我們可以隨時還原這個快速鍵連結,方法是在此處選取它,然後按一下「還原」按鈕,這樣就能有效移除在前一個步驟中新增的快速鍵連結。

顯示「剪下」指令的按鍵喜好設定頁面

假設在 Emacs 配置中已經選擇指定另一個按鍵給剪下(例如,Ctrl+Alt+W), 以前一個方法來新增這個按鍵時,會產生下列結果。請注意,小型的「加號」圖形代表「加號」的小圖示 表示使用者已新增快速鍵連結,而這個快速鍵連結之前並未指定:

新增快速鍵順序 Ctrl+Alt+W 給「關閉」的按鍵喜好設定頁面

快速鍵連結的動態本質

快速鍵連結是由外掛程式提供,而在 Eclipse 中,您可以新增或移除外掛程式。這樣就能新增或移除由這些外掛程式所宣告的快速鍵連結。Eclipse 在儲存自訂快速鍵連結時, 可以自動補償這個問題。比方說,在上面的範例中,在 Emacs 配置中,Ctrl+Alt+W 是指定給剪下。假設使用者安裝一個新的外掛程式,將 Ctrl+Alt+W 指定至特定指令。Eclipse 會將使用者的指派保留給剪下,但是會顯示有小型「變更」圖型的快速鍵連結,而不會顯示含有「加號」圖型的快速鍵連結。

衝突解決

只有少數簡單、常用的按鍵作用可以指定給多個指令。許多配置、範圍、平台和語言環境的所有分割鍵順序在指派到網域中時,並沒有彼此衝突。就上面的Ctrl+B 案例來說,假設範圍並不存在。有一個外掛程式將 Ctrl+B 指定給建置,則其他的外掛程式會將Ctrl+B 指定給將文字變為粗體字。那麼 Eclipse 將如何正確地解決這個衝突呢?

雖然可藉由上述的機制來大量減少衝突,但衝突仍然可能發生。兩個獨立的外掛程式也可能會將同一個快速鍵順序指定給具有相同範圍、配置、平台和語言環境的不同指令。假設某個外掛程式在廣域範圍和標準配置中將 Ctrl+F4 指定給其中一個指令。這樣就會與 Eclipse 在同一個範圍和配置中指定給「關閉」指令的 Ctrl+F4 產生衝突。

這就是衝突。同時呼叫兩個指令是不正確的,您也不能只選擇其中一個指令來接收按鍵作用。唯一適合的方法就是忽略這兩個快速鍵連結,使 Ctrl+F4 在這個範圍和配置中無效。

下列「按鍵」喜好設定頁面顯示這個本質上的衝突。請注意紅色的文字和 "[衝突]" 一字:

顯示快速鍵順序 Ctrl+F4 的衝突的按鍵喜好設定頁面

如果要解決這類衝突,使用者可以將快速鍵順序明確指定給其中一個指令。

另一類的衝突可能是因為快速鍵順序有多重按鍵作用。例如,在 Emacs 配置中,有許多多重按鍵作用的快速鍵順序是以Ctrl+X 的按鍵作用作為開頭。Ctrl+H K 是指定給關閉Ctrl+X H 是指定給全選

如同之前的說明,Emacs 配置會從標準配置借用快速鍵連結。在標準配置中,Ctrl+X 是指定給剪下。雖然 Emacs 配置沒有明確重新定義 Ctrl+X, 但是它的許多快速鍵連結都需要按下 Ctrl+X。在 Emacs 配置中,按下 Ctrl+X 時,就等於要進入其中一個可能已經指定的快速鍵順序。但我們並不希望在這時候呼叫剪下動作。

對於這類衝突,其規則是忽略已指定給剪下Ctrl+X。否則,就無法完成Emacs 配置中的許多快速鍵連結。

相關概念
在 Eclipse 中的協助工具特性
變更快速鍵連結
線上說明系統

相關參照
Eclipse 中的字型和色彩設定

Copyright IBM Corporation and others 2000, 2003. All Rights Reserved.