[发明专利]一种基于ace扩展的第三方库的代码补全方法及装置有效
申请号: | 201910083748.5 | 申请日: | 2019-01-29 |
公开(公告)号: | CN109901829B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 孙悦;李天驰;翁晓君 | 申请(专利权)人: | 深圳点猫科技有限公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33 |
代理公司: | 广东良马律师事务所 44395 | 代理人: | 李良 |
地址: | 518000 广东省深圳市粤海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ace 扩展 第三 代码 方法 装置 | ||
1.一种基于ace扩展的第三方库的代码补全方法,其特征在于,应用于图形化编辑器,所述方法包括:
通过ace的api接口绑定函数;
获取用户输入的文本,检测到文本输入结束时,解析当前文本;
若解析后的当前文本已引入第三方库,则根据ace的自动补全api,创建第三方库的代码联想库;
当检测到用户再次输入时,检测到用户当前的输入文本匹配到已引入的第三方库的调用模式,则弹出第三方库对应的自动补全框;
获取用户在自动补全框中选中的内容,将对应的自动补全框中的内容添加至当前的文本中;
所述通过ace的api接口绑定函数,包括:
通过ace的api接口,将函数绑定至ace的afterexec中;
所述若解析后的当前文本已引入第三方库,则根据ace的自动补全api,创建第三方库的代码联想库,包括:
获取解析后的当前文本,判断是否引入了第三方库;
若已引入第三方库,则检索所述第三方库的所有的api;
通过ace添加自动补全api,根据ace的自动补全api创建好所述第三方库的代码联想库的数据;
所述当检测到用户再次输入时,检测到用户当前的输入文本匹配到已引入的第三方库的调用模式,则弹出第三方库对应的自动补全框,包括:
当检测到用户再次输入时,ace监听键盘输入事件,实时匹配当前行的输入文本;
若检测到用户的输入文本匹配到已引入的第三方库的api的调用模式;则弹出第三方库对应的自动补全框;
在每一次文本输入结束时都要进行检查,检查是否有已定义好的函数和变量,若有已定义好的函数和变量,则添加至自动补全列表中;
所述获取用户输入的文本,检测到文本输入结束时,解析当前文本,包括:
获取用户输入的文本,检测到文本输入结束时,通过skulpt解析当前文本;
所述获取用户在自动补全框中选中的内容,将对应的自动补全框中的内容添加至当前的文本中,包括:
获取用户在自动补全框中选中的字符串,判断字符串是否为函数;
若字符串对应为函数,则将对应的函数及变量添加至当前的文本中;
所述若已引入第三方库,则检索所述第三方库的所有的api,包括:
若已引入第三方库,则通过pypi检索所述第三方库的所有api;
每次编辑文本结束时,重制一遍联想词库,并重新判断和加入新的联想词汇;
获取用户在自动补全框中选中的字符串,判断字符串是否为函数;若字符串对应为函数,获取函数所需的变量,根据用户在函数括号中输入的内容,将内容参数作为变量传递给函数,并将对应的函数及变量添加至当前的文本中;
丰富ace的代码联想和自动补全机制,动态识别加入的第三方库,当用户调用该库的api时,能够自动联想到该库中的api库,选中并补全该api;
ace 是一个开源的、独立的、基于浏览器的代码编辑器,可嵌入到任何web页面或JavaScript应用程序中。
2.一种基于ace扩展的第三方库的代码补全装置,其特征在于,所述装置包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1所述的基于ace扩展的第三方库的代码补全方法。
3.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1所述的基于ace扩展的第三方库的代码补全方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳点猫科技有限公司,未经深圳点猫科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910083748.5/1.html,转载请声明来源钻瓜专利网。