idea插件开发官方文档(idea插件开发教程)
如何设计一款WebStorm的插件?
准备工作
intelliJ平台的所有插件开发都是基于java语言,所以在进入开发工作之前必须对java语言有一定的了解
文档利器
intelliJ插件开发官方文档
webstorm js插件开发博客
注意IDEA的版本:由于IDEA community版本不支持js语言的插件,如果开发的插件想要操作js插件,则需要安装IDEA utimate版本,
Intellij IDEA官方帮助文档解释什么是Artifact(原文翻译)
说明
官方文档地址: 翻译本只作为本人个人参考, 现提供给大家一并参考.因个人英语水平, 所以翻译的可能不是很好, 需要改进的地方还望懂的朋友提出以便本人加以修正.
Artifact是什么? (What is an artifact?)
Artifact是你的项目资产的一个集合, 将他们项目中的文件放在一起去测试, 部署或者描述你的软件解决方案, 又或是项目的一部分.
例如是以编译的java class文件, 或者打包成java档案文件(jar包文件)的java应用, 一个web应用的文件夹(就是webcontent或myeclipse下的webroot)结构或者是一个web应用程序档案文件(war包文件)等.
Arifact是可以是一份档案文件, 或者是一个文件夹的结构, 包含下列元素:
一个或多个的项目模块编译输出(也就是类路径src下面的资源).
模块依赖包含的lib包.
资源文件的集合(web网页, 图片, 描述文件( descriptor files )等)
其他的Artifact
单独的文件, 目录或者档案(在部署构建artifacts的时候可以自己添加其他地方文件等)
Note : 上面说的档案一般是压缩文件, 例如war包, jar包, ear包.
Artifact的配置 (Working with artifact configurations)
Artifact的生成与 Artifact的配置有关, Artifact是在 Project Structure(项目结构) 对话框中进行管理的. (File | Project Structure | Artifacts).
Artifact配置关键的部分是 在 输出布局选项卡 Output Layout tab . 指定 Artifact的结构和内容.
译者注 : 将项目中的东西组合在一起的一个过程, 例如eclipse里我们添加jar包是直接add to path. idea就是在要在modules和artifacts这里配置lib等一些其他的文件.
构建Artifact (Building artifacts)
你可以在 Build | Build Artifacts 处构建你自己的 Artifact.你也可以通过执行 run/debug的配置来构建一个Artifact.在对应的 run/debug配置中, 在运行之前添加一个 Build ArtifactNameartifact
的任务到任务列表. 当你执行 run/debug配置的时候Artifact会自动构建. (Run | Run or Run | Debug)
在run/debug配置中包含一个构建Artifact的任务是有意义的, run/debug配置会以某种方式使用相应的artifacts.
译者注 : 上面这句话是说, 在我们添加了一个运行服务器的配置的时候可以在Deployement这个选项卡那里添加一个artifacts, 如果有已存在的artifacts, 那么会直接添加进来, 如果没有则会自动带你到Build | Build Artifacts这个地方去让你构建artifacts.
例如在一个应用服务器中启动一个打包成jar包中的artifact,或部署一个WAR/EAR artifact.默认情况下, 当Artifact构建时, 它会被放在out/artifacts/artifact_dir
文件夹.
运行JAR Artifact (Running JAR artifacts)
运行一个打包成JAR的java应用程序, IDEA提供了一些JAR应用运行配置(JAR Application run configurations), 创建这样的运行配置:
打开Run/Debug配置对话框( Run | Edit Configurations )
单击 + 号 , 然后选择JAR应用.
部署Artifact到应用服务器和云平台 (Deploying artifacts to application servers and cloud platforms)
许多artifact的格式(例如 WAR, 分解的WAR(Exploded WAR), 分解的EAR)都适合部署到应用服务器和云平台.以下是如何部署一个这样的artifact:
在一个服务器或云服务器的run/debug configuration中, 指定需要部署的artifact(使用部署选项卡或区域(Use the Deployment tab or field.))
在 run/debug工具窗口 , 或应用服务器中执行run/debug配置或使用部署命令
开发Intellij Idea插件
在过去几年中,JetBrains的IntelliJ很快成为Java开发人员的顶级IDE。使IntelliJ对Java开发人员如此有吸引力的一个特性是使用插件扩展和创建新功能的能力。在本教程中,我们将介绍如何编写IntelliJ插件来演示扩展IDE的几种方法。
Intellij插件按照功能可分四类:
使用 Plugin DevKit( )来创建工程,DevKit提供了自定义SDK类型和一组用于在IDE中构建插件的操作
在Intellij的菜单栏,选择 File | New | Project, 在 New Project 框里选择 IntelliJ PLatform Plugin
在project SDK选项框选择合适的Intellij SDK,然后下一步,填上project name,完成,就创建好一个Intellij plugin 工程了。
创建自定义Action
创建自定义的action,需要继承抽象类AnAction,并且需要重写方法 AnAction.update() 和 AnAction.actionPerformed() :
actionPerformed()方法
在该方法中,我们通过getSelectedCode()方法拿到用户选择的文本,通过刚发getLanguageTag()获取当前文本语言,比如java,js,go等。然后通过getURL()方法组装url,最后通过BrowserUtil.browse(url) 打开浏览器,并访问给的url。在我们demo里面,我们将用选择的文本在baidu里面进行搜索。
获取Editor中选择的文本
你需要使用SelectionModel对象获取选择的文本
获取当前文件的语言
从event中通过CommonDataKeys.PSI_FILE key获取到PsiFile对象,然后再从PsiFile中获取到Language。
有两种方式可以注册我们自定义的事件:1. plugin.xml中配置,2.代码中注册
在plugin.xml文件中注册事件:
在Idea中运行或者debug插件是非常简单的一件事
配置
运行
结果
idea开发工具的插件开发(一)入门
1、
首先使用idea新建一个intellij platform plugin项目,如下图,名字自己定义
2、
然后进入项目在src目录下new一个action文件,如下图操作
说明:
(1)groups表示自己的插件在对应的那个idea的菜单出现,例子中选择了Help,那么之后,插件开发完成后就可以去help中找到插件
(2)后面的Actions和achor表示的具体位置
(3)最下面的keyboard shortcuts表示自己的插件将通过什么快捷键唤起,这个录入的时候,只需要将光标点击在输入栏,在键盘执行对应的快捷键即可
(4)以上的信息录入完成后如果想要修改,可以在plugin.xml中修改对应的信息,如下如所示
5、
查看效果,点击运行按钮会,idea会新起一个窗口,然后再新的窗口中检测,自己的实现是否正确
如下图:
6、
生成jar包,然后就可以通过安装本地插件选项安装自己写的插件。
项目的github地址: