[发明专利]一种基于ace扩展的第三方库的代码补全方法及装置有效
申请号: | 201910083748.5 | 申请日: | 2019-01-29 |
公开(公告)号: | CN109901829B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 孙悦;李天驰;翁晓君 | 申请(专利权)人: | 深圳点猫科技有限公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33 |
代理公司: | 广东良马律师事务所 44395 | 代理人: | 李良 |
地址: | 518000 广东省深圳市粤海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ace 扩展 第三 代码 方法 装置 | ||
本发明公开了一种基于ace扩展的第三方库的代码补全方法及装置,方法包括:通过ace的api接口绑定函数;获取用户输入的文本,检测到文本输入结束时,解析当前文本;若解析后的当前文本已引入第三方库,则根据ace的自动补全api,创建第三方库的代码联想库;当检测到用户再次输入时,检测到用户当前的输入文本匹配到已引入的第三方库的调用模式,则弹出第三方库对应的自动补全框;获取用户在自动补全框中选中的内容,将对应的自动补全框中的内容添加至当前的文本中。本发明实施例可以动态识别加入的第三方库,当用户调用该库的api时,能够自动联想到该库中的api库,选中并补全该api,提高编程效率。
技术领域
本发明涉及通信技术领域,尤其涉及一种基于ace扩展的第三方库的代码补全方法及装置。
背景技术
在web开发中,需要使用很多的第三方库,用来实现编辑器的各种功能。而ace作为一个成熟的第三方库,提供了强大的编辑器组件。ace编辑器可以编写代码或文本,能够实现代码高亮、缩进等功能。ace本身自带代码补全功能,然而ace本身自带的代码补全功能不完善。当我们在ace中引入其他第三方库,调用该库的api时,并不能自动识别该库,自动补全调用的api,对于python这门第三方库丰富的语言而言,体验十分不友好。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种基于ace扩展的第三方库的代码补全方法及装置,旨在解决现有技术中ace编辑器中扩展的第三方库无法进行代码联想,只能手动补全,代码编辑效率低的问题。
本发明的技术方案如下:
一种基于ace扩展的第三方库的代码补全方法,应用于图形化编辑器,所述方法包括:
通过ace的api接口绑定函数;
获取用户输入的文本,检测到文本输入结束时,解析当前文本;
若解析后的当前文本已引入第三方库,则根据ace的自动补全api,创建第三方库的代码联想库;
当检测到用户再次输入时,检测到用户当前的输入文本匹配到已引入的第三方库的调用模式,则弹出第三方库对应的自动补全框;
获取用户在自动补全框中选中的内容,将对应的自动补全框中的内容添加至当前的文本中。
可选地,所述通过ace的api接口绑定函数,包括:
通过ace的api接口,将函数绑定至ace的afterexec中。
可选地,所述获取用户输入的文本,检测到文本输入结束时,解析当前文本,包括:
获取用户输入的文本,检测到文本输入结束时,通过skulpt解析当前文本。
可选地,所述若解析后的当前文本已引入第三方库,则根据ace的自动补全api,创建第三方库的代码联想库,包括:
获取解析后的当前文本,判断是否引入了第三方库;
若已引入第三方库,则检索所述第三方库的所有的api;
通过ace的添加自动补全的api,创建好所述第三方库的代码联想库的数据。
可选地,所述当检测到用户再次输入时,检测到用户当前的输入文本匹配到已引入的第三方库的调用模式,则弹出第三方库对应的自动补全框,包括:
当检测到用户再次输入时,ace监听键盘输入事件,实时匹配当前行的输入文本;
若检测到用户的输入文本匹配到已引入的第三方库的api的调用模式;则弹出第三方库对应的自动补全框。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳点猫科技有限公司,未经深圳点猫科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910083748.5/2.html,转载请声明来源钻瓜专利网。