基于连续关键字的代码补全方法及装置制造方法及图纸

技术编号:15690549 阅读:53 留言:0更新日期:2017-06-24 03:01
本申请提供一种基于连续关键字的代码补全方法及装置,包括:基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字;将所述连续关键字存入预设的连续关键字列表;其中,所述连续关键字列表用于记录从所述指令代码中提取出的连续关键字以及所述连续关键字被成功提交的次数;将所述连续关键字列表中记录的被成功提交的次数达到预设阈值的连续关键字标记为有效状态;基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全。本申请可以自动从用户提交成功的指令代码中收集新的连续关键字。

Device and method for code completion based on keywords

The present invention provides a device and method for continuous, code completion based on the keywords include: keyword based keyword based continuous default keyword list in the extraction of user submitted successful instructions in the code based on the keyword in continuous; preset continuous key word list; wherein, the continuous keyword list is used for recording for keyword extraction. From the instruction code and the continuous keyword is successfully submitted number; the continuous keyword list records are the number of successful submission reaches a preset threshold continuous keyword tag is valid; based on the records of the keyword based keyword list and the list of keywords is continuous marked effective state of continuous implementation of key code completion. This application automatically collects new continuous keywords from the user's successful instruction code.

【技术实现步骤摘要】
基于连续关键字的代码补全方法及装置
本申请涉及通信领域,尤其涉及一种基于连续关键字的代码补全方法及装置。
技术介绍
集成开发环境(IDE,IntegratedDevelopmentEnvironment)是用于提供程序开发环境的应用程序,通常包括代码编辑器、编译器、调试器和图形用户界面工具等开发工具。在相关技术中,为了提升开发人员的代码编辑速度,在代码编辑器中通常会面向开发人员提供代码补全功能。所谓代码补全功能,是指开发人员在代码编辑器进行代码编辑时,代码编辑器能够根据开发者输入的代码字符,自动匹配并输出用户可能还会需要的基础关键字和连续关键字,开发人员在代码编辑的过程中,可以直接选择输出的基础关键字和连续关键字对已输入的代码字符进行补全,从而可以减少开发人员输入的代码量,提升开发者的代码编辑速度。然而,在现有的代码补全功能中,由于IDE支持的程序语言的语法可能会发生变化,因此与用户输入的代码字符进行匹配的连续关键字,通常无法找到一个全集,只能通过人工添加的方式来创建和维护连续关键字列表,不仅对连续关键字列表的维护效率低下,而且连续关键字列表中的连续关键字不全,无法实时反映当前IDE支持的程序语言的语法变化。
技术实现思路
本申请提出一种基于连续关键字的代码补全方法,该方法包括:基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字;将提取出的所述连续关键字存入预设的连续关键字列表进行更新;其中,所述连续关键字列表用于记录从所述指令代码中提取出的连续关键字以及所述连续关键字被成功提交的次数;将所述连续关键字列表中记录的被成功提交的次数达到预设阈值的连续关键字标记为有效状态;基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全。可选的,所述基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字,包括:读取用户提交成功的指令代码;确定该指令代码中是否包含由基础关键字列表中的任意两个或者两个以上的基础关键字组成的连续关键字;当该指令代码中包含由所述基础关键字列表中的任意两个或者两个以上的基础关键字组成的连续关键字时,提取该连续关键字。可选的,所述将提取出的所述连续关键字存入预设的连续关键字列表进行更新,包括:将提取出的所述连续关键字在预设的连续关键字列表中执行完全匹配;如果提取出的所述连续关键字与所述连续关键字列表中的任一连续关键字完全匹配时,在所述连续关键字列表中记录提取到该连续关键字的时间戳,以及更新该连续关键字被成功提交的次数;如果提取出的所述连续关键字与所述连续关键字列表中的连续关键字均不完全匹配,将提取出的所述连续关键字存入预设的连续关键字列表;其中,所述完全匹配包括长度和内容均匹配。可选的,所述方法还包括:当所述连续关键字列表中任一连续关键字,在第一指定时长内未被用户成功提交时,在所述连续关键字列表中将该连续关键字标记为无效状态。可选的,所述方法还包括:当所述连续关键字列表中任一连续关键字,在第二指定时长内未被用户成功提交时,从所述连续关键字列表中将该连续关键字删除;其中,所述第二指定时长大于所述第一指定时长。可选的,所述连续关键字被成功提交的次数包括:被成功提交的总次数,或者被成功提交的用户数。可选的,所述基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全,包括:实时获取用户输入的代码字符;将所述代码字符作为起始字符与所述基础关键字列表中记录的基础关键字,以及所述连续关键字列表中被标记为有效状态的连续关键字执行匹配;将所述基础关键字列表中起始字符与所述代码字符匹配的基础关键字,以及将所述连续关键字列表中起始字符与所述代码字符匹配的被标记为有效状态的连续关键字,在与所述代码字符的输入位置对应的预设位置输出,以提示所述用户在输出的所述基础关键字以及所述连续关键字中选择相应的关键字对所述代码字符执行代码补全。本申请还提出一种基于连续关键字的代码补全装置,该装置包括:提取模块,用于基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字;存入模块,用于将提取出的所述连续关键字存入预设的连续关键字列表;其中,所述连续关键字列表用于记录从所述指令代码中提取出的连续关键字以及所述连续关键字被成功提交的次数;标记模块,用于将所述连续关键字列表中记录的被成功提交的次数达到预设阈值的连续关键字标记为有效状态;执行模块,用于基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全。可选的,所述提取模块具体用于:读取用户提交成功的指令代码;确定该指令代码中是否包含由基础关键字列表中的任意两个或者两个以上的基础关键字组成的连续关键字;当该指令代码中包含由所述基础关键字列表中的任意两个或者两个以上的基础关键字组成的连续关键字时,提取该连续关键字。可选的,所述存入模块具体用于:将提取出的所述连续关键字在预设的连续关键字列表中执行完全匹配;如果提取出的所述连续关键字与所述连续关键字列表中的任一连续关键字完全匹配时,在所述连续关键字列表中记录提取到该连续关键字的时间戳,以及更新该连续关键字被成功提交的次数;如果提取出的所述连续关键字与所述连续关键字列表中的连续关键字均不完全匹配,将提取出的所述连续关键字存入预设的连续关键字列表;其中,所述完全匹配包括长度和内容均匹配。可选的,所述存入模块进一步用于:当所述连续关键字列表中任一连续关键字,在第一指定时长内未被用户成功提交时,在所述连续关键字列表中将该连续关键字标记为无效状态。可选的,所述存入模块进一步用于:当所述连续关键字列表中任一连续关键字,在第二指定时长内未被用户成功提交时,从所述连续关键字列表中将该连续关键字删除;其中,所述第二指定时长大于所述第一指定时长。可选的,所述连续关键字被成功提交的次数包括:被成功提交的总次数,或者被成功提交的用户数。可选的,所述执行模块具体用于:实时获取用户输入的代码字符;将所述代码字符作为起始字符与所述基础关键字列表中记录的基础关键字,以及所述连续关键字列表中被标记为有效状态的连续关键字执行匹配;将所述基础关键字列表中起始字符与所述代码字符匹配的基础关键字,以及将所述连续关键字列表中起始字符与所述代码字符匹配的被标记为有效状态的连续关键字,在与所述代码字符的输入位置对应的预设位置输出,以提示所述用户在输出的所述基础关键字以及所述连续关键字中选择相应的关键字对所述代码字符执行代码补全。本申请中,通过将基于基础关键字列表中的基础关键字从用户提交成功的指令代码中提取出的连续关键字存入预设的连续关键字列表,将该连续关键字列表中被不同的用户成功提交的次数达到预设阈值的连续关键字标记为有效状态,并基于基础关键字列表中记录的基础关键字以及连续关键字列表中被标记为有效状态的连续关键字执行代码补全,实现了系统可以自动从用户提交成功的指令代码中收集新的连续关键字,对连续关键字列表进行补充,而不需要由开发人员人工对连续关键字列表进行维护,从而可以提升收集连续关键字时的完整性和实效性,使得在基于连续关键字进行代码补全时,可以为开发人员提供本文档来自技高网...
基于连续关键字的代码补全方法及装置

