代码改变世界

IronPython编辑器 —— FantasyPython雏形的雏形

2005-09-04 23:54  FantasySoft  阅读(3138)  评论(10编辑  收藏

        在看了鹰翔兄写的Post以及他开发IronPython的小代码编辑器之后,我发现心有灵犀真的如此之奇妙。开发一个IronPython的代码编辑器也是我在这个月的计划之一啊,鹰翔兄已经走在了我的前面,看来我也要快步赶上了。
        还记得小的时候在农村,父母都会给自己的孩子起个阿猫、阿狗这样的名字,希望孩子能够容易养活,并且茁壮成长。而爱幻想的我
,在IronPython编辑器还没有影子的时候,就已经给她起了个好听的名字 —— FantasyPython,也是希望她能够如我幻想的一样,伴随我不断成长。好了,让我们回归正题。由于我一直使用ActivePython来编写Python代码,那么在构思FantasyPython的时候,就很自然地想到了以ActivePython作为原型。因此,第一步计划就是依葫芦画瓢的将ActivePython的主要特性在FantasyPython中一一实现。在ActivePython众多有意思的特性中,整合了Python的Interactive Mode是比较重要的。所以,偶的第一步计划中的第一步也是打算将IronPythonConsole整合到FantasyPython中去。于是,一直秉持"Don't invent the wheel"原则的我便很勤快(其实是偷懒)的Google起来。最后,我在CodeProject中找到了一篇非常不错的文章:ShellControl - A console emulation control 。
        我依照这篇文章的介绍,奋战了几个小时,终于把一个Console整合到了IDE界面中,但这仅仅是一个基于"cmd"的Console,而不是IronPython的Console,要最终实现IronPythonConsole的嵌入,还有很多东西要去学习,希望能够尽快把这个功能搞定。Anyway,总算迈出了万里长征的第一步,我就把这个雏形的雏形先让大家看看吧。[1] 除了加入了一个Console之外,你还可以通过菜单栏File里的New选项创建一个新的script编辑窗口,但是这个编辑窗口还很简陋,你只能在里面写单行的IronPython Expression,然后点击File里的Run选项,就会弹出一个对话框将结果Show出来。刚才我自己又试了一下鹰翔兄Post中给出的[a*3 for a in range(1,11) if a%2==0],结果是出来了,但是我不能在编辑窗口中Copy & Paste!噢,我做的东西真的太简陋了,So FT!
        看着这样的一个破东西,我傻傻地想起了爱因斯坦的小板凳的故事。其实,各位看到了已经不是最差的了,呵呵~~

[1] FantasyPython 0.0