本发明专利技术公开了一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器,属于计算机软件领域,一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器,包括:代码智能补全单元,用于支持JavaScript关键字和C#方法智能提示;JavaScript脚本单元,用于支持C#方法调用;预览单元,用于将结果集通过弹出框方式进行预览。本发明专利技术的有益效果如下:基于GDI+实现,支持代码智能补全,实现调用C#方法时自动补全;支持复杂结果集的图形化预览;支持把脚本编译为动态链接库DLL。
【技术实现步骤摘要】
本专利技术属于计算机软件领域,具体涉及一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器。
技术介绍
目前市面上存在很多JavaScript脚本编辑器,并且都有各自的特点,但都具有如下局限性: 1.缺乏代码智能补全功能,不支持自定义扩展C#方法(“方法”是包含一系列语句的代码块)的功能; 2.部分支持代码预览功能,但无法做到复杂结果集的图形化预览; 3.不支持在JavaScript脚本中调用C#方法; 4.无法把脚本编译为动态链接库(DLL,Dynamic Link Library)。名词解释: ⑶I+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口 ; JavaScript是一种脚本语言; C#是一种高级程序设计语言。
技术实现思路
本专利技术针对现有技术的不足,提供了一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器,以解决现有技术缺乏代码智能补全等功能的问题。为了实现以上专利技术目的,本专利技术采取的技术方案如下:一种基于⑶I+实现的结合C#类库的JavaScript脚本编辑器,包括:代码智能补全单元,用于支持JavaScript关键字和C#方法智能提示JavaScript脚本单元,用于支持C#方法调用;预览单元,用于将结果集通过弹出框方式进行预览;脚本编译单元,用于将编写好的脚本翻译成标准的C#语句,保存到文件,并利用.net (Microsoft XML Web services平台)框架所提供的类库,对文件进行编译,生成DLL类库。作为优选,还包括:高亮度显示单元,用于增加脚本可读性;书签功能单元,用于添加和删除书签;录制宏单元,用于宏的录制和执行。作为优选,脚本编辑器的界面包括代码编辑区、调试结果显示区和脚本预览窗口。作为优选,扩展自定义方法具体步骤如下: 101-在代码编辑区,输入关键字片段,根据智能提示,输入自定义扩展方法; 102-点击运行按钮,根据代码编辑区显示文本,获取标准的脚本代码; 103-脚本执行控制引擎,接收步骤102传入的脚本代码,使用Noesis.JavaScript开源组件,执行JavaScript脚本和自定义扩展代码,返回结果数据; 104-返回结果数据,利用解析组件进行数据解析,呈现到界面。作为优选,101所述的代码智能补全具体步骤如下: 1011-定义XML文件,存储元素项列表,加载XML文件到内存中; 1012-根据元素项类型,加载不同类型的智能提示元素项; 1013-当输入某个字符后,触发KeyPress Event Handler事件; 1014-在步骤1013中的事件方法中,获取编辑区中当前代码段,循环步骤1012中智能提示元素项,依次比对元素项的值,添加以代码段开头的元素项到需要显示的元素项集合中; 1015-根据步骤1014中元素项集合,绘制自动提示菜单选择框。作为优选,103所述的自定义方法执行具体步骤如下: 1031-创建JavaScript类库实例对象context; 1032-创建脚本扩展方法引擎实例对象; 1033-设置context参数,扩展C#自定义方法: 1034-调用context对象方法,执行脚本代码。作为优选,1032所述的脚本扩展方法引擎具体步骤如下: 10321-引入.net类库和第三方类库; 10322-采用C#语法,调用其余类库方法,进行二次加工处理,实现需要的功能方法; 10323-按功能进行方法分类,实现不同的功能操作模块; 10323-创建一个类,在类中,声明各类操作模块实例对象,作为自定义扩展方法的统一入口 ; 10324-脚本扩展方法引擎。作为优选,脚本编辑器采用.NET Framework 4.0框架,通过C#编程实现。作为优选,脚本编辑器全部文本的渲染通过⑶I+接口实现。本专利技术的有益效果如下: 1.支持16种文本样式高亮度显示,增加脚本可读性; 2.基于GDI+实现,支持代码智能补全,实现调用C#方法时自动补全; 3.利用JavaScript引擎(专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中,这里是 Noesis.Javascript, dll,是对 Google’s V8 JavaScript Engine 的封装),实现JavaScript脚本直接在.net环境下运行,从而完美支持脚本中调用C#方法; 4.支持复杂结果集的图形化预览; 5.支持把脚本编译为动态链接库DLL。【附图说明】图1为脚本编辑器技术架构示意图; 图2为脚本编辑器主要特点示意图; 图3为扩展自定义方法流程图; 图4为代码智能补全流程图; 图5为自定义方法执行流程图;图6为脚本扩展方法引擎流程图。【具体实施方式】为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本专利技术做进一步详细说明。如图1所示,脚本编辑器技术架构示意图,具体内容如下; 101-采用.NET Framework 4.0框架(Windows组件,很多基于此架构的程序需要它的支持才能够运行),通过C#编程实现;也可以是.net 3.5或者.net 4.5等版本。102-全部文本的渲染(输入文本的排版布局、着色处理等),通过⑶I+接口实现;103-使用Noesis.JavaScript开源组件(JavaScript引擎),做到在.net中执行JavaScript脚本,同时JavaScript脚本也能调用C#方法。104-脚本编辑器,界面包括代码编辑区、调试结果显示区和脚本预览窗口。如图2所示,脚本编辑器主要特点示意图,具体内容如下;201-支持16种文本样式高亮度显示,增加脚本可读性,属于104所述的脚本编辑区。1.定义关键字样式,包含Javascript关键字和自定义关键字。2.定义配置项样式(脚本分为配置模块和功能模块)。3.定义XML括号和XML属性样式(配置模块采用XML语法)。4.定义字符样式、注释样式、数字样式。202-代码智能补全,支持JavaScript关键字和C#方法智能提示功能,属于104所述的脚本编辑区。203-Javascript脚本,支持C#方法调用,属于104所述的脚本编辑区。使用Noesis.JavaScript开源组件,实现在.net中执行JavaScript脚本,同时在Javascript脚本调用C#方法。C#方法中,可以对其它语言类库方法进行调用,从而支持C、C++和Java等编程语言,如图3所不。204-书签功能,属于104所述的脚本编辑区,现有技术。1.当前编辑行,添加、删除书签。2.菜单栏,“书签”选项,可以根据添加的书签进行向前或向后导航操作(支持快捷键)。3.菜单栏,“书签”选项,删除全部书签(支持快捷键)。205-录制宏,属于104所述的脚本编辑区,现有技术。1.单击功能栏“录制宏”按钮(Ctrl+M),开始宏录制,输入光标快速闪烁,单击鼠标结束宏录制。2.单击功能栏“执行宏”按钮(Ctrl+Shift+M),在输入光标所在位置,插入录制的宏。206-预览,属于104所述的调试结果显不区和本文档来自技高网...
【技术保护点】
一种基于GDI+实现的结合C#类库的JavaScript脚本编辑器,其特征在于,包括:代码智能补全单元,用于支持JavaScript关键字和C#方法智能提示;JavaScript脚本单元,用于支持C#方法调用;预览单元,用于将结果集通过弹出框方式进行预览;脚本编译单元,用于将编写好的脚本翻译成标准的C#语句,保存到文件,并利用.net框架所提供的类库,对文件进行编译,生成DLL类库。
【技术特征摘要】
【专利技术属性】
技术研发人员:梁效宁,
申请(专利权)人:四川效率源信息安全技术有限责任公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。