基于GDI+实现的结合C#类库的JavaScript脚本编辑器的制造方法

文档序号:8380782阅读:452来源:国知局
基于GDI+实现的结合C#类库的JavaScript脚本编辑器的制造方法
【技术领域】
[0001]本发明属于计算机软件领域,具体涉及一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器。
【背景技术】
[0002]目前市面上存在很多JavaScript脚本编辑器,并且都有各自的特点,但都具有如下局限性:
1.缺乏代码智能补全功能,不支持自定义扩展C#方法(“方法”是包含一系列语句的代码块)的功能;
2.部分支持代码预览功能,但无法做到复杂结果集的图形化预览;
3.不支持在JavaScript脚本中调用C#方法;
4.无法把脚本编译为动态链接库(DLL,Dynamic Link Library)。
[0003]名词解释:
⑶I+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口 ;
JavaScript是一种脚本语言;
C#是一种高级程序设计语言。

【发明内容】

[0004]本发明针对现有技术的不足,提供了一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器,以解决现有技术缺乏代码智能补全等功能的问题。
[0005]为了实现以上发明目的,本发明采取的技术方案如下:一种基于⑶I+实现的结合C#类库的JavaScript脚本编辑器,包括:代码智能补全单元,用于支持JavaScript关键字和C#方法智能提示JavaScript脚本单元,用于支持C#方法调用;预览单元,用于将结果集通过弹出框方式进行预览;脚本编译单元,用于将编写好的脚本翻译成标准的C#语句,保存到文件,并利用.net (Microsoft XML Web services平台)框架所提供的类库,对文件进行编译,生成DLL类库。
[0006]作为优选,还包括:高亮度显示单元,用于增加脚本可读性;书签功能单元,用于添加和删除书签;录制宏单元,用于宏的录制和执行。
[0007]作为优选,脚本编辑器的界面包括代码编辑区、调试结果显示区和脚本预览窗口。
[0008]作为优选,扩展自定义方法具体步骤如下:
101-在代码编辑区,输入关键字片段,根据智能提示,输入自定义扩展方法;
102-点击运行按钮,根据代码编辑区显示文本,获取标准的脚本代码;
103-脚本执行控制引擎,接收步骤102传入的脚本代码,使用Noesis.JavaScript开源组件,执行JavaScript脚本和自定义扩展代码,返回结果数据;
104-返回结果数据,利用解析组件进行数据解析,呈现到界面。
[0009]作为优选,101所述的代码智能补全具体步骤如下:
1011-定义XML文件,存储元素项列表,加载XML文件到内存中;
1012-根据元素项类型,加载不同类型的智能提示元素项;
1013-当输入某个字符后,触发KeyPress Event Handler事件;
1014-在步骤1013中的事件方法中,获取编辑区中当前代码段,循环步骤1012中智能提示元素项,依次比对元素项的值,添加以代码段开头的元素项到需要显示的元素项集合中;
1015-根据步骤1014中元素项集合,绘制自动提示菜单选择框。
[0010]作为优选,103所述的自定义方法执行具体步骤如下:
1031-创建JavaScript类库实例对象context;
1032-创建脚本扩展方法引擎实例对象;
1033-设置context参数,扩展C#自定义方法:
1034-调用context对象方法,执行脚本代码。
[0011]作为优选,1032所述的脚本扩展方法引擎具体步骤如下:
10321-引入.net类库和第三方类库;
10322-采用C#语法,调用其余类库方法,进行二次加工处理,实现需要的功能方法;
10323-按功能进行方法分类,实现不同的功能操作模块;
10323-创建一个类,在类中,声明各类操作模块实例对象,作为自定义扩展方法的统一入口 ;
10324-脚本扩展方法引擎。
[0012]作为优选,脚本编辑器采用.NET Framework 4.0框架,通过C#编程实现。
[0013]作为优选,脚本编辑器全部文本的渲染通过⑶I+接口实现。
[0014]本发明的有益效果如下:
1.支持16种文本样式高亮度显示,增加脚本可读性;
2.基于GDI+实现,支持代码智能补全,实现调用C#方法时自动补全;
3.利用JavaScript引擎(专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中,这里是 Noesis.Javascript, dll,是对 Google’s V8 JavaScript Engine 的封装),实现JavaScript脚本直接在.net环境下运行,从而完美支持脚本中调用C#方法;
4.支持复杂结果集的图形化预览;
5.支持把脚本编译为动态链接库DLL。
【附图说明】
[0015]图1为脚本编辑器技术架构示意图;
图2为脚本编辑器主要特点示意图;
图3为扩展自定义方法流程图;
图4为代码智能补全流程图;
图5为自定义方法执行流程图;
图6为脚本扩展方法引擎流程图。
【具体实施方式】
[0016]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
[0017]如图1所示,脚本编辑器技术架构示意图,具体内容如下;
101-采用.NET Framework 4.0框架(Windows组件,很多基于此架构的程序需要它的支持才能够运行),通过C#编程实现;也可以是.net 3.5或者.net 4.5等版本。
[0018]102-全部文本的渲染(输入文本的排版布局、着色处理等),通过⑶I+接口实现;
103-使用Noesis.JavaScript开源组件(JavaScript引擎),做到在.net中执行
JavaScript脚本,同时JavaScript脚本也能调用C#方法。
[0019]104-脚本编辑器,界面包括代码编辑区、调试结果显示区和脚本预览窗口。
[0020]如图2所示,脚本编辑器主要特点示意图,具体内容如下;
201-支持16种文本样式高亮度显示,增加脚本可读性,属于104所述的脚本编辑区。
[0021]1.定义关键字样式,包含Javascript关键字和自定义关键字。
[0022]2.定义配置项样式(脚本分为配置模块和功能模块)。
[0023]3.定义XML括号和XML属性样式(配置模块采用XML语法)。
[0024]4.定义字符样式、注释样式、数字样式。
[0025]202-代码智能补全,支持JavaScript关键字和C#方法智能提示功能,属于104所述的脚本编辑区。
[0026]203-Javascript脚本,支持C#方法调用,属于104所述的脚本编辑区。
[0027]使用Noesis.JavaScript开源组件,实现在.net中执行JavaScript脚本,同时在Javascript脚本调用C#方法。C#方法中,可以对其它语言类库方法进行调用,从而支持C、C++和Java等编程语言,如图3所不。
[0028]204-书签功能,属于104所述的脚本编辑区,现有技术。
[0029]1.当前编辑行,添加、删除书签。
[0030]2.菜单栏,“书签”选项,可以根据添加的书签进行向前或向后导航操作(支持快捷键)。
[0031]3.菜单栏,“书签”选项,删除全部书签(支持快捷键)。
[0032]205-录制宏,属于104所述的脚本编辑区,现有技术。
[0033]1.单击功能栏“录制宏”按钮(Ctrl+M),开始宏录制,输入光标快速闪烁,单击鼠标结束宏录制。
[0034]2.单击功能栏“执行宏”按钮(Ctrl+Shift+M),在输入光标所在位置,插入录制的宏。
[0035]206-预览,属于104所述的调试结果显不区和脚本预览窗口。
[0036]1.单击功能栏“运行”按钮(F5),执行脚本,结果集通过弹出框方式进行预览,完美的支持树形结构数据的呈现。
[0037]2.通过Log(msg),在调试结果显示区打印输出,方便对脚本进行调试。
[003
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1