一种在线代码补全功能的实现方法

文档序号:6513269阅读:445来源:国知局
一种在线代码补全功能的实现方法
【专利摘要】本发明公开了一种在线代码补全功能的实现方法。该方法包括步骤:1.将本地集成开发环境的代码辅助功能,封装成可以被调用的本地接口;2.实现代码辅助功能的web?service,该web?service接受来自在线集成开发环境代码操作相关的数据,调用第一步得到的接口,获得本地集成开发环境代码辅助功能生成的结果,将该结果作为web?service调用的结果;3.实现在线集成开发环境客户端与服务器端的交互。在线集成开发环境客户端编辑区,记录用户在编辑代码过程中的数据,将该数据发送到服务器端,服务器端调用代码辅助功能web?service,并将得到的结果返回给客户端显示。采用本发明的方法,可以为用户在在线集成开发环境中编写代码,提供类似本地集成开发环境的代码辅助功能。
【专利说明】一种在线代码补全功能的实现方法
【技术领域】:
[0001]本发明涉及一种在线代码补全功能的实现方法,适用于为在线集成开发环境提供代码补全功能,以便使得用户在使用在线集成开发环境时,拥有和本地集成开发环境一样的代码补全功能,属于软件【技术领域】。
【背景技术】:
[0002]随着云计算的提出,各种桌面程序逐步被迁移到云中。而桌面集成开发环境,作为一个与开发人员密切相关的程序,也开始被迁移到云中,我们称之为在线集成开发环境。在线集成开发环境有着很多特有的优势,如随时随地开发,无需搭建开发环境等。然而,本地集成开发环境经过数十年的发展已经拥有完备的功能体系。其中本地集成开发环境的代码补全功能,已经成为开发者在开发过程中不可或缺的功能,该功能可以大大提高开发者在开发过程中的效率。与本地集成开发环境相比,现有在线集成开发环境提供的功能比较简单,特别是未能提供开发过程中的代码补全功能,这严重影响了在线集成开发环境的发展。

【发明内容】
:
[0003]针对上述问题,本发明的目的是提供一种在线代码补全功能的实现方法。该方法能够为在线集成开发环境增加代码补全功能,从而为开发者在开发过程中带来便利。
[0004]为解决上述技术问题,本发明的技术方案如下:
[0005]一种在线代码补全功能的实现方法,为用户使用在线集成开发环境编程过程中,提供类似于本地集成开发环境的代码补全功能,其特征在于,包括如下步骤:
[0006](I)将本地集成开发环境的代码补全功能,封装成可以被调用的本地接口 ;
[0007](2)实现代码补全功能的web service,该web service接受来自在线集成开发环境代码操作相关的数据,调用第一步得到的接口,获得本地集成开发环境代码补全功能生成的结果,将该结果作为web service调用的结果;
[0008](3)实现在线集成开发环境客户端与服务器端的交互。在线集成开发环境客户端编辑区,记录用户在编辑代码过程中的数据,将该数据发送到服务器端,服务器端调用代码补全功能web service,并将得到的结果返回给客户端显示。
[0009]2.如权利要求1所述的在线集成开发环境代码补全功能的实现方法,其特征在于,所述步骤(I)中,对于可以通过命令行方式进行调用的代码补全功能,接口的实现直接通过命令行调用语句实现。
[0010]3.如权利要求1所述的在线集成开发环境代码补全功能的实现方法,其特征在于,所述步骤(I)中,对于无法通过命令行方式进行调用的代码补全功能,需要首先抽取出功能相应的代码,然后将该代码封装成接口。
[0011]4.如权利要求1所述的在线集成开发环境代码补全功能的实现方法,其特征在于,所述步骤(2)中的web service,既可以是符合标准规范的web service,也可以是广义上的任何通过http方式访问的web服务。[0012]本发明的技术效果在于:充分利用了现有本地集成开发环境的代码补全功能,避免重新开发代码补全功能,同时可以保证为在线集成开发环境提供稳定的代码补全功能,因为本地的集成开发环境的代码补全功能经过十多年的发展,功能趋于稳定,最后使得用户在享有在线开发的便利同时,也享有本地开发过程的高效。
【专利附图】

