发布时间:2025-04-28
浏览次数:0
每日技术干货,第一时间送达!
编写Java代码时 常涉及重复性操作 这时会希望有这样一个插件 若属大家都会遇到的场景 IDE或许已提供 不然也可能有人编写了相关插件
要是该操作是你们编码环境所特有的,那就只能自行编写工具了。所以在此学习如何编写IDEA插件intellij idea找不到图标,使自己的编程环境更强大intellij idea找不到图标,更利于进行炫耀。
开发环境
开发IDEA插件有以下这些依赖:
你或许已安装了版本。但仍需安装IDEA的社区版本。商业版是闭源的。调试时无法调试核心代码。
因此我们要手动去clone一份
git clone --depth 1 git://git.jetbrains.org/idea/community.git这个地址对应的项目是idea
关于从源码运行IDEA的方法参考:检出并构建
添加IDEA JDK
我们要创建一个IDEA jdk来运行插件
除非你于Mac上运用官方JDK,不然你得手动把/lib/tools.jar添加进去。
配置 SDK
打开 File | 新建一个 SDK:
Java SDK 选择我们刚刚建立的 IDEA jdk:
接着我们能够将下载好的IDEA社区版源码添加至源码路径里。如此一来在调试的时候。便能够调试IDEA自身的代码。
第一个插件
我们来编写一个最简单的插件来学习编写一个插件的完整步骤。
新建工程
选择 ,然后 SDK指定刚刚新建的 sdk:
新建的插件项目:
插件根目录下存在两个目录,分别是src和。src属于插件代码目录。属于插件资源目录。其中META-INF/.xml是插件的描述文件。其作用如同Java web项目的web.xml
.xml 默认的内容如下:
<idea-plugin>
<id>你公司独特插件的标识id>
<name>Plugin display name herename>
<version>1.0version>
<vendor email="support@yourcompany.com" url="http://www.yourcompany.com">YourCompanyvendor>
<description>在此处输入你的插件简短描述。
most HTML tags may be used
]]>description>
<change-notes> Add change notes here.
most HTML tags may be used
]]>
change-notes>
<idea-version since-build="145.0"/>
<extensions defaultExtensionNs="com.intellij">
extensions>
<actions>
actions>
idea-plugin>
新建一个
插件扩展IDEA最常见的方式是在菜单栏添加菜单项。用户通过点击此菜单项触发插件功能。IDEA提供了一个类。该类有一个虚方法。每次菜单被点击时此方法会被调用。
新建一个自定义的 有两个步骤:
1. 继承 类,在 方法中实现插件逻辑
注册存在两种方式。一种是通过代码进行注册。另一种是通过.xml进行注册。
我们先写一个简单的类:
public class TextBoxes extends AnAction {
要是借助Java代码进行注册 这个构造函数会被调用 传给父类的字符串会被用作菜单项的名称
要是你借助plugin.xml进行注册,那么这个构造函数你能够忽略
public TextBoxes() {
// 设置菜单项名称
super("Text _Boxes");
// 还可以设置菜单项名称,描述,图标
参数为 IconLoader 获取的图标,图标路径为 "/Mypackage/icon.png"
}
public void actionPerformed(AnActionEvent event) {
获取事件中的数据。数据键为平台数据键中的项目键。将获取到的数据赋值给项目变量。
请你提供完整的句子内容,以便我能准确地按照要求进行改写。目前仅给出了“String txt= Messages.showInputDialog(project,”,信息不完整。"What is your name?", "Input your name"请提供完整的句子以便我进行准确改写。仅这一部分“Messages.getQuestionIcon());”信息不足。
消息显示消息对话框于项目"Hello, " + txt + "!\n I am glad to see you.", "Information"请提供完整的句子内容,以便我进行准确改写。仅“Messages.getInformationIcon());”这部分无法得知其完整语义及要改写的具体要求。
}
}
然后我们在.xml中注册这个:
<group id="MyPlugin.SampleMenu" text="_Sample Menu" description="Sample menu">
<add-to-group group-id="MainMenu" anchor="last" />
"Myplugin.Textboxes" class="Mypackage.TextBoxes" text="Text _Boxes" description="A test menu item" />
group>
这个菜单显示的效果如下
IDEA除了能手动新建外 还提供了快速新建的办法 在代码目录上点击新建 就能看到
在这个面板里能填写你要新建的信息。IDEA会帮你新建类。还会在.xml中帮你注册。
运行插件
运行插件十分简便。如同运行普通Java代码那样。点击运行按钮。或者点击调试按钮。就会启动一个新的IDEA实例。在这个实例中插件会生效。
点击 Text Boxes 就可以看到插件的效果了。
来源:.com//p/.html
PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码