使用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的结果.
是不是很简单?
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的结果.
是不是很简单?