CN113485688B - 代码补全方法、装置、存储介质与电子设备 - Google Patents

代码补全方法、装置、存储介质与电子设备 Download PDF

Info

Publication number
CN113485688B
CN113485688B CN202110744406.0A CN202110744406A CN113485688B CN 113485688 B CN113485688 B CN 113485688B CN 202110744406 A CN202110744406 A CN 202110744406A CN 113485688 B CN113485688 B CN 113485688B
Authority
CN
China
Prior art keywords
configuration information
code
interface
application programming
completion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110744406.0A
Other languages
English (en)
Other versions
CN113485688A (zh
Inventor
黄富华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Boguan Information Technology Co Ltd
Original Assignee
Guangzhou Boguan Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Boguan Information Technology Co Ltd filed Critical Guangzhou Boguan Information Technology Co Ltd
Priority to CN202110744406.0A priority Critical patent/CN113485688B/zh
Publication of CN113485688A publication Critical patent/CN113485688A/zh
Application granted granted Critical
Publication of CN113485688B publication Critical patent/CN113485688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供一种代码补全方法、装置、存储介质与电子设备,涉及计算机技术领域。其中,所述代码补全方法包括:获取待编辑代码的开发框架所对应的接口配置信息,以及所述开发框架的名称;根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口;根据检测到的所述应用编程接口,生成具有目标补全格式的代码补全配置信息;通过调用所述代码补全配置信息,对所述待编辑代码进行代码补全。本公开针对代码框架实现代码自动补全,具有较强的适应性,且能够自动生成代码补全配置信息,降低开发人员工作量。

Description

代码补全方法、装置、存储介质与电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种代码补全方法、代码补全装置、计算机可读存储介质与电子设备。
背景技术
为了提升开发人员的代码编辑速度,减少代码输入量,通常会在集成开发环境中设置代码补全功能。
相关技术中,通常是针对开源框架设置代码自动补全功能,例如CSS(CascadingStyle Sheets,层叠样式表)、JS(JavaScript,运行在浏览器上的脚本语音)等开源框架。对于一些非开源的框架,如企业所开发的一些内部代码框架,缺乏代码自动补全工具,通常需要手动去编辑代码补全的相关文件逻辑,对于开发人员来说工作量较大,且无法适用于不同的代码框架。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供了一种代码补全方法、代码补全装置、计算机可读存储介质与电子设备,进而至少在一定程度上解决相关技术中所采用的代码补全方式工作量大且适应性较差的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供代码补全方法,其特征在于,包括:获取待编辑代码的开发框架所对应的接口配置信息,以及所述开发框架的名称;根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口;根据检测到的所述应用编程接口,生成具有目标补全格式的代码补全配置信息;通过调用所述代码补全配置信息,对所述待编辑代码进行代码补全。
在本公开的一种示例性实施例中,所述方法,还包括:获取所述开发框架所对应的最新接口配置信息;根据所述最新接口配置信息更新所述补全配置信息。
在本公开的一种示例性实施例中,所述获取所述开发框架所对应的最新接口配置信息,包括:在本地记录所述接口配置信息的版本号,以根据本地所记录的版本号获取所述开发框架所对应的最新接口配置信息。
在本公开的一种示例性实施例中,所述根据本地所记录的版本号获取所述开发框架所对应的最新接口配置信息,包括:当本地所记录的版本号与当前接口配置信息的版本号不一致时,将当前接口配置信息作为最新接口配置信息,并更新本地所记录的版本号。
在本公开的一种示例性实施例中,所述方法,还包括:根据所述待编辑代码针对所述代码补全配置信息的调用记录,确定所述代码补全配置信息中未被使用过的应用编程接口;根据所述未被使用过的应用编程接口,生成第一校验提示信息,以使开发者基于所述第一校验提示信息校验所述未被使用过的应用编程接口所对应的目标代码补全配置信息是否正确。
在本公开的一种示例性实施例中,所述方法,还包括:根据所述待编辑代码针对所述代码补全配置信息的调用记录,确定所述接口配置信息中未被检测出的应用编程接口;根据所述未被检测出的应用编程接口,生成第二校验提示信息,以使开发者基于所述第二校验提示信息校验所述未被检测出的应用编程接口所对应的目标接口配置信息是否正确。
在本公开的一种示例性实施例中,所述根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口,包括:根据所述开发框架的名称,生成具有目标匹配格式的正则表达式;基于所述正则表达式,匹配出所述接口配置信息中所包含的应用编程接口。
根据本公开的第二方面,提供一种代码补全装置,其特征在于,包括:接口配置信息获取模块,用于获取待编辑代码的开发框架所对应的接口配置信息,以及所述开发框架的名称;应用编程接口检测模块,用于根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口;补全配置信息生成模块,用于根据检测到的所述应用编程接口,生成具有目标补全格式的代码补全配置信息;代码补全模块,用于通过调用所述代码补全配置信息,对所述待编辑代码进行代码补全。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述代码补全方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述代码补全方法。
本公开的技术方案具有以下有益效果:
上述代码补全过程中,通过开发框架的名称,检测出接口配置信息中所包含的应用编程接口,并根据检测到的应用编程接口,生成具有目标补全格式的代码补全配置信息,以实现代码补全功能。一方面,无需手动编辑代码补全的相关文件逻辑,代码补全配置信息的自动化生成能够降低生成代码补全配置的工作量。另一方面,基于开发框架的接口配置信息以及开发框架的名称生成与开发框架对应的代码补全配置信息,能够适用于不同的开发框架,增强代码补全的普适性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种代码补全方法的流程图;
图2示出本示例性实施方式中一种更新补全配置信息的流程图;
图3示出本示例性实施方式中一种对代码补全配置信息校正的流程图;
图4示出本示例性实施方式中一种对接口配置信息校正的流程图;
图5示出本示例性实施方式中一种代码补全实施流程图;
图6示出本示例性实施方式中一种代码补全装置的结构框图;
图7示出本示例性实施方式中一种用于实现上述方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本文中,“第一”、“第二”等是对特定对象的标记,而并非限定对象的数量或次序。
相关技术中,还存在通过对代码的通用语法格式进行检测的代码自动补全方法,针对非开源的代码框架难以适配,通常需要手动去编辑代码补全的相关文件逻辑,缺乏针对非开源框架的自动补全工具,工作量较大且适应性较差。
鉴于上述一个或多个问题,本公开的示例性实施方式提供一种代码补全方法。
图1示出了本示例性实施方式中一种代码补全方法的示意性流程,包括以下步骤S110至S140:
步骤S110,获取待编辑代码的开发框架所对应的接口配置信息,以及开发框架的名称;
步骤S120,根据开发框架的名称,检测接口配置信息中所包含的应用编程接口;
步骤S130,根据检测到的应用编程接口,生成具有目标补全格式的代码补全配置信息;
步骤S140,通过调用代码补全配置信息,对待编辑代码进行代码补全。
上述代码补全过程中,通过开发框架的名称,检测出接口配置信息中所包含的应用编程接口,并根据检测到的应用编程接口,生成具有目标补全格式的代码补全配置信息,以实现代码补全功能。一方面,无需手动编辑代码补全的相关文件逻辑,代码补全配置信息的自动化生成能够降低生成代码补全配置的工作量。另一方面,基于开发框架的接口配置信息以及开发框架的名称生成与开发框架对应的代码补全配置信息,能够适用于不同的开发框架,增强代码补全的普适性。
下面分别对图1中的每个步骤进行具体说明。
步骤S110,获取待编辑代码的开发框架所对应的接口配置信息,以及开发框架的名称。
待编辑代码指的是基于开发框架的可编辑代码。开发框架是程序开发过程中的骨架级软件,可例如JSSDK、Vue、React、以及企业内部使用的软件开发工具等开发框架,包括程序开发过程中所用到的底层基础组件、通用组件以及代码化的通信规约等,基于该开发框架能够开发出软件产品。其中,JSSDK、Vue、React表示开发框架的名称,JSSDK框架采用Java脚本语言,是一种面向服务的开发框架,Vue和React框架都属于一种构建用户界面的开发框架。
接口配置信息指的是根据开发框架中的应用编程接口所配置的接口说明文档,包含了各应用编程接口的使用案例,以JSSDK开发框架为例,下列代码片段为应用编程接口“share”所对应的接口配置信息:const conf={xxx}JSSDK.share(conf),其中,{xxx}表示“share”接口的一种使用案例。
需要说明的是,在获取待编辑代码的开发框架所对应的接口配置信息之前,可以为待编辑代码的开发框架预先配置一个具有预设格式的关于接口配置信息的配置文件,以便对该配置文件中的应用编程接口进行检测。
步骤S120,根据开发框架的名称,检测接口配置信息中所包含的应用编程接口。
可以通过读取接口配置信息的内容,以开发框架的名称为依据,从接口配置信息中检测出所包含的应用编程接口。当开发框架的名称为JSSDK时,在上述所提到的代码片段中,可以提取出JSSDK.share,进而检测出应用编程接口“share”。
在一种可选的实施方式中,根据开发框架的名称,检测接口配置信息中所包含的应用编程接口,还可以通过以下方式来实现:根据开发框架的名称,生成具有目标匹配格式的正则表达式;基于正则表达式,匹配出接口配置信息中所包含的应用编程接口。
这里的目标匹配格式可以是接口配置信息中由框架名称和接口名称所组成的代码匹配格式。通过正则表达式实现框架名称的精确匹配和接口名称的模糊匹配,进而提取出相应的应用编程接口。
例如:以上述代码片段为例,可以通过检索接口配置信息中所包含的JSSDK.*格式的字符,再将*提取出来作为应用编程接口,其中*可用于表示接口名称匹配信息。
上述过程中,通过正则表达式检测出接口配置信息中所包含的应用编程接口,灵活性强,使用范围广,能够针对不同的代码框架实现应用编程接口的自动抓取。
步骤S130,根据检测到的应用编程接口,生成具有目标补全格式的代码补全配置信息。
目标补全格式指的是与集成开发环境所对应的代码补全格式,补全配置信息中包含了应用编程接口所对应的补全代码段。
步骤S140,通过调用代码补全配置信息,对待编辑代码进行代码补全。
采用代码编辑器可以调用代码补全配置信息,并检索该代码补全配置信息中的补全代码段,对待编辑代码进行代码补全。
在一种可选的实施方式中,在上述代码补全过程中,当开发框架的应用编程接口发生改变时,需要对接口配置信息进行更新,进而得到最新的补全配置信息。可通过如图2所示的步骤对补全配置信息进行更新,具体包括以下步骤S210至步骤S220:
步骤S210,获取开发框架所对应的最新接口配置信息。
最新接口配置信息指的是该当前最新版本的开发框架所对应的接口配置信息,由于接口配置信息中所包含的接口配置可能会根据开发框架的更新发生变更、删除或新增等,因而需要获取最新接口配置信息,以确保后续所生成的代码补全配置信息的可用性。
获取最新接口配置信息可以通过以下两种方式进行:一是定期去拉取最新的接口配置信息,实现接口配置信息的更新,二是在每次使用集成开发环境时,通过判断接口配置信息是否发生改变,实现接口配置信息的更新。
需要说明的是,在实际使用的过程中,具体采用哪种方式获取最新接口配置信息,可由开发人员自主进行设定,选择适用的方式,下面对这两种获取最新接口配置信息的方式进行具体说明。
若采用上述第一种获取最新接口配置信息的方式,具体可包括:根据预设时间周期,获取最新的接口配置信息,以便在代码补全过程中所采用的接口配置信息能够适配于最新的开发框架。
若采用上述第二种获取最新接口配置信息的方式,可以预先为接口配置信息配置版本号,通过版本号记录接口配置信息的更新状况,一旦接口配置信息发生变化,则更新接口配置信息的版本号,以基于接口配置信息的版本号判断接口配置信息是否发生变化,进而确保所获取的是更新后的接口配置信息。
需要说明的是,上述第二种获取最新接口配置信息的方式,需要在获取开发框架的接口配置信息后,在本地记录接口配置信息的版本号,以根据本地所记录的版本号获取开发框架所对应的最新接口配置信息。
在一种可选的实施方式中,根据本地所记录的版本号获取开发框架所对应的最新接口配置信息可以通过以下方式实现,具体包括:当本地所记录的版本号与当前接口配置信息的版本号不一致时,将当前接口配置信息作为最新接口配置信息,并更新本地所记录的版本号。
上述过程中,通过对比当前配置信息的版本号与本地所记录的版本号,来判断接口配置信息是否发生变化,以便当接口配置信息发生变化时能够及时获取到最新的接口配置信息。
步骤S220,根据最新接口配置信息更新补全配置信息。
由于开发框架的接口可能会进行变更或新增新的应用编程接口,其接口配置信息需要相应的进行更新,补全配置信息根据最新接口配置信息也需要进行相应的更新。在根据最新接口配置信息更新补全配置信息时,可以根据开发框架的名称,重新对最新接口配置信息中所包含的应用编程接口进行检测,以根据应用编程接口的最新检测结果更新代码补全配置信息。此外,还可以通过记录当前版本接口配置信息相对于上一版本接口配置信息的更新部分,以基于开发框架的名称对该更新部分的数据信息进行检测,确定出被更新的应用编程接口,将被更新的应用编程接口采用目标补全格式更新相应的代码补全配置信息。
由于代码补全配置信息是由检测配置信息中所检测到应用编程接口生成,因而在自动检测的过程中难免存在误差,可能会出现应用编程接口检测错误或者没有被检测到的情况,可以为代码补全方法设置信息错误校验机制。
在一种可选的实施方式中,可以通过图3所示的步骤对代码补全配置信息进行校正,具体包括以下步骤S310至步骤S320:
步骤S310,根据待编辑代码针对代码补全配置信息的调用记录,确定代码补全配置信息中未被使用过的应用编程接口;
步骤S320,根据未被使用过的应用编程接口,生成第一校验提示信息,以使开发者基于第一校验提示信息校验未被使用过的应用编程接口所对应的目标代码补全配置信息是否正确。
调用记录指的是代码编辑器根据待编辑代码针对代码补全配置信息中相应的应用编程接口所对应的补全代码段的调用记录。第一校验提示信息指的是关于未被使用过的应用编程接口的相关提示信息。目标代码补全配置信息指的是未被使用过的应用编程接口所对应的代码补全配置信息,该目标补全代码配置信息需要开发者校验其正确性,若目标代码配置信息存在错误,则可以由开发者对目标代码补全配置信息进行更正,若不存在错误,则不进行处理。
需要说明的是,可以通过统计开发人员针对应用编程接口的代码补全调用记录,定期对代码补全配置信息进行校验,以便发现代码补全配置信息中配置错误的信息。通过调用记录确定未被开发者使用过的应用编程接口,未被使用过的应用编程接口所对应的代码补全配置信息可能是配置错误的信息,生成未被使用过的应用编程接口的相关提示信息,建立了信息错误校验机制,有利于开发者对代码补全配置信息进行针对性校验和更正,以增强代码补全的容错性。
在一种可选的实施方式中,可以通过以下步骤S410至步骤S420对接口配置信息进行校正,具体包括以下步骤S410至步骤S420:
步骤S410,根据待编辑代码针对代码补全配置信息的调用记录,确定接口配置信息中未被检测出的应用编程接口;
步骤S420,根据未被检测出的应用编程接口,生成第二校验提示信息,以使开发者基于第二校验提示信息校验未被检测出的应用编程接口所对应的目标接口配置信息是否正确。
第二校验提示信息指的是关于未被检测出的应用编程接口的相关提示信息。目标接口配置信息指的是关于未被检测出的应用编程接口所对应的接口配置信息,该接口配置信息需要开发者校验其正确性,若目标接口配置信息存在错误,则可以由开发者对目标接口配置信息进行更正,若不存在错误,则不进行处理。可以通过定期执行上述步骤,生成第二校验提示信息,完善信息错误校验机制,便于开发者对接口配置信息进行针对性校验和更正,进一步增强代码补全的容错性。
如图5所示,提供了一种代码补全实施流程图,具体包括以下步骤:
步骤S510,获取接口配置文件;
步骤S520,根据接口配置文件,生成集成开发环境所对应的代码补全配置文件;
步骤S530,自动更新代码补全配置文件;
步骤S540,根据待编辑代码针对补全配置文件的调用记录对接口配置文件或补全配置文件进行校正。
需要说明的是,上述接口配置文件中记录了接口配置信息,代码补全配置文件中记录了代码补全配置信息,步骤S530可以通过上述图2所示的步骤对代码补全配置文件进行更新,步骤S540可以通过图3和图4所示的步骤分别对代码补全配置文件、接口配置文件进行校正处理。
本公开的示例性实施方式还提供一种代码补全装置。如图6所示,该代码补全装置600可以包括:
接口配置信息获取模块610,用于获取待编辑代码的开发框架所对应的接口配置信息,以及开发框架的名称;
应用编程接口检测模块620,用于根据开发框架的名称,检测接口配置信息中所包含的应用编程接口;
补全配置信息生成模块630,用于根据检测到的应用编程接口,生成具有目标补全格式的代码补全配置信息;
代码补全模块640,用于通过调用代码补全配置信息,对待编辑代码进行代码补全。
在一种可选的实施方式中,代码补全装置,还可以包括:最新接口配置获取模块,用于获取开发框架所对应的最新接口配置信息;补全配置更新模块,用于根据最新接口配置信息更新补全配置信息。
在一种可选的实施方式中,最新接口配置获取模块,包括:版本号记录模块,用于在本地记录接口配置信息的版本号,以根据本地所记录的版本号获取开发框架所对应的最新接口配置信息。
在一种可选的实施方式中,版本号记录模块,还可以被配置为:当本地所记录的版本号与当前接口配置信息的版本号不一致时,将当前接口配置信息作为最新接口配置信息,并更新本地所记录的版本号。
在一种可选的实施方式中,代码补全装置,还可以包括:未使用接口确定模块,用于根据待编辑代码针对代码补全配置信息的调用记录,确定代码补全配置信息中未被使用过的应用编程接口;第一提示模块,用于根据未被使用过的应用编程接口,生成第一校验提示信息,以使开发者基于第一校验提示信息校验未被使用过的应用编程接口所对应的目标代码补全配置信息是否正确。
在一种可选的实施方式中,代码补全装置,还可以包括:未检测接口确定模块,用于根据待编辑代码针对代码补全配置信息的调用记录,确定接口配置信息中未被检测出的应用编程接口;第二提示模块,用于根据未被检测出的应用编程接口,生成第二校验提示信息,以使开发者基于第二校验提示信息校验未被检测出的应用编程接口所对应的目标接口配置信息是否正确。
在一种可选的实施方式中,应用编程接口检测模块620,可以被配置为:根据开发框架的名称,生成具有目标匹配格式的正则表达式;基于正则表达式,匹配出接口配置信息中所包含的应用编程接口。
上述代码补全装置600中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述代码补全方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述代码补全方法的电子设备。下面参照图7来描述根据本公开的这种示例性实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图7所示,电子设备700可以以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同***组件(包括存储单元720和处理单元710)的总线730和显示单元740。
存储单元720存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元710可以执行图1至图5中任意一个或多个方法步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器770与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器770通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

Claims (10)

1.一种代码补全方法,其特征在于,包括:
获取待编辑代码的开发框架所对应的接口配置信息,以及所述开发框架的名称;其中,所述接口配置信息为根据所述开发框架中的应用编程接口所配置的接口说明文档,包含各所述应用编程接口的使用案例;
根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口;
根据检测到的所述应用编程接口,生成具有目标补全格式的代码补全配置信息;
通过调用所述代码补全配置信息,对所述待编辑代码进行代码补全。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
获取所述开发框架所对应的最新接口配置信息;
根据所述最新接口配置信息更新所述补全配置信息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述开发框架所对应的最新接口配置信息,包括:
在本地记录所述接口配置信息的版本号,以根据本地所记录的版本号获取所述开发框架所对应的最新接口配置信息。
4.根据权利要求3所述的方法,其特征在于,所述根据本地所记录的版本号获取所述开发框架所对应的最新接口配置信息,包括:
当本地所记录的版本号与当前接口配置信息的版本号不一致时,将当前接口配置信息作为所述开发框架所对应的最新接口配置信息,并更新本地所记录的版本号。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
根据所述待编辑代码针对所述代码补全配置信息的调用记录,确定所述代码补全配置信息中未被使用过的应用编程接口;
根据所述未被使用过的应用编程接口,生成第一校验提示信息,以使开发者基于所述第一校验提示信息校验所述未被使用过的应用编程接口所对应的目标代码补全配置信息是否正确。
6.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
根据所述待编辑代码针对所述代码补全配置信息的调用记录,确定所述接口配置信息中未被检测出的应用编程接口;
根据所述未被检测出的应用编程接口,生成第二校验提示信息,以使开发者基于所述第二校验提示信息校验所述未被检测出的应用编程接口所对应的目标接口配置信息是否正确。
7.根据权利要求1所述的方法,其特征在于,所述根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口,包括:
根据所述开发框架的名称,生成具有目标匹配格式的正则表达式;
基于所述正则表达式,匹配出所述接口配置信息中所包含的应用编程接口。
8.一种代码补全装置,其特征在于,包括:
接口配置信息获取模块,用于获取待编辑代码的开发框架所对应的接口配置信息,以及所述开发框架的名称;其中,所述接口配置信息为根据所述开发框架中的应用编程接口所配置的接口说明文档,包含各所述应用编程接口的使用案例;
应用编程接口检测模块,用于根据所述开发框架的名称,检测所述接口配置信息中所包含的应用编程接口;
补全配置信息生成模块,用于根据检测到的所述应用编程接口,生成具有目标补全格式的代码补全配置信息;
代码补全模块,用于通过调用所述代码补全配置信息,对所述待编辑代码进行代码补全。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的方法。
CN202110744406.0A 2021-07-01 2021-07-01 代码补全方法、装置、存储介质与电子设备 Active CN113485688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110744406.0A CN113485688B (zh) 2021-07-01 2021-07-01 代码补全方法、装置、存储介质与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110744406.0A CN113485688B (zh) 2021-07-01 2021-07-01 代码补全方法、装置、存储介质与电子设备

Publications (2)

Publication Number Publication Date
CN113485688A CN113485688A (zh) 2021-10-08
CN113485688B true CN113485688B (zh) 2022-08-05

Family

ID=77937529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110744406.0A Active CN113485688B (zh) 2021-07-01 2021-07-01 代码补全方法、装置、存储介质与电子设备

Country Status (1)

Country Link
CN (1) CN113485688B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176626A (zh) * 2019-08-05 2020-05-19 腾讯科技(深圳)有限公司 跨编程语言的代码调用方法及装置、介质、设备
CN111367513A (zh) * 2020-02-20 2020-07-03 北京达佳互联信息技术有限公司 代码补全方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070039010A1 (en) * 2005-08-15 2007-02-15 Microsoft Corporation Automatic generation of software code to facilitate interoperability
CN109683907A (zh) * 2018-12-29 2019-04-26 深圳乐信软件技术有限公司 代码补全方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176626A (zh) * 2019-08-05 2020-05-19 腾讯科技(深圳)有限公司 跨编程语言的代码调用方法及装置、介质、设备
CN111367513A (zh) * 2020-02-20 2020-07-03 北京达佳互联信息技术有限公司 代码补全方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113485688A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
US10613971B1 (en) Autonomous testing of web-based applications
CN109739478B (zh) 前端项目自动化构建方法、装置、存储介质及电子设备
CN109117131B (zh) 代码生成方法及装置、存储介质及电子终端
CN110516971B (zh) 异常检测的方法、装置、介质和计算设备
CN109408105A (zh) 用户行为数据的采集方法、装置、计算装置和存储介质
CN112527382B (zh) 部署流水线引擎***的方法、持续集成的方法及装置
CN111241111B (zh) 数据查询方法及装置、数据对比方法及装置、介质及设备
CN109299124B (zh) 用于更新模型的方法和装置
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
CN114138244A (zh) 模型类文件自动生成方法、装置、存储介质及电子设备
CN110728128A (zh) 数据报表生成方法、装置、介质及电子设备
CN114077430A (zh) 界面生成方法、装置、电子设备及存储介质
CN114253537A (zh) 表单生成方法及装置、电子设备和存储介质
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
CN110716804A (zh) 无用资源的自动删除方法、装置、存储介质及电子设备
CN110990264A (zh) Ui自动化测试的元素识别方法、装置、设备及存储介质
CN112632425B (zh) 一种离线资源文件的生成方法、装置、设备及存储介质
CN112988192A (zh) 版本更新方法、装置、电子设备及存储介质
CN113485688B (zh) 代码补全方法、装置、存储介质与电子设备
CN111708681A (zh) 一种日志处理方法、装置、设备及存储介质
CN111061522A (zh) 基于后端生成前端卡片组件的方法、装置、设备及存储介质
CN113377648B (zh) 软件***诊断方法、装置、电子设备及计算机可读介质
US11392371B2 (en) Identification of a partial code to be refactored within a source code
CN114338846B (zh) 一种报文测试的方法及装置
CN113885841A (zh) 脚本生成的方法、装置、电子设备和可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant