豆腐生活

豆腐的平静生活
随笔 - 127, 评论 - 903, 引用 - 60

导航

工具

关于

豆腐制作 都是精品

每月存档

广告



访客

 

其实Visual Studio的IDE环境是我见到的最好的编程环境了。

聪明的智能感知,老实讲,这样的功能实现起来并不是多么的深奥,但是细致的考虑真的不得不PF一下。
在一定程度上来讲,如果使用Visual Studio .net 或者(Visual Stuio6)进行一种特定语言的开发也真的是没有多大的必要进行再一次的开发,因为VS本身就支持这样的功能,就拿我们现在要用到的atlas语言来说吧,首先只要定义了atlas的语法文件,就有办法让Vs.net 2003 来支持。
 
但是有的时候,这样使不够的。我们的这个应用必须显式的支持多种语言,尤其是这个atlas语言。悲伤的脸
另外,VS仅仅做到了关键字加亮的程度,有的时候我们需要做到Visual Assist 这么智能的感知,包括对于变量名称,函数名称的提示。
 
1.代码加亮
因此,决定自己来做语法加亮引擎,同时在制作加亮引擎的同时,留出编程接口,以便第三方开发出更好的加亮引擎。坦白讲,这样做也有逃避劳动的嫌疑,因为自认为语法加亮本人无法做到特别的好。悲伤的脸
2.design window
由于项目应用的特殊性,不能使用我们常见的按钮,输入框这些控件,必须使用元器件类似的控件,因此design window需要用VC来开发,并预留开发接口,以便将来更多的元器件库的加入。其实这里的所谓接口是很简单的,也没有必要做成ActiveX那么复杂的。只要是包含指定API函数和指定类型的dialog的DLL文件即可,复制到软件运行的control目录即可。

3.编译,链接

我们这样的小公司不可能自己做编译器了,所以我们的编译是调用语言自己本身提供的编译器来实现的,事实上VS本身也是这样实现的,不过按照标准,首先声称make文件,然后再进行编译,以便将来这个开发软件也可以运行在非windows平台。

moslem提供的方法自然也是可以的,不过我采用的办法是利用管道,这样用户在编译的同时就可以看到输出的结果,而不是等到最终。

此外,由于需要支持多种语言,而不同语言的编译器的输出文本格式是不一样的,因此需要将对编译器的文本输出的分析单独做成一个DLL,以实现错误定位的功能。

4.调试

为实现调试的功能,编译器首先是必须支持Debug开关的,否则即使可以用SoftIce设置断点,意义也不是很大,小马哥给我介绍的PCH 和PDB文件的方法我现在还没有时间进行。

整个这个编辑器的开发,我对调试这一块是最没有底的,大家有什么好办法呀。

相关文章

Loading...

打印 | 张贴于 2004-05-27 16:01:00 | Tag:暂无标签

留言反馈

#re: 自定义开发工具 编辑
语法加亮引擎做出来了吗?
教俺两招,呵呵

just_deadcode@yahoo.com.cn
2005-08-02 07:46:00 | [匿名用户:deadcode]
#re: 自定义开发工具 编辑
问下到底什么是atlas语言啊?
2005-06-29 16:34:00 | [匿名用户:kh]
#re: 自定义开发工具 编辑
牛避!!!支持!!
2005-05-26 06:55:00 | [匿名用户:xn]
#回复: 自定义开发工具 编辑
我很久以前也是认为VS.Net是最好的开发工具,可能是因为在MS阵营呆得太久了。

现在我认为Eclipse是我见过最好的开发工具。而且其开放性不是Vs.net能比的,我好佩服Eclipse平台的设计师,扩展性太好了,只要是你想的地方,你都能做扩展,写自已的插件。

而且本身就是开源的,从他的源代码里,你就会学到很多,呵呵。推荐你使用,我记得你也写Java的。
2004-06-19 00:52:00 | [匿名用户:飞刀 ]
#回复: 自定义开发工具 编辑
调试,至少要有一个虚拟环境或者虚拟机什么的或者语言支持解释并且有解释器,才可以搞吧?
2004-06-10 17:55:00 | [匿名用户:tinyfool]
#回复: 自定义开发工具 编辑
spam test
2004-06-10 16:33:00 | [匿名用户:豆腐牌的Spam]
#回复: 自定义开发工具 编辑
好象有个 e 语言,你去研究一下它如何实现的吧
2004-05-27 20:52:00 | [匿名用户:moslem]
#回复: 自定义开发工具 编辑
to mike:
Thanks for your reply.I know the VSIP can do a perfect job on this integration.But what I want is a new editor to support many kinds of program languages
2004-05-27 17:10:00 | [匿名用户:豆腐]
#回复: 自定义开发工具 编辑
for this kind of integration with VS.Net, only VSIP can help. Checkout www.vsipdev.com.
2004-05-27 16:42:00 | [匿名用户:mike (atempcode@yahoo.com)]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System