System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别是涉及一种代码补全方法、装置、电子设备及存储介质。
技术介绍
1、随着人工智能技术的快速发展,智能辅助编程已经成为编程领域的常用手段。这些工具利用机器学习和自然语言处理技术,能够理解用户的代码上下文,从而实现代码的补全。但是,由于智能辅助编程工具能够处理的上下文长度有限,这导致智能辅助编程工具无法全面理解用户代码的整体工程结构,从而造成所生成的补全代码的准确性较低。
技术实现思路
1、本专利技术实施例的目的在于提供一种代码补全方法、装置、电子设备及存储介质,以实现提高代码补全的准确性。具体技术方案如下:
2、第一方面,本申请提供了一种代码补全方法,应用于代码编辑器的辅助编程插件,所述方法包括:
3、响应于用户在代码编辑界面执行输入操作,获取所述输入操作对应的输入内容;
4、基于所述输入内容的类型,按照预定确定方式,确定用于代码补全的待分析内容;其中,所述预定确定方式包括若所述输入内容的类型为文字注释类型,将所述输入内容作为所述待分析内容,以及若所述输入内容的类型为代码类型,将所述代码编辑界面中的代码输入至预设的代码补全大语言模型,以使所述代码补全大语言模型输出第一代码补全内容,得到所述待分析内容;
5、识别所述待分析内容对应的功能描述,作为目标功能描述;其中,任一内容对应的功能描述为该内容所能够实现的功能的描述内容;
6、从目标数据库中,确定与所述目标功能描述相匹配的各个目标候选代码模块;其中,
7、将各个目标候选代码模块,输出至目标窗口以供用户进行选择;
8、响应于用户在所述目标窗口发出指定补全指令,执行该指定补全指令对应的补全操作,以完成针对所述输入内容的代码补全;
9、其中,所述指定补全指令包括第一补全指令、第二补全指令或第三补全指令;
10、所述第一补全指令为用于指示以第二代码补全内容,进行补全代码的指令;其中,所述第二代码补全内容为基于用户选中的目标候选代码模块以及所述代码编辑界面中的代码生成的、且包括有用户选中的目标候选代码模块;
11、所述第二补全指令为用于指示以用户选中的目标候选代码模块,进行补全代码的指令;
12、所述第三补全指令为用于指示以基于所述代码编辑界面中的代码生成的代码补全内容,进行补全代码的指令。
13、第二方面,本申请提供了一种代码补全装置,应用于代码编辑器的辅助编程插件,所述装置包括:
14、获取模块,用于响应于用户在代码编辑界面执行输入操作,获取所述输入操作对应的输入内容;
15、第一确定模块,用于基于所述输入内容的类型,按照预定确定方式,确定用于代码补全的待分析内容;其中,所述预定确定方式包括若所述输入内容的类型为文字注释类型,将所述输入内容作为所述待分析内容,以及若所述输入内容的类型为代码类型,将所述代码编辑界面中的代码输入至预设的代码补全大语言模型,以使所述代码补全大语言模型输出第一代码补全内容,得到所述待分析内容;
16、识别模块,用于识别所述待分析内容对应的功能描述,作为目标功能描述;其中,任一内容对应的功能描述为该内容所能够实现的功能的描述内容;
17、第二确定模块,用于从目标数据库中,确定与所述目标功能描述相匹配的各个目标候选代码模块;其中,所述目标数据库中存储有:对当前代码编辑界面的代码所属的目标代码工程的各个文件进行分析后,所确定出的各个候选代码模块以及每一候选代码模块对应的功能描述;
18、输出模块,用于将各个目标候选代码模块,输出至目标窗口以供用户进行选择;
19、补全模块,用于响应于用户在所述目标窗口发出指定补全指令,执行该指定补全指令对应的补全操作,以完成针对所述输入内容的代码补全;
20、其中,所述指定补全指令包括第一补全指令、第二补全指令或第三补全指令;
21、所述第一补全指令为用于指示以第二代码补全内容,进行补全代码的指令;其中,所述第二代码补全内容为基于用户选中的目标候选代码模块以及所述代码编辑界面中的代码生成的、且包括有用户选中的目标候选代码模块;
22、所述第二补全指令为用于指示以用户选中的目标候选代码模块,进行补全代码的指令;
23、所述第三补全指令为用于指示以基于所述代码编辑界面中的代码生成的代码补全内容,进行补全代码的指令。
24、第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
25、存储器,用于存放计算机程序;
26、处理器,用于执行存储器上所存放的程序时,实现上述任一所述的代码补全方法。
27、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的代码补全方法。
28、本专利技术实施例有益效果:本专利技术实施例提供的方案,辅助编程插件在用户在代码编辑界面执行输入操作后,首先,可以基于该输入内容的类型,按照预定确定方式,确定用于代码补全的待分析内容,然后,在目标数据库中确定与待分析内容的功能描述相匹配的目标候选代码模块以供用户选择,从而用户在基于目标候选代码模块,发出指定补全指令后,辅助编程插件执行该指定补全指令对应的补全操作,以完成针对所述输入内容的代码补全。由于本申请中目标数据库中的候选代码模块,是当前代码编辑界面的代码所属的目标代码工程的各个文件进行分析后,所确定出的各个候选代码模块以及每一候选代码模块对应的功能描述,从而,利用目标数据库中的候选代码模块来完成代码补全,可以提高当前代码编辑界面的代码与所述目标代码工程的其它文件之间的业务关联度;并且,本专利技术中针对不同类型的输入内容,采用不同方式确定用于代码补全的待分析内容,可以使得用于代码补全的内容具有较为完整的语义表达,从而为代码补全过程提供较好的分析基础。可见,通过本方案可以提高代码补全的准确性。
29、当然,实施本专利技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
本文档来自技高网...【技术保护点】
1.一种代码补全方法,其特征在于,应用于代码编辑器的辅助编程插件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标数据库中存储的各个候选代码模块以及每一候选代码模块对应的功能描述的确定方式包括:
3.根据权利要求2所述的方法,其特征在于,所述目标数据库中的每一候选代码模块对应的功能描述的存储形式为向量值形式;
4.根据权利要求1-3任一项所述的方法,其特征在于,任一内容对应的功能描述的识别方式包括:
5.根据权利要求4所述的方法,其特征在于,所述会话大语言模型的输入还包括表征格式和长度约束值的目标参数;
6.根据权利要求1所述的方法,其特征在于,所述响应于用户在所述目标窗口发出指定补全指令,执行该指定补全指令对应的补全操作,以完成针对所述输入内容的代码补全包括:
7.一种代码补全装置,其特征在于,应用于代码编辑器的辅助编程插件,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述目标数据库中存储的各个候选代码模块以及每一候选代码模块对应的功能描述的确定方式包括:
...【技术特征摘要】
1.一种代码补全方法,其特征在于,应用于代码编辑器的辅助编程插件,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标数据库中存储的各个候选代码模块以及每一候选代码模块对应的功能描述的确定方式包括:
3.根据权利要求2所述的方法,其特征在于,所述目标数据库中的每一候选代码模块对应的功能描述的存储形式为向量值形式;
4.根据权利要求1-3任一项所述的方法,其特征在于,任一内容对应的功能描述的识别方式包括:
5.根据权利要求4所述的方法,其特征在于,所述会话大语言模型的输入还包括表征格式和长度约束值的目标参数;
6.根据权利要求1所述的方法,其特征在于,所述响应于用户在...
【专利技术属性】
技术研发人员:刘鹤,牛小菁,徐政钧,刘铁军,罗昊中,刘逸雄,潘建东,肖钢,
申请(专利权)人:中信建投证券股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。