1.本技术涉及软件开发领域,具体而言,涉及一种插件的开发方法、存储介质及插件。
背景技术:2.对于开发角色的前/后端开发者来说,日常操作最多的端就是集成开发工具(integrated development environment,简称ide),开发者的主要工作任务就是在ide进行代码编写。
3.但是,在软件开发的项目全生命周期中,每个阶段都有对应的平台系统,例如,开发者对于任务的操作要切换到需求任务管理平台进行操作,对于代码的构建要切换到持续集成平台进行代码构建,对于服务的部署要切换到服务部署平台进行服务部署,开发者在项目生命周期的各个阶段要切换不同的平台系统进行相应的操作。这就意味着开发者在进行软件开发时,需要在不同平台之间进行频繁切换,从而影响软件开发效率。
4.因此,亟需提出一种能够使开发者在项目生命周期的全过程阶段直接开发而无需在不同平台进行频繁切换的方案,来提高软件开发效率。
技术实现要素:5.为解决上述问题,即解决每个阶段都有对应的平台系统,开发者需要在不同平台之间进行频繁切换的技术问题。
6.根据本技术的一方面,提供一种基于插件的开发方法,所述插件设置于集成开发工具ide中,所述方法包括:
7.所述插件获取开发者的待办任务;
8.所述插件分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,
9.所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,在开发者基于所述功能服务处理待办任务后得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。
10.在所述方法的一种优选技术方案中,所述插件包括用户层,
11.所述插件基于swing组件在所述用户层生成用户界面,所述用户界面包括工具窗口,以便开发者基于所述工具窗口进行操作行为,所述操作行为包括注册、登录、注销或者任务处理;
12.所述插件获取开发者的待办任务,包括:所述插件基于所述用户界面获取开发者的待办任务。
13.在所述方法的一种优选技术方案中,所述插件获取开发者的待办任务,包括:
14.所述插件接收开发者的登录信息;以及基于所述登录信息获取开发者的待办任务;
15.其中,所述待办任务是开发者在创建开发任务后生成的若干待办任务之一。
16.在所述方法的一种优选技术方案中,所述插件还包括服务层,
17.所述插件基于spring boot组件在所述服务层生成服务功能模块和外接功能模块,所述服务功能模块用于向用户层提供项目生命周期各个阶段的功能服务,所述外接功能模块用于连接项目生命周期各个阶段对应的外接系统,并为所述服务功能模块提供功能服务支持;
18.所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,包括:所述插件基于所述服务功能模块和外接功能模块按照所述阶段信息为所述待办任务提供对应的功能服务。
19.在所述方法的一种优选技术方案中,所述项目生命周期包括以下任意之一或者任意组合:项目创建;项目设置;项目开发;以及,项目部署。
20.在所述方法的一种优选技术方案中,所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,包括:
21.若所述阶段信息为项目创建,则为所述待办任务提供初始项目脚手架的功能服务;
22.若所述阶段信息为项目设置,则为所述待办任务提供maven私服设置向导的功能服务;
23.若所述阶段信息为项目开发,则为所述待办任务提供代码编辑的功能服务;
24.若所述阶段信息为项目部署,则为所述待办任务提供发布三方包到私服的功能服务。
25.在所述方法的一种优选技术方案中,所述插件分析所述待办任务所处项目生命周期的阶段,包括:
26.所述插件基于所述待办任务的名称分析所述待办任务所处项目生命周期的阶段。
27.根据本技术的另一方面,提供一种基于插件的开发装置,所述插件设置于集成开发工具ide中,所述装置包括:
28.获取单元,其设置为获取开发者的待办任务;
29.分析单元,其设置为分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,
30.服务提供单元,其设置为基于所述阶段信息为所述待办任务提供对应的功能服务,得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。
31.根据本技术的又一方面,提供一种插件,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述的基于插件的开发方法。
32.根据本技术的再一方面,提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述的基于插件的开发方法。
33.根据本技术提供的基于插件的开发方法、存储介质及插件,通过所述插件获取开发者的待办任务;所述插件分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,在开发者基于所述功能服务处理待办任务后得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。通过上述方法,本技术利用整合开发任务在项目生命周期的各个阶段需要执行的
所有操作和功能为一端,能够达到有效减少开发者在不同平台之间的切换时效损耗,并为开发者提供高效开发的技术效果。
附图说明
34.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1是根据本技术实施例的一种基于插件的开发方法的硬件环境示意图;
37.图2为本技术实施例提供的一种基于插件的开发方法的流程示意图;
38.图3为本技术实施例提供的另一种基于插件的开发方法的流程示意图;
39.图4为本技术实施例提供的一种插件的结构示意图之一;
40.图5a为本技术实施例提供的用户界面的示意图之一;
41.图5b为本技术实施例提供的用户界面的示意图之二;
42.图6为本技术实施例中项目生命周期全阶段的示意图;
43.图7为本技术实施例提供的一种基于插件的开发装置的结构示意图;
44.图8为本技术实施例提供的一种插件的结构示意图之二。
具体实施方式
45.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
46.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
47.在介绍本技术的实施例之前,首先对本技术实施例的技术背景进行解释:相关技术中的ide插件功能单一,通常每个插件仅能够对项目生命周期中的某一个功能点提供支持,并且仅适配一种ide,当开发者需要对其它项目生命周期进行开发,则需要在另一平台完成开发,此外,相关技术中的ide插件仅在某一种ide上对某一种开发语言提供单一、普适功能,而无法提供个性化支持。
48.对于以上缺点和不足,本技术提出一种基于插件的开发方法、存储介质及插件,对插件进行改进,利用插件为开发任务的各个生命周期提供功能服务,旨在能够解决开发者
在不同平台之间频繁切换的问题,并且能够满足不同类型,例如前端、后端等,满足不同开发语言的开发者的需要,例如可以适配intellij全家桶的多种ide,对项目生命周期的各个阶段都能够提供功能支持,开发者可以根据自身开发习惯和需要定制相应的功能。
49.根据本技术实施例的一个方面,提供了一种基于插件的开发方法。该基于插件的开发方法可以广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用的开发场景。可选地,在本实施例中,上述基于插件的开发方法可以应用于如图1所示的由ide110和外接系统120、外接系统130、外接系统140和外接系统150所构成的硬件环境中。与相关技术不同的,本实施例中的ide110中安装了插件111,如图1所示,该插件111设置接口分别与外接系统120、外接系统130、外接系统140和外接系统150进行网络连接,其中各外接系统可用于为插件或插件上某些功能层提供服务(如登录、注销服务等)。上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。
50.上面对本技术的场景示意图进行了简单说明,下面以应用于图1中的终端设备111为例,来详细说明本技术实施例提供的基于插件的开发方法。
51.请参照图2,图2根据本技术的一方面,提供一种基于插件的开发方法,所述插件设置于集成开发工具ide中,所述方法包括步骤s201-s203。
52.在实际应用中,除了对插件的各功能步骤改进外,还可以结合开发者的开发习惯、项目特性或者功能结构等对插件进行灵活自定义,本实施例以intellij平台插件为例,在完成intellij平台插件的自定义后,将该插件发布到jetbrains插件市场,该插件被安装到本地ide中即可进行使用,例如,开发者直接从jetbrains插件市场下载插件到本地ide进行使用。
53.可以理解的是,intellij平台是jetbrains开发的一款操作支持系统(operation support systems,简称oss)平台,用于构建ide和能够感知编程语言的开发者工具,intellij idea、android studio、cuba studio和cursive等众多平台都在使用它;基于java构建,它提供了一种跨平台的方法来为任何语言构建工具,无论其目标是否为java虚拟机(javavirtualmachine,简称jvm);它在apache 2.0许可证下提供,允许创建免税版的商业和非商业产品,包括成熟的ide和插件。
54.步骤s201、所述插件获取开发者的待办任务。
55.相关技术中,由于每个插件支持的都是特定功能,即,项目生命周期的某一阶段的特定功能,在开发过程中,使用插件即进行开发工作,例如,开发者在开发阶段处于项目新建阶段,直接利用项目新建的相关插件进行开发,插件无需对开发者的待办任务进行识别和获取,同时该插件也不能为开发者提供除特定功能外的其它功能服务。而本实施例中,由于插件支持项目生命周期的全阶段,在开发过程中,首先获取开发者的待办任务,并在后续步骤中对待办任务进行项目生命周期的阶段识别,为对应阶段提供特定服务。
56.在实际应用中,每个阶段都有对应的平台系统,每个平台系统对于不同身份的人员也有对应的角色操作,在开发过程中,插件通过接收开发者的登录信息拉取开发者的待办任务,为此,在所述本实施例的一种优选技术方案中,所述插件获取开发者的待办任务
(步骤s201),包括以下步骤:
57.所述插件接收开发者的登录信息;以及基于所述登录信息获取开发者的待办任务。
58.本实施例中,待办任务是开发者在创建开发任务后生成的若干待办任务之一。可以理解的是,一个开发任务可能包括多个开发者分别负责多个待办任务。
59.在一种实施方式中,插件的用户层提供了用户界面,开发者通过用户界面进行登录、注销、刷新等操作,插件基于用户界面来接收用户的操作并做出相应的响应的动作。
60.步骤s202、所述插件分析所述待办任务所处项目生命周期的阶段,得到阶段信息。
61.在本实施例的一种具体技术方案中,所述插件分析所述待办任务所处项目生命周期的阶段(步骤s202),包括以下步骤:
62.所述插件基于所述待办任务的名称分析所述待办任务所处项目生命周期的阶段。
63.在一示例中,待办任务的名称可以跟项目生命周期对应的阶段相同,例如,项目生命周期为项目开发阶段,待办任务的名称即可为项目开发,或者为xx项目开发。
64.步骤s203、所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,在开发者基于所述功能服务处理待办任务后得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。
65.在一种实施方式中,插件设置多个外接接口,该外接接口分别与对应外接系统进行连接,外接系统为开发者在项目生命周期中各阶段所要依赖的平台系统,插件根据阶段信息相应打通对应生命周期的外接接口,与对应的平台系统交互,在实际应用中,开发者可以根据具体的开发项目,根据其生命周期的具体情况对插件进行自定义,例如外接接口的数量、连接方式等。
66.基于本实施例的上述方案,通过整合开发者在项目生命周期的各个阶段需要执行的所有操作和功能为一端,在获取到待办任务时,通过分析项目生命周期阶段并为对应的阶段提供相应的功能服务,可以有效减少开发者在不同平台之间的切换时效损耗,并为开发者提供支持高效开发的功能。
67.请参照图3和图4,图3为本实施例提供的另一种基于插件的开发方法的流程示意图,图4为本实施例中插件的结构示意图之一,在上一实施例的基础上,本实施例进一步示例了插件的不同功能层,并通过在不同功能层中生成用户界面和相应的功能模块,为待办任务提供对应的功能服务,以进一步提高开发效率。具体地,如图3所示,在所述插件获取开发者的待办任务(步骤s201)之前,所述方法还包括步骤s301和步骤s302,并将步骤s201进一步划分为步骤s201a,将步骤s203进一步划分为步骤s203a。
68.需要说明的是,上述步骤顺序仅为本实施例的一种示例,在一些实施例中,步骤s302还可以在步骤s201之后,而非对本实施例的限定。
69.在介绍本实施例提供的方法之前,首先对本实施例的插件结构进行说明,如图4所示,所述插件包括用户层410和服务层420,
70.用户层410为插件的前端界面设计与实现,本实施例中,本插件以intellij platform plugin(intellij平台插件)基础为例,插件可基于项目自动化构建开源工具gradle搭建环境,借助intellij平台的开放能力,在intellij平台之上进行扩展性的功能开发,来满足开发者在项目全生命周期中的功能需要。可以理解的是,gradle是一个基于
apache ant和apache maven概念的项目自动化构建开源工具。
71.本实施例中,通过使用自定义swing组件来开发插件功能所需要的用户界面,组件包括tool windows(工具窗口)、menus and toolbars(菜单和工具栏)、dialogs(对话框)、popups(弹出窗口)、notifications(通知)等。本实施例可以基于组件的上述功能生成包括tool windows、mainmenu(主菜单)等的用户界面,用户可以在用户界面中进行action(操作行为)或者configuation(配置),在一种可实现中,基于intellij平台的产品可以通过添加intellij平台插件来修改和调整以用于自定义目的。
72.本实施例的插件可以适用于不同的ide,例如jetbrains全家桶,jetbrains全家桶是编程工具商业软件提供商,jetbrains全家桶指的是jetbrains的ide套件,同时有windows、linux和macos版本,包括intellij idea(java语言开发的集成环境)、webstorm(web前端开发工具)、goland(go语言开发的集成环境)、datagrip(跨平台的数据库工具)等。
73.服务(service)层420为插件的后端服务,插件服务为一个基于spring boot的微服务,通过生成服务功能模块和外接功能模块,向上为插件提供登录注销、任务协同、项目新建、项目开发等各功能模块的后端服务功能支持,向下打通开发者在项目生命周期中所要依赖的各个外围系统。
74.本实施例中,服务层420包括插件服务和外围系统两个部分,其中插件服务对应多个服务功能模块,例如登录注销、项目新建、项目设置、分支管理、任务协同、项目开发、项目部署、代码提交等功能模块,外围系统对应多个外接功能模块,例如前置系统a(可以为外接接口)、前置系统b、前置系统c和前置系统d,该多个外接功能模块分别与外接系统120-150。
75.步骤s301、所述插件基于swing组件在所述用户层生成用户界面,所述用户界面包括工具窗口,以便开发者基于所述工具窗口进行操作行为,所述操作行为包括注册、登录、注销或者任务处理。
76.步骤s201a、所述插件基于所述用户界面获取开发者的待办任务。
77.结合图5a和图5b所示,图5a和图5b分别为本实施例中用户界面的示意图,如图5a所示,在一种可实现中,首先在清单文件plugin.xml中声明工具窗口的属性,继承simpletoolwindowpanel,在toolwindowfactory中注册该窗口,并在服务层基于工具窗口的操作打通外围系统的接口,拉取相应的待办任务数据,开发者即可在工具窗口toolwindow中注册设置、注销、刷新以及任务处理等操作行为(action),本实施例的工具窗口对应图5a中的essential窗口,开发者对应图5a中的x用户。
78.如图5b所示,在一种可实现中,在plugin.xml中声明menus(菜单栏)相关的action,对于不同的action进行相对应的功能逻辑的设计与实现。在toolwindowfactory中注册该窗口;并通过onepixelsplitter类实现左侧功能树与右侧功能详情界面,然后调用插件后端服务获取已开放的功能列表,并渲染到插件界面。
79.步骤s302、所述插件基于spring boot组件在所述服务层生成服务功能模块和外接功能模块,所述服务功能模块用于向用户层提供项目生命周期各个阶段的功能服务,所述外接功能模块用于连接项目生命周期各个阶段对应的外接系统,并为所述服务功能模块提供功能服务支持。
80.步骤s203a、所述插件基于所述服务功能模块和外接功能模块按照所述阶段信息
为所述待办任务提供对应的功能服务,在开发者基于所述功能服务处理待办任务后得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。
81.在一示例中,服务功能模块可以包括登录注销、项目新建、项目设置、分支管理、任务协同、项目开发、项目部署、代码提交等功能模块,外接功能模块分别连接各个外接系统,可以理解的,基于spring boot组件生成多种功能服务模块为现有技术,本实施例对此不多作赘述,对于外接功能模块的生成,在一可实现中,spring boot组件可以以生成外接接口文档的方式生成外接功能模块。
82.在本实施例的一种优选技术方案中,所述项目生命周期包括以下任意之一或者任意组合:项目创建;项目设置;项目开发;以及,项目部署。
83.在所述方法的一种优选技术方案中,所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,包括:
84.若所述阶段信息为项目创建,则为所述待办任务提供初始项目脚手架的功能服务;
85.若所述阶段信息为项目设置,则为所述待办任务提供maven私服设置向导的功能服务;
86.若所述阶段信息为项目开发,则为所述待办任务提供代码编辑的功能服务;
87.若所述阶段信息为项目部署,则为所述待办任务提供发布三方包到私服的功能服务。
88.可以理解的是,上述阶段信息主要对应于开发过程阶段,在一些示例中,除了上述阶段,还可能包括其他开发阶段,可以通过对插件进行自定义的方式,来支持其他阶段的功能服务。
89.在一些实施方式中,项目生命周期(essentials)除了上述开发过程阶段,还可以包括登录、待办等阶段,具体如图6所示,图6示出了项目生命周期的各个阶段以及任务,本实施例所提供的插件能够在各个阶段提供对应的功能服务。为便于对本实施例的理解,本技术提供一示例性实施例,包括以下流程:
90.a、开发者在jetbrains全家桶的ide中安装该插件;
91.b、通过登录,插件获取到开发者的身份;
92.c、插件显示工具窗口,帮助开发者拉取到当前的需求任务待办,并在后续步骤中根据待办任务的项目生命周期阶段提供相应的功能服务;
93.d、在项目创建阶段,为开发者提供后端服务、网关服务、定时任务等项目类型的初始项目脚手架;
94.e、在项目设置阶段,为开发者提供maven私服设置向导;
95.f、在项目开发阶段,为开发者提供代码生成、代码检查、代码提交等便捷功能;
96.g、在项目部署阶段,为开发者提供发布三方包到私服的功能。
97.需要说明的是,上述功能服务仅为本实施例的其中一种示例,而并非对本技术的限定,在一些实施例中,还可以根据待办任务的不同项目生命周期阶段提供其他的功能服务,例如,在项目部署阶段,除了为开发者提供发布三方包到私服的功能服务之外,还可以为开发者提供流水线持续集成、应用服务部署等功能服务。
98.根据本技术的另一方面,本技术实施例相应还提供一种基于插件的开发装置,所
述插件设置于集成开发工具ide中,如图7所示,所述装置包括获取单元71、分析单元72和服务提供单元73,其中,
99.获取单元71,其设置为获取开发者的待办任务;
100.分析单元72,其设置为分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,
101.服务提供单元73,其设置为基于所述阶段信息为所述待办任务提供对应的功能服务,得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。
102.在所述装置的一种优选技术方案中,所述插件包括用户层,所述装置还包括:
103.第一生成单元,其设置为基于swing组件在所述用户层生成用户界面,所述用户界面包括工具窗口,以便开发者基于所述工具窗口进行操作行为,所述操作行为包括注册、登录、注销或者任务处理;
104.所述获取单元71具体设置为,所述插件基于所述用户界面获取开发者的待办任务。
105.在所述装置的一种优选技术方案中,所述获取单元71包括:
106.接收元件,其设置为所述插件接收开发者的登录信息;以及,获取元件,其设置为获取基于所述登录信息获取开发者的待办任务;
107.其中,所述待办任务是开发者在创建开发任务后生成的若干待办任务之一。
108.在所述装置的一种优选技术方案中,所述插件还包括服务层,所述装置还包括:
109.第二生成单元,其设置为基于spring boot组件在所述服务层生成服务功能模块和外接功能模块,所述服务功能模块用于向用户层提供项目生命周期各个阶段的功能服务,所述外接功能模块用于连接项目生命周期各个阶段对应的外接系统,并为所述服务功能模块提供功能服务支持;
110.所述服务提供单元73,具体设置为,基于所述服务功能模块和外接功能模块按照所述阶段信息为所述待办任务提供对应的功能服务。
111.在所述装置的一种优选技术方案中,所述项目生命周期包括以下任意之一或者任意组合:项目创建;项目设置;项目开发;以及,项目部署。
112.在所述装置的一种优选技术方案中,所述服务提供单元73具体设置为,
113.在所述阶段信息为项目创建时,为所述待办任务提供初始项目脚手架的功能服务;
114.在所述阶段信息为项目设置时,为所述待办任务提供maven私服设置向导的功能服务;
115.在所述阶段信息为项目开发时,为所述待办任务提供代码编辑的功能服务;
116.在所述阶段信息为项目部署时,为所述待办任务提供发布三方包到私服的功能服务。
117.在所述装置的一种优选技术方案中,所述分析单元72具体设置为,基于所述待办任务的名称分析所述待办任务所处项目生命周期的阶段。
118.根据本技术的又一方面,提供一种插件,如图8所示,所述插件包括存储器81和处理器82,所述存储器81中存储有计算机程序,所述处理器82被设置为通过所述计算机程序执行所述的基于插件的开发方法。
119.根据本技术的再一方面,提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述的基于插件的开发方法。
120.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
121.如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
122.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
123.在本技术实施例的描述中,术语“和/或”仅仅表示一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,术语“至少一种”表示多种中的任一种或多种中的至少两种的任意组合,例如,包括a、b、中的至少一种,可以表示包括a、b和c沟通的集合中选择的任意一个或多个元素。此外,术语“多个”的含义是两个或两个以上,除非是另有精确具体地规定。
124.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:1.一种基于插件的开发方法,其特征在于,所述插件设置于集成开发工具ide中,所述方法包括:所述插件获取开发者的待办任务;所述插件分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,在开发者基于所述功能服务处理待办任务后得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。2.根据权利要求1所述的方法,其特征在于,所述插件包括用户层,在所述插件获取开发者的待办任务之前,还包括:所述插件基于swing组件在所述用户层生成用户界面,所述用户界面包括工具窗口,以便开发者基于所述工具窗口进行操作行为,所述操作行为包括注册、登录、注销或者任务处理;所述插件获取开发者的待办任务,包括:所述插件基于所述用户界面获取开发者的待办任务。3.根据权利要求1或2所述的方法,其特征在于,所述插件获取开发者的待办任务,包括:所述插件接收开发者的登录信息;以及基于所述登录信息获取开发者的待办任务;其中,所述待办任务是开发者在创建开发任务后生成的若干待办任务之一。4.根据权利要求2所述的方法,其特征在于,所述插件还包括服务层,在所述插件基于所述阶段信息为所述待办任务提供对应的功能服务之前,还包括:所述插件基于spring boot组件在所述服务层生成服务功能模块和外接功能模块,所述服务功能模块用于向用户层提供项目生命周期各个阶段的功能服务,所述外接功能模块用于连接项目生命周期各个阶段对应的外接系统,并为所述服务功能模块提供功能服务支持;所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,包括:所述插件基于所述服务功能模块和外接功能模块按照所述阶段信息为所述待办任务提供对应的功能服务。5.根据权利要求1所述的方法,其特征在于,所述项目生命周期包括以下任意之一或者任意组合:项目创建;项目设置;项目开发;以及,项目部署。6.根据权利要求5所述的方法,其特征在于,所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,包括:若所述阶段信息为项目创建,则为所述待办任务提供初始项目脚手架的功能服务;若所述阶段信息为项目设置,则为所述待办任务提供maven私服设置向导的功能服务;若所述阶段信息为项目开发,则为所述待办任务提供代码编辑的功能服务;若所述阶段信息为项目部署,则为所述待办任务提供发布三方包到私服的功能服务。7.根据权利要求1所述的方法,其特征在于,所述插件分析所述待办任务所处项目生命周期的阶段,包括:所述插件基于所述待办任务的名称分析所述待办任务所处项目生命周期的阶段。8.一种基于插件的开发装置,其特征在于,所述插件设置于集成开发工具ide中,所述
装置包括:获取单元,其设置为获取开发者的待办任务;分析单元,其设置为分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,服务提供单元,其设置为基于所述阶段信息为所述待办任务提供对应的功能服务,得到功能服务信息,以使所述ide基于所述功能服务信息进行开发配置。9.一种插件,其特征在于,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的基于插件的开发方法。10.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的基于插件的开发方法。
技术总结本申请公开了一种基于插件的开发方法、存储介质及插件,涉及软件开发技术领域,该基于插件的开发方法包括:所述插件获取开发者的待办任务;所述插件分析所述待办任务所处项目生命周期的阶段,得到阶段信息;以及,所述插件基于所述阶段信息为所述待办任务提供对应的功能服务,在开发者基于所述功能服务处理待办任务后得到功能服务信息,以使所述IDE基于所述功能服务信息进行开发配置。通过上述方法,本申请利用整合开发任务在项目生命周期的各个阶段需要执行的所有操作和功能为一端,能够达到有效减少开发者在不同平台之间的切换时效损耗,并为开发者提供高效开发的技术效果。并为开发者提供高效开发的技术效果。并为开发者提供高效开发的技术效果。
技术研发人员:吕成锋
受保护的技术使用者:海尔智家股份有限公司
技术研发日:2022.07.13
技术公布日:2022/11/1