[Dev-Boo]SharpDevelop修改快捷鍵

使用SharpDevelop開發boo很好用,項目組織,代碼提示什麼的.

SharpDevelop是一款很好的open IDE,如果寫一些簡單的dotnet產品使用#Develop會很容易上手.

#Develop對boo已經支持代碼提示(快捷鍵:Ctrl+Space),可惜跟中文系統的輸入法切換衝突了.

我也爲這個煩惱了一陣,雖說可以用,但不能主動調出提示也很不方便,我曾經嘗試修改#Develop的源碼(因爲我當時以爲是硬編碼),當然也嘗試各種我所能想到的辦法,都不可行(可能我用的方法不對).

今天只是隨意在網上查了一下,看到老外有人給出提示修改ICSharpCode.SharpDevelop.addin文件(在AddIns目錄下)修改Ctrl+N的快捷鍵.我猜想會不會同相也可以修改Ctrl+Space,vi想找了一下真被我找到了.

修改內容如下:
想找ICSharpCode.SharpDevelop.addin文件,檢索"ControlSpace"將定位到Tag:

editaction class="ICSharpCode.SharpDevelop.DefaultEditor.Actions.CodeCompletionPopup" id="CodeCompletionPopup" style="COLOR: #cc0000" keys="ControlSpace" 

(注:Control和Space之間有一個或運算符,blogger沒能打出來)

這個文件是以XML文件格式組織的,比如我想把原來的"Ctrl+Space"改爲"Ctrl+",則我修改後爲:

editaction class="ICSharpCode.SharpDevelop.DefaultEditor.Actions.CodeCompletionPopup" id="CodeCompletionPopup" style="COLOR: #cc0000" keys="ControlOem5" 

(注:Control和Oem5之間有一個或運算符,blogger沒能打出來)

格式很簡單(做dotnet的朋友應該都很熟悉),如:"Ctrl+U"的描述爲"ControlU","Ctrl+Z"的描述爲"ControlZ"...

一些特殊的符號可以查MSDN的System.ConsoleKey這個枚舉,如果手頭沒裝MSDN,那可以試試我的辦法,在booish裏輸入這段代碼:

print System.Console.ReadKey().Key

很簡單一行Boo代碼,調用System.Console的ReadKey方法等待一個按鍵輸入,然後通過打印Key屬性得到ConsoleKey枚舉對象.

下面是我運行的結果:

>>>print Console.ReadKey().Key
Oem5

而前面這個""是我的輸入,後面的"Oem5"則是我想等到的ConsoleKey的結果.

是不是很簡單?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章