一种基于用户行为的代码补全排序方法及系统技术方案

技术编号:33953414 阅读:29 留言:0更新日期:2022-06-29 22:56
本申请涉及一种基于用户行为的代码补全排序方法及系统,其中,方法包括对源代码进行分析,生成AST抽象语法树;分析用户行为,更新AST抽象语法树并确定所在AST抽象语法树的更新节点;通过相似度算法获取AST抽象语法树中与用户输入字符相匹配的备选代码;根据用户行为获取特定范围内的代码内容和语法,排除不符合语法规则的备选代码;通过预设的排序规则对剩余的备选代码进行排序,并在编辑器中的备选列表中显示。本申请通过采集用户输入的代码字符和从语法树中采集与输入的代码字符相匹配的备用代码,并通过特定的规则对备用代码进行排序,提高了补全代码的准确度,提高程序员的使用体验。使用体验。使用体验。

【技术实现步骤摘要】
一种基于用户行为的代码补全排序方法及系统


[0001]本申请涉及计算机软件
,尤其是涉及一种基于用户行为的代码补全排序方法。

技术介绍

[0002]Vscode(Visual Studio Code)是一款免费开源的现代化轻量级代码编辑器,该软件几乎支持所有主流开发语言的语法高亮、代码自动补全、代码重构、查看定义等功能,其丰富强大的功能和跨平台支持成为最受欢迎的编辑器之一。其中,码补全(code completion)作为一种直观减少软件开发人员工作量的软件自动化技术,是Vscode和许多集成开发环境(IDE)的关键功能组件。代码补全技术基于开发人员的输入和已有项目代码,即时预测待补全代码中的类名、变量名、函数名和代码片段等,并为开发人员提供建议列表,通过这种方式,代码补全技术能够减轻键入负担,减少拼写错误,并且开发人员不必花费很长时间记忆不熟悉的类名和函数名等,有效提高开发效率。随着代码补全技术相关研究的深入和工具的应用,代码补全已经成为开发人员最常用操作之一。
[0003]虽然智能代码补全方法近些年取得了一定进展,尤其是自然语本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于用户行为的代码补全排序方法,其特征在于:包括对源代码进行分析,生成AST抽象语法树;分析用户行为,更新AST抽象语法树并确定所在AST抽象语法树的更新节点;通过相似度算法获取AST抽象语法树中与用户输入字符相匹配的备选代码;根据用户行为获取特定范围内的代码内容和语法,排除不符合语法规则的备选代码;通过预设的排序规则对剩余的备选代码进行排序,并在编辑器中的备选列表中显示。2.根据权利要求1所述的一种基于用户行为的代码补全排序方法,其特征在于,所述相似度算法包括:获取用户的输入内容,并根据所述输入内容从AST抽象语法树中查找匹配项,以获取备选代码。3.根据权利要求1所述的一种基于用户行为的代码补全排序方法,其特征在于:所述排除不符合语法规则的备选代码时,包括:获取所述更新节点处的上下文和对应的语法规则;将所有的备选代码依次与所述更新节点处的上下文进行匹配;删除匹配失败的备选代码。4.根据权利要求1所述的一种基于用户行为的代码补全排序方法,其特征在于:所述预设的排序规则包括:判断在特定的时间段内是否有更新内容;若是,则将更新内容的先后顺序按照从低到高的优先级进行排列;其中优先级最高的更新内容排列至推荐列表的第一位;若否,则根据推荐内容累计使用量从大到小赋予从高到低的优先级,其中优先级最高的推荐内容排列至推荐列表的第一位。5.一种基于用户行为的代码补全排序系统,其特征在于,包括:数据分析单元,用于对源代码进行分析,生成AST抽象语法树;行为分析单元,用于分析用户行为,更新AST抽象语法树并确定所在AST抽象语法树的更新节点;代码补全单元,通过相似度算法获取AST抽象语法树中与用户输入字符相...

【专利技术属性】
技术研发人员:李进文齐璇顾郁莲战茅
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

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

1