【技术保护点】
一种基于连续关键字的代码补全方法,其特征在于,该方法包括:基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字;将所述连续关键字存入预设的连续关键字列表;其中,所述连续关键字列表用于记录从所述指令代码中提取出的连续关键字以及所述连续关键字被成功提交的次数;将所述连续关键字列表中记录的被成功提交的次数达到预设阈值的连续关键字标记为有效状态;基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全。

【技术特征摘要】
1.一种基于连续关键字的代码补全方法,其特征在于,该方法包括:基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字;将所述连续关键字存入预设的连续关键字列表;其中,所述连续关键字列表用于记录从所述指令代码中提取出的连续关键字以及所述连续关键字被成功提交的次数;将所述连续关键字列表中记录的被成功提交的次数达到预设阈值的连续关键字标记为有效状态;基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全。2.根据权利要求1所述的方法,其特征在于,所述基于预设的基础关键字列表中的基础关键字提取用户提交成功的指令代码中的连续关键字,包括:读取用户提交成功的指令代码;确定该指令代码中是否包含由基础关键字列表中的任意两个或者两个以上的基础关键字组成的连续关键字;当该指令代码中包含由所述基础关键字列表中的任意两个或者两个以上的基础关键字组成的连续关键字时,提取该连续关键字。3.根据权利要求1所述的方法,其特征在于,所述将提取出的所述连续关键字存入预设的连续关键字列表,包括:将提取出的所述连续关键字在预设的连续关键字列表中执行完全匹配;如果提取出的所述连续关键字与所述连续关键字列表中的任一连续关键字完全匹配时,在所述连续关键字列表中记录提取到该连续关键字的时间戳,以及更新该连续关键字被成功提交的次数;如果提取出的所述连续关键字与所述连续关键字列表中的连续关键字均不完全匹配,将提取出的所述连续关键字存入预设的连续关键字列表;其中,所述完全匹配包括长度和内容均匹配。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述连续关键字列表中任一连续关键字,在第一指定时长内未被用户成功提交时,在所述连续关键字列表中将该连续关键字标记为无效状态。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述连续关键字列表中任一连续关键字,在第二指定时长内未被用户成功提交时,从所述连续关键字列表中将该连续关键字删除;其中,所述第二指定时长大于所述第一指定时长。6.根据权利要求1或3所述的方法,其特征在于,所述连续关键字被成功提交的次数包括:被成功提交的总次数,或者被成功提交的用户数。7.根据权利要求1所述的方法,其特征在于,所述基于所述基础关键字列表中记录的基础关键字以及所述连续关键字列表中被标记为有效状态的连续关键字执行代码补全,包括:实时获取用户输入的代码字符;将所述代码字符作为起始字符与所述基础关键字列表中记录的基础关键字,以及所述连续关键字列表中被标记为有效状态的连续关键字执行匹配;将所述基础关键字列表中起始字符与所述代码字符匹配的基础关键字,以及将所述连续关键字列表中起始字符与所述代码字符匹配的被标记为有效状态的连续关键字,在与所述代码字符的输入位置对应的预设位置输出,以提示所述用户在输出的所述基础关键字以及所述连...

【专利技术属性】
技术研发人员:付威
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1