CN109976743B - 一种代码提示的方法及装置 - Google Patents

一种代码提示的方法及装置 Download PDF

Info

Publication number
CN109976743B
CN109976743B CN201910278410.5A CN201910278410A CN109976743B CN 109976743 B CN109976743 B CN 109976743B CN 201910278410 A CN201910278410 A CN 201910278410A CN 109976743 B CN109976743 B CN 109976743B
Authority
CN
China
Prior art keywords
user
api
code
query
input
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
CN201910278410.5A
Other languages
English (en)
Other versions
CN109976743A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910278410.5A priority Critical patent/CN109976743B/zh
Publication of CN109976743A publication Critical patent/CN109976743A/zh
Application granted granted Critical
Publication of CN109976743B publication Critical patent/CN109976743B/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/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

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

Abstract

本发明公开了一种代码提示的方法,包括:从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;将指定时间段内用户输入的关键字、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得关键字、摘要及链接的对应关系,生成知识图谱数据;将知识图谱数据的查询方法封装成插件集成到集成开发环境,集成开发环境接收到用户输入的查询关键字后,插件根据查询关键字查询知识图谱数据,将查询结果反馈给用户。还公开了一种代码提示的装置。本方案能够更便捷地给出代码提示,帮助程序员减少学习成本,同时由于采用的技术相同,可以提升代码质量。

Description

一种代码提示的方法及装置
技术领域
本发明涉及软件开发领域,尤指一种代码提示的方法及装置。
背景技术
现在很多IDE(Integrated Development Environment,集成开发环境)都能做代码提示,使用的思路大多是基于语法规则的,即当输入的代码段和规则一致时做出提示。
常见的代码提示通过语法规则,在用户输入代码段时,寻找包含代码段的提示反馈给用户,该种提示不能满足新手用户解决问题的需求,因为新手用户通常是写了一条语句,但是没有正确的执行,这种情况现有技术无法提供提示。
发明内容
为了解决上述技术问题,本发明提供了一种代码提示的方法及装置,能够更便捷地给出代码提示。
为了达到本发明目的,本发明提供了一种代码提示的方法,包括:
从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;
将指定时间段内用户输入的关键字、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得关键字、摘要及链接的对应关系,生成知识图谱数据;
将所述知识图谱数据的查询方法封装成插件集成到集成开发环境,所述集成开发环境接收到用户输入的查询关键字后,所述插件根据所述查询关键字查询知识图谱数据,将查询结果反馈给用户。
进一步地,所述API信息包括:API语法、API场景应用和API示例。
进一步地,所述人工智能算法包括蚁群算法。
进一步地,所述将查询结果反馈给用户后,还包括:
存储用户输入的所述查询关键字和查询结果。
进一步地,所述将查询结果反馈给用户包括:
以链接的形式将查询结果反馈给用户。
一种代码提示的装置,包括:存储器和处理器;其中:
所述存储器,用于保存用于代码提示的程序;
所述处理器,用于读取执行所述用于代码提示的程序,执行如下操作:
从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;
将指定时间段内用户输入的关键字、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得关键字、摘要及链接的对应关系,生成知识图谱数据;
将所述知识图谱数据的查询方法封装成插件集成到集成开发环境,所述集成开发环境接收到用户输入的查询关键字后,所述插件根据所述查询关键字查询知识图谱数据,将查询结果反馈给用户。
进一步地,所述API信息包括:API语法、API场景应用和API示例。
进一步地,所述人工智能算法包括蚁群算法。
进一步地,所述将查询结果反馈给用户后,还包括:
存储用户输入的所述查询关键字和查询结果。
进一步地,所述将查询结果反馈给用户包括:
以链接的形式将查询结果反馈给用户。
本实施例的方法从之前的规则驱动,变为数据驱动,从代码行的复用提升到代码块、代码库的复用,能够更便捷地给出代码提示,帮助程序员减少学习成本,同时由于采用的技术相同,可以提升代码质量。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例的一种代码提示的方法的流程图;
图2为本发明实施例的一种代码提示的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例的一种代码提示的方法的流程图,如图1所示,本实施例的方法包括:
步骤11、从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;
步骤12、将指定时间段内用户输入的关键字、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得关键字、摘要及链接的对应关系,生成知识图谱数据;
步骤13、将所述知识图谱数据的查询方法封装成插件集成到集成开发环境,所述集成开发环境接收到用户输入的查询关键字后,所述插件根据所述查询关键字查询知识图谱数据,将查询结果反馈给用户。
本实施例中,可以在csdn和stackflow的数据基础上,通过智能分析,得到关键词和数据的拓扑关系,并以插件的形式提供到IDE环境中,当用户编码时,根据编码中的关键词,寻找相应的示例或常见问题,并以链接的形式反馈给用户参考。
本实施例的方法从之前的规则驱动,变为数据驱动,从代码行的复用提升到代码块、代码库的复用,帮助程序员减少学习成本,同时由于采用的技术相同,可以提升代码质量。
以下以一具体实施例对本发明的方法进行详细的说明,过程如下:
步骤101、从csdn(中国专业IT社区)和stackflow(一个与程序相关的IT技术问答网站)中获取API(Application Programming Interface,应用程序编程接口)包括不限于API语法,还包括API何种场景应用、以及API示例等信息,存储摘要和链接信息。
步骤102、将用户输入(通常是动宾短语)、用户跳转和寻找链接作为输入,通过蚁群算法进行计算,得到动宾短语和摘要及链接的对应关系,生成知识图谱数据。
步骤103、将知识图谱数据的查询方法封装成插件集成到IDE环境,如eclipse中;
步骤104、用户在IDE中输入单词,插件根据单词查询知识图谱中的数据反馈给用户,同时把用户的操作再作为记录作为蚁群算法的输入存储起来,形成循环。
本实施例的方法可以基于蚁群算法,对互联网上的数据进行分析,形成动宾短语和数据的对应关系,将用户的搜索链接作为信息素不断加强,得到优化解,生成知识图谱,并将知识图谱应用到开发环境中。
图2为本发明实施例的一种代码提示的装置的示意图,如图2所示,本实施例的装置包括:存储器和处理器,其中,
所述存储器,用于保存用于代码提示的程序;
所述处理器,用于读取执行所述用于代码提示的程序,执行如下操作:
从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;
将指定时间段内用户输入的关键字、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得关键字、摘要及链接的对应关系,生成知识图谱数据;
将所述知识图谱数据的查询方法封装成插件集成到集成开发环境,所述集成开发环境接收到用户输入的查询关键字后,所述插件根据所述查询关键字查询知识图谱数据,将查询结果反馈给用户。
在一实施例中,所述API信息可以包括但不限于:API语法、API场景应用和API示例。
在一实施例中,所述人工智能算法可以包括但不限于蚁群算法。
在一实施例中,所述将查询结果反馈给用户后,还包括:
存储用户输入的所述查询关键字和查询结果。
在一实施例中,所述将查询结果反馈给用户还可以包括:
以链接的形式将查询结果反馈给用户。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述代码提示的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (6)

1.一种代码提示的方法,其特征在于,包括:
从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;
将指定时间段内用户输入的动宾短语、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得动宾短语、摘要及链接的对应关系,生成知识图谱数据;
将所述知识图谱数据的查询方法封装成插件集成到集成开发环境,所述集成开发环境接收到用户输入的查询关键字后,所述插件根据所述查询关键字查询知识图谱数据,将查询结果反馈给用户;
所述API信息包括:API语法、API场景应用和API示例;
所述人工智能算法包括蚁群算法。
2.根据权利要求1所述的方法,其特征在于,所述将查询结果反馈给用户后,还包括:
存储用户输入的所述查询关键字和查询结果。
3.根据权利要求1所述的方法,其特征在于,所述将查询结果反馈给用户包括:
以链接的形式将查询结果反馈给用户。
4.一种代码提示的装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于代码提示的程序;
所述处理器,用于读取执行所述用于代码提示的程序,执行如下操作:
从一个或多个指定的代码开发知识库中获取所有应用程序编程接口API信息,并存储相关的摘要和链接信息;
将指定时间段内用户输入的动宾短语、用户选择的跳转和寻找的链接作为输入,通过人工智能算法进行计算,从所存储的相关的摘要和链接信息中获得动宾短语、摘要及链接的对应关系,生成知识图谱数据;
将所述知识图谱数据的查询方法封装成插件集成到集成开发环境,所述集成开发环境接收到用户输入的查询关键字后,所述插件根据所述查询关键字查询知识图谱数据,将查询结果反馈给用户;
所述API信息包括:API语法、API场景应用和API示例;
所述人工智能算法包括蚁群算法。
5.根据权利要求4所述的装置,其特征在于,所述将查询结果反馈给用户后,还包括:
存储用户输入的所述查询关键字和查询结果。
6.根据权利要求4所述的装置,其特征在于,所述将查询结果反馈给用户包括:
以链接的形式将查询结果反馈给用户。
CN201910278410.5A 2019-04-09 2019-04-09 一种代码提示的方法及装置 Active CN109976743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910278410.5A CN109976743B (zh) 2019-04-09 2019-04-09 一种代码提示的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910278410.5A CN109976743B (zh) 2019-04-09 2019-04-09 一种代码提示的方法及装置

Publications (2)

Publication Number Publication Date
CN109976743A CN109976743A (zh) 2019-07-05
CN109976743B true CN109976743B (zh) 2022-07-12

Family

ID=67083559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910278410.5A Active CN109976743B (zh) 2019-04-09 2019-04-09 一种代码提示的方法及装置

Country Status (1)

Country Link
CN (1) CN109976743B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113176878B (zh) * 2021-06-30 2021-10-08 深圳市维度数据科技股份有限公司 自动查询方法、装置和设备
CN113536074B (zh) * 2021-07-13 2024-04-26 挂号网(杭州)科技有限公司 vue框架中的关键字查询方法、装置、计算机设备及介质
CN114547345B (zh) * 2022-04-18 2022-07-19 支付宝(杭州)信息技术有限公司 结合图谱模式的输入提示方法及装置
CN114722161B (zh) * 2022-06-09 2022-10-11 易方信息科技股份有限公司 在ide界面快速查询添加pm单任务状态的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227762A (zh) * 2016-07-15 2016-12-14 苏群 一种基于用户协助的垂直搜索方法和系统
CN107145512A (zh) * 2017-03-31 2017-09-08 北京大学 数据查询的方法和装置
US20180052913A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog
CN109189780A (zh) * 2018-07-24 2019-01-11 湖南城市学院 基于大数据的思想政治材料储存与查询管理系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227762A (zh) * 2016-07-15 2016-12-14 苏群 一种基于用户协助的垂直搜索方法和系统
US20180052913A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog
CN107145512A (zh) * 2017-03-31 2017-09-08 北京大学 数据查询的方法和装置
CN109189780A (zh) * 2018-07-24 2019-01-11 湖南城市学院 基于大数据的思想政治材料储存与查询管理系统及方法

Also Published As

Publication number Publication date
CN109976743A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109976743B (zh) 一种代码提示的方法及装置
US10534590B2 (en) Dynamic recompilation techniques for machine learning programs
CN103984582A (zh) 一种热更新方法和装置
US8458681B1 (en) Method and system for optimizing the object code of a program
US10887171B2 (en) Routing configuration method of view files, storage medium, terminal device and apparatus
US9652209B2 (en) Static analysis and reconstruction of deep link handling in compiled applications
US8429632B1 (en) Method and system for debugging merged functions within a program
CN109743346B (zh) 会话流程配置方法、装置及计算机可读存储介质
CN108984612B (zh) 目标sql语句的获取方法、装置、计算机设备及存储介质
CN107885501B (zh) 获取Android中组件相互引用关系的方法及装置
CN110442826B (zh) 基于页面标识的跨层级页面跳转方法、装置和系统
CN114880504A (zh) 一种图数据的查询方法、装置以及设备
CN111813803B (zh) 语句块执行计划的生成方法、装置、设备和存储介质
US10503481B2 (en) Generating a native access plan for dynamic entity calling
CN110825764A (zh) 一种sql脚本的生成方法、系统、存储介质和处理器
CN117349187A (zh) 一种基于模型持久化的交互式漏洞分析方法和系统
CN117290481A (zh) 基于深度学习的问答方法、装置、存储介质及电子设备
CN110955712A (zh) 基于多数据源的开发api处理方法及装置
CN114693220B (zh) 基于数字孪生DaaS平台的算法仓库管理方法及系统
CN108255688B (zh) 应用程序日志的显示方法、存储介质、电子设备及系统
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
CN116880811A (zh) 确定编译优化选项的方法、电子设备、可读存储介质
CN109635175B (zh) 页面数据拼接方法、装置、可读存储介质和电子设备
CN114816364A (zh) 基于Swagger动态生成范本文件的方法、装置及应用
CN106775629B (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