一种代码补全实现方法、装置和计算设备与流程

文档序号:13676664阅读:172来源:国知局
技术领域本发明涉及一种代码补全实现方法、装置和计算设备。

背景技术:
目前市面上存在很多脚本编辑器,例如,Sublime编辑器、JavaScript编辑器等等,每一款编辑器都有各自的特点。以Sublime为例,Sublime编辑器的主要功能包括:拼写检查、书签、完整的PythonAPI、Goto功能、即时项目切换、多选择、多窗口等等。另外,Sublime具有漂亮的用户界面和强大的功能,例如,代码缩略图,Python的插件,代码段等。还可自定义键绑定、菜单和工具栏等。同时,Sublime编辑器也是一个跨平台的编辑器,同时支持Windows、Linux、MacOSX等操作系统。但是,Sublime的局限在于,在编程过程中仅提示当前编辑环境中定义过的属性或者函数的补全,对于例如Cocos游戏引擎中的脚本文件无法提供代码补全,给研发人员带来一定的阻碍。

技术实现要素:
为此,本发明提供一种新的代码补全的实现方法、装置和计算设备,以力图解决或者至少缓解上面存在的问题。根据本发明的一个方面,提供一种代码补全实现方法,在计算设备中执行,该方法包括:获取至少一个游戏引擎脚本文件;从至少一个脚本文件中提取脚本语言格式的多个函数;将脚本语言格式的多个函数转换为编辑器支持的语言格式的多个函数;将编辑器支持的语言格式的多个函数存储在编辑器预定文件夹下的函数配置文件中,以便由编辑器根据用户输入的函数名检索函数配置文件中的函数并返回与该函数名对应的函数体。可选地,在根据本发明的代码补全实现方法中,编辑器支持的语言格式补全代码的格式包括sublime-completions格式,函数配置文件的格式为Json格式。可选地,在根据本发明的代码补全实现方法中,游戏引擎脚本文件包括Lua脚本文件和Python脚本文件中的一个。可选地,在根据本发明的代码补全实现方法中,从至少一个脚本文件中提取脚本语言格式的多个函数的步骤包括:在脚本文件中所搜函数的注释起始符和终止符,提取每一注释终止符与下一注释起始符之间的函数。根据本发明的一个方面,提供一种代码补全实现装置,驻留在计算设备中,该装置包括:脚本获取单元,适于获取至少一个游戏引擎脚本文件;函数提取单元,适于从至少一个脚本文件中提取脚本语言格式的多个函数;格式转换单元,适于将脚本语言格式的多个函数转换为编辑器支持的语言格式的多个函数;配置文件生成单元,适于将编辑器支持的语言格式的多个函数存储在编辑器预定文件夹下的函数配置文件中,以便由编辑器根据用户输入的函数名检索函数配置文件中的函数并返回与该函数名对应的函数体。可选地,在根据本发明的代码补全实现装置中,编辑器支持的语言格式包括sublime-completions格式,函数配置文件的格式为Json格式。可选地,在根据本发明的代码补全实现装置中,游戏引擎脚本文件包括Lua脚本文件和Python脚本文件中的一个。可选地,在根据本发明的代码补全实现装置中,函数提取单元还适于:在脚本文件中搜索函数的注释起始符和终止符,提取每一注释终止符与下一注释起始符之间的函数。根据本发明的一个方面,提供一种计算设备,包括如上的代码补全实现装置。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本发明一个实施例的计算设备100的示意图;图2示出了根据本发明一个实施例的代码补全实现装置200的示意图;以及图3示出了根据本发明一个实施例的代码补全实现方法300的流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明的代码补全实现装置驻留在计算设备中,图1布置为实现根据本发明的代码补全实现装置的示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。图2示出了根据本发明一个实施例的代码补全实现装置200的结构图。如图2所示,该代码补全实现装置200驻留在计算设备中,该装置包括:脚本获取单元210、函数提取单元220、格式转换单元230和配置文件生成单元240。为了制作更优秀的游戏产品、提供更优质的游戏服务,在游戏开发过程中,一般采用Cocos游戏引擎。Cocos游戏引擎能够为游戏开发提供一站式解决方案,包含了从新建立项、游戏制作、到打包上线的全套流程。开发者可以通过Cocos快速生成代码、编辑资源和动画,最终输出适合于多个平台的游戏产品。本发明对Sublime进行二次开发,使得研发人员在使用Sublime编辑器对Cocos游戏引擎进行编程时,实现Cocos游戏引擎在Sublime开发环境中的代码补全功能,即编辑器根据用户输入的函数名返回对应的函数体。具体如下:脚本获取单元110获取至少一个游戏引擎脚本文件,例如,Lua脚本、Python脚本等等。脚本文件英文为Script,是文本文件,用户可使用任一编辑器来创建脚本文件,它可以将不同的命令组合起来,并按确定的顺序自动连续地执行。脚本语言也比较多,例如,Scala、JavaScript、VBScript、Lua等,一般的脚本语言的执行只同具体的解释执行器有关。此处应当理解,脚本获取单元110获取的游戏引擎脚本文件的格式为任意格式。函数提取单元120从脚本获取单元110获取的至少一个脚本文件中提取脚本语言格式的多个函数,此处的脚本语言格式一般为Lua格式。在获取函数时,首先在脚本文件中搜索每一函数的注释起始符和终止符,如,起始符/*、终止符*/,提取每一注释终止符与下一个注释起始符之间的函数。函数包括有函数名和函数体,函数名例如为function(child,localZOrder,tag)、getChildByTag(aTag)、addChild(child,localZOrder,tag)、removeFromParent(cleanup)、removeFromParentAndCleanup(cleanup)等等,而函数体为跟随在函数名之后的“{……
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1