注册 登录
Office中国论坛/Access中国论坛 返回首页

ganlinlao的个人空间 http://www.office-cn.net/?230471 [收藏] [复制] [分享] [RSS]

日志

把PrimalScript打造成一款现代化的VBA(vb6)和Freebasic编辑器

热度 1已有 5766 次阅读2016-2-29 12:21 |个人分类:FreeBasic| vba编辑器, FB编辑工具

VB6和VBE编辑器有快20个年头没有发生变化了。虽然它依然方便,它相比较其它发展突飞猛进的编辑器而言,它显得比较落后和陈旧。
如果能为vba(vb6)寻找一款具有现代气息的编辑器,其实也是一件幸事。
PrimalScript是一款通用的编辑器,它支持超过30种的编程语言的语法突显,提供方便的向导功能以及强大工程和模板管理功能,还有特别为程序员而设计的代码编辑功能,如:自动完成关键字,成员列表,动态提示参数信息,自动更正大小写,添加/减少缩进,批量注释/反注释等,并且还提供了十六进制编辑功能。 特别适合于编写ASP、ASP.net、PhP、JSP和HTML等网页编程语言!它显著的特点是对vbscript和powershell支持特别好。可以说它是当今世界上编写vbscript和powershell脚本语言最强大的编辑器。



因为primascript对vbscript支持特别好,所以我们可以把它改造成同时适用VBA(vb6)和freebasic的强大的编辑工具。

1、改造一:拓展vbscript的语法关键字。vbs只是vba的子集而已,因此有部分的vba关键字,vbscript并不支持。

    在primalscript同目录下,新建一个vbscript.ext文件。把vba(vb6)有的而vbs没有的关键字添加上去。

  

我在这里也多添加了freebasic的关键字。

2、改造二:拓展vbscript的函数提示库。有一些vba有的函数或语句而vbs没有。

     primalscript的vbs语法提示文件,是vbsript.sense

    sense文件中M=方法(sub或fuction),P=属性,E=Event事件,[Err,Error]用中括号表示对象

注意:primalscript的vba代码提示是通用createobject()来进行的,这和vba使用New不太一样。只有先createobject()创建对象,才会对对象自动代码提示。

3、改造三:引用类型库tlb、old

     如果是activeX.dll或ocx,只要注册,primalscript能自动识别出来,无须引用,我这里指的是单独的tlb类型库文件。

    只有引用类型库tlb,primascript才会自动代码提示。引用的文件是Components.lst

   

     Components文件只是用来写关键字

    真正的引用是在References.lst文件中

其中最后的guid是指tlb的clsid。顺序是类型库名称;proid;类型库的clsid;版本号

   注意:如果是已经注册的activeX.dll或ocx无须引用,primalscript会自动代码提示出来。 

   引用单独的tlb的情况不多,一般适用比较高级的vba用户。如winapi.tlb,thread.tlb,com.tlb,oleexp3.tlb,mscrt.tlb(用c的函数库)等等

4、改造四:拓展vbs的文件类型和对vb文件的代码调试

点击【工具】,【选项】

    

    拓展名添加后,如frm文件,primalscript会自动视为是vbscript的文件。

   调试的时候,点击【脚本】--->编译或检查脚本。会自动调用vb6打开文件,然后自己进行调试。

   这是目前比较土的调试方法,没有办法。

5、改造五:设置代码使用不同的颜色

   这个根据不同人的喜好,自己设置。primalscript的代码颜色相当不错,比vba编辑器强很多很多。

6、改造六:vbp工程管理,这个目前我还没尝试。


总而言之,在vba和vb6逐渐消失于世的今天,还有一款不错的编辑器,是一件幸事。如果你想换一个vba代码编辑环境,用primalscript是不错的选择。

只不过,你必须对它进行适当的改造。当然,我重点是想把它改成更适用于Freebasic。祝好运!



发表评论 评论 (1 个评论)

回复 tmtony 2016-3-7 10:32
这个不错哦!!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-3-29 17:28 , Processed in 0.091964 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部