posts - 257, comments - 1327, trackbacks - 52, articles - 8
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

        在看了鹰翔兄写的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

Feedback

#1楼    回复  引用  查看    

2005-09-05 11:08 by idior      
哈 做个ironpython 在Vs.net下的插件你就出名了.

#2楼 [楼主]   回复  引用  查看    

2005-09-05 11:18 by FantasySoft      
正所谓人怕出名,猪怕壮。 出名? 怕怕的说。

It's so simple, all for fun.

#3楼    回复  引用  查看    

2005-09-05 11:23 by 灵感之源的Smart Forge智能工厂      
既然大家都在做,都认识,为什么不一起做?

分而创造之,那还不是“invent the wheel”?

#4楼 [楼主]   回复  引用  查看    

2005-09-05 11:45 by FantasySoft      
To 灵感之源:灵感老大,我和鹰翔兄的关注点是不太一样的,我希望能够利用IronPython与C#之间的协作能力,用C#开发一个IDE,让更多的人能够更容易地使用IronPython。而鹰翔兄则更为纯粹,他直接使用IronPython来开发代码编辑器的,更多地关注代码编辑本身,有点类似EditPlus这样的工具。而且他做得比我好多了。

一起做的可能性是存在的,我也期待合作。但是利用C#做开发的能力,我还比较弱,想通过做这个东东来提高自己。总之,我还需要准备,需要磨练。毕竟我们在一起是合作,需求的是双赢。我不想只获取而不付出,成为一个team的软肋。

#5楼    回复  引用  查看    

2005-09-05 15:29 by Ninputer      
也许你这样做下去,我就不需要Perl和批处理了。强烈支持楼主现在的思路。

#6楼    回复  引用    

2005-09-05 17:12 by XiaoHui [未注册用户]
可以参考一下XACC,结构上应该是类似于#Develop的模式。

http://blogs.wdevs.com/leppie/archive/2005/06/08/3924.aspx

#7楼    回复  引用  查看    

2005-09-05 18:07 by 鹰翔      
其实我更感兴趣的是IronPython与.NET之间的协作能力,
这样如果开发一个大型系统如果要编辑一些脚本之类的就
可以用IronPython来做,用.NET来做基本框架,就好像VBA在office里的作用
这样,软件的扩展性和可配置性就更高了.
还有,你的项目我很感兴趣,多多交流

#8楼    回复  引用  查看    

2005-09-05 18:26 by 鹰翔      
文件下载后打不开,只有2K大,好像没有上传完吧.

#9楼 [楼主]   回复  引用  查看    

2005-09-05 20:55 by FantasySoft      
To Ninputer: 谢谢您的支持,我也希望这个东东能够走得更远,给自己也给大家带来乐趣。:)

To 鹰翔:So great! 我也觉得IronPython的定位正是在于此。从IronPython自带的Embeding例子中,我们可以看到IronPython与C#之间的协作。 烦请以后多多指教了。 还有,文中的链接已经修正了,不好意思。 :P

To XiaoHui: 谢谢您提供的链接,这个对我很有帮助,非常感谢!

#10楼    回复  引用    

2007-05-09 20:04 by 66ccff [未注册用户]
An unhandled exception of type 'System.MissingMethodException' occurred in FantasyPython.exe

Additional information: Method not found: 'Void System.Windows.Forms.MenuStrip.set_Raft(System.Windows.Forms.RaftingSides)'.

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2005-09-05 20:46 编辑过