如何编写NetBeans插件

是否想在NetBeans IDE中添加功能或自动执行某些操作? 跟随我们编写您的第一个NetBeans插件。

让我们超越简单的工具栏示例 ,创建一个可以自动更新的插件。 该代码基于NetBeansWakaTime插件 。 我们的示例插件将仅打印Hello World语句,并在可用的情况下更新至新版本……足以使您入门。

创建一个新的插件项目

选择File -> New Project然后选择NetBeans Modules -> Module作为项目类型。

创建插件项目

为您的项目命名

为您的项目命名

选择插件的名称空间或代码名称

您的项目名称空间

添加一个Java文件

创建Java文件

名称Java文件

插件起点

创建新的Java类文件后,使其扩展ModuleInstall并使用@OnShowing对其进行包装 ,使其仅在GUI加载后运行。

@OnShowing
public class MyPlugin extends ModuleInstall implements Runnable {
}

在您的OnShowingALT + ENTER ,然后Search Module Dependency for OnShowing选择Search Module Dependency for OnShowing将Window System API导入到项目中。 这将为您的项目添加新的依赖关系,并将必要的import语句添加到文件顶部。 还要对ModuleInstall执行此ModuleInstall

搜索模块依赖性

有时NetBeans org.openide.util依赖项,因此您可能必须手动添加该依赖项。 为此,右键单击MyPlugin,然后选择Properties

项目属性

选择类别Libraries然后单击Add... 键入org.openide.util然后单击OK 。 这会将依赖项添加到您的project.xml文件中。

项目属性库

add-utilities-api

MyPlugin类上按ALT + ENTER ,然后选择Implement all abstract methods

实施抽象方法

最后一件事,将此行添加到manifest.mf文件。 OpenIDE-Module-Install: org/myorg/myplugin/MyPlugin.class

openide模块安装

现在,将在插件加载后执行run()方法。

插件已加载

记录中

让我们将println输出输出到NetBeans IDE日志中。 首先,将记录器设置为MyPlugin类的属性。

public static final Logger log = Logger.getLogger("MyPlugin");

ALT + ENTER导入java.util.logging.Logger

添加记录器导入

log.info("MyPlugin has loaded.");替换println log.info("MyPlugin has loaded.");

日志行

自动更新您的插件

MyPlugin包中创建一个新的Java文件UpdateHandler.java

UpdateHandler.java替换此文件的内容。 搜索模块依赖项,并通过在每个import语句上按ALT + ENTER添加任何缺少的依赖项。

将这些行添加到manifest.mf文件中。

OpenIDE-Module-Layer: org/myorg/myplugin/layer.xml
OpenIDE-Module-Implementation-Version: 201501010101

MyPlugin包中创建一个新的XML文档。

new-xml-document

名称xml文档

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
    <folder name="Services">
        <folder name="AutoupdateType">
            <file name="org_myorg_myplugin_update_center.instance">
                <attr name="displayName" bundlevalue="org.myorg.myplugin.Bundle#Services/AutoupdateType/org_myorg_myplugin_update_center.instance"/>
                <attr name="enabled" boolvalue="true"/>
                <attr name="instanceCreate" methodvalue="org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogFactory.createUpdateProvider"/>
                <attr name="instanceOf" stringvalue="org.netbeans.spi.autoupdate.UpdateProvider"/>
                <attr name="url" bundlevalue="org.myorg.myplugin.Bundle#org_myorg_myplugin_update_center"/>
            </file>
        </folder>
    </folder>
</filesystem>

将此代码添加到run()方法内的MyPlugin类中。

WindowManager.getDefault().invokeWhenUIReady(new Runnable () {
    @Override
    public void run() {
      UpdateHandler.checkAndHandleUpdates();
    }
});

将这些行添加到Bundle.properties文件中:

Services/AutoupdateType/org_myorg_myplugin_update_center.instance=MyPlugin
UpdateHandler.NewModules=false
org_myorg_myplugin_update_center=https\://example.com/updates.xml

现在,每次NetBeans重新启动并启动插件时,它将通过从example.com下载updates.xml来检查更新。

您的updates.xml文件告诉NetBeans从何处获取插件的新NBM。 要创建用于发布插件的NBM,请右键单击MyPlugin项目,然后选择Create NBM 。 NBM文件是您将发布到NetBeans插件门户的文件

有关在GitHub上托管updates.xml的示例,请查看WakaTime NetBeans插件中的 update.xml和对应的Bundle.properties

翻译自: https://www.javacodegeeks.com/2015/02/write-netbeans-plugin.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值