【附图说明】
[0013]图1表示在本发明中在线集成开发环境代码补全功能实现之后的效果图
[0014]图2表示在本发明中在线集成开发环境代码补全功能的工作流程图
【具体实施方式】:
[0015]附图1示意了在线集成开发环境代码补全功能实现之后的效果图。
[0016]附图2示意了在线集成开发环境代码补全功能的工作交互图。
[0017]整个在线集成开发环境代码补全功能的实现如下:
[0018]首先,我们需要设计本地代码补全功能与web service交互的接口,该接口输入为需要补全的代码片段,输出为推荐的方法和属性列表。设计完接口之后,我们开始实现本地代码补全功能和web service交互的接口。当本地代码补全功能提供我们所需的子接口时,我们可以直接调用本地代码补全功能的一系列子接口,来实现与web service交互的接口。当无法直接调用本地代码补全功能的子接口时,我们需要抽取本地代码补全功能相关的子功能的实现代码,并且将这些代码整合到web service交互接口的实现中。通过该方式,我们可以充分复用本地代码补全功能已有子功能实现,获得我们所需要的与web service进行交互的一个完整功能的实现。
[0019]然后,我们需要设计代码补全功能的web service部分。该部分的输入是需要补全的代码片段,输出为推荐的方法和属性列表。该部分是服务器端与本地代码补全功能之间交互的一个媒介。该部分的实现是,接受服务器端发送的需要补全的代码片段的请求,然后调用已经实现好的本地代码补全功能与web service进行交互的接口,计算出推荐的方法和属性列表,将该列表作为web service处理的结果,返回给服务器端。Web service与服务器的交互可以是通过Soap协议交互,也可以通过Http协议交互。
[0020]接着,我们需要设计代码补全功能的服务器端。服务器端负责接收客户端的请求,然后根据请求的不同类别,调用相应的业务逻辑功能,获得结果,并将结果返回给客户端显示。我们事先代码补全功能的服务器端时,加入代码补全功能的请求判断,如果符合请求的要求,我们将需要补全的代码片段发送给web service,并将web service处理的结果返回给客户端显示。
[0021]最后,我们需要设计代码补全功能的客户端。客户端的作用是收集用户在客户端的操作,当遇到用户的操作需要响应代码补全列表时,客户端收集各种用户编写的代码片段信息,然后向服务器端发送代码补全请求,服务器端处理完毕之后,将结果返回给客户端。客户端需要以列表框的形式,展现给用户,用户可以在列表框中进行选择,然后完成代码补全功能。
[0022]其中的关键技术如下:
[0023](I)交互数据格式[0024]最常见的数据交互格式是字符串格式,但是由于在线集成开发环境客户端与服务器交互,服务器与web service交互,web service与本地代码补全功能交互都需要传送代码等各种数据,不仅数据量大,而且类型复杂,所以需要采用xml或者JSON格式作为数据交互的格式。下面列举说明数据交互格式。
[0025]以代码补全为例,我们想获得对象a中所有方法的列表,从主程序服务发给代码补全服务的JSON消息格式如下所示:
[0026]
【权利要求】
1.一种在线代码补全功能的实现方法,为用户使用在线集成开发环境编程过程中,提供类似于本地集成开发环境的代码补全功能,其特征在于,包括如下步骤: (1)将本地集成开发环境的代码补全功能,封装成可以被调用的本地接口; (2)实现代码补全功能的webservice,该web service接受来自在线集成开发环境代码操作相关的数据,调用第一步得到的接口,获得本地集成开发环境代码补全功能生成的结果,将该结果作为web service调用的结果; (3)实现在线集成开发环境客户端与服务器端的交互。在线集成开发环境客户端编辑区,记录用户在编辑代码过程中的数据,将该数据发送到服务器端,服务器端调用代码补全功能web service,并将得到的结果返回给客户端显示。
2.如权利要求1所述的在线集成开发环境代码补全功能的实现方法,其特征在于,所述步骤(I)中,对于可以通过命令行方式进行调用的代码补全功能,接口的实现直接通过命令行调用语句实现。
3.如权利要求1所述的在线集成开发环境代码补全功能的实现方法,其特征在于,所述步骤(I)中,对于无法通过命令行方式进行调用的代码补全功能,需要首先抽取出功能相应的代码,然后将该代码封装成接口。
4.如权利要求1所述的在线集成开发环境代码补全功能的实现方法,其特征在于,所述步骤(2)中的web service,既可以是符合标准规范的web service,也可以是广义上的任何通过http方式访问的web服务。
【文档编号】G06F9/445GK103473105SQ201310445229
【公开日】2013年12月25日 申请日期:2013年9月25日 优先权日:2013年9月25日
【发明者】吴凌, 张化劲, 杨楠, 王千祥 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1