首页 > 其他分享 >intellij idea 编写插件

intellij idea 编写插件

时间:2023-11-21 09:35:15浏览次数:38  
标签:插件 intellij val text idea ele 点击 action

先从编写一个简单的单个点击事件开始,通过在菜单栏添加一个新功能然后点击弹出一个弹出框显示当前的文件名

首先新建一个IDE Plugin的项目(本文是在Intellij 2023.2.3 Community版本创建)
然后在src->main->resources->META-INF->plugin.xml文件添加一个action,表示要添加的点击事件,如果没有actions标签,需要将action放在actions标签里面:

<actions>
        <action id="com.example.demo.PopupDialogAction" class="com.example.demo.PopupDialogAction"
                text="Action Basics Plugin: Pop Dialog Action" description="SDK action example">
            <add-to-group group-id="ToolsMenu" anchor="first"/>
            <override-text place="MainMenu" text="Preview OFD"/>
            <keyboard-shortcut first-keystroke="control alt A" second-keystroke="C" keymap="$default"/>
            <mouse-shortcut keystroke="control button3 doubleClick" keymap="$default"/>
        </action>
    </actions>

在com.example.demo包下创建PopupDialogAction类,该类继承自AnAction,实现最简单的弹窗功能:

class PopupDialogAction: AnAction {
    constructor(): super()

    constructor(text: String, description: String, icon: Icon): super(text, description, icon)

    override fun actionPerformed(e: AnActionEvent) {
        // 获取档期按项目的信息
        val currentProject = e.project
        val msg = StringBuilder(e.presentation.text + " Selected")
        val ele = e.getData(CommonDataKeys.NAVIGATABLE)
        ele?.apply {
            msg.append("\nSelected element: ").append(ele)
        }
        // dialog的标题
        val title = e.presentation.description
        // 弹出一个dialog,显示内容
        Messages.showMessageDialog(currentProject, msg.toString(), title, Messages.getInformationIcon())
    }

    override fun getActionUpdateThread(): ActionUpdateThread {
        return ActionUpdateThread.BGT
    }

    override fun update(e: AnActionEvent) {
        // 选中的项目不为空
        e.presentation.isEnabledAndVisible = e.project != null
    }
}

上面就是一个完整简单的action点击事件插件,然后运行 run plugin

运行了一个新的插件项目窗口,如果没有项目则自己新建一个就行

可以看到有了新加的action,当我们点击action的时候就会弹窗了

标签:插件,intellij,val,text,idea,ele,点击,action
From: https://www.cnblogs.com/xxss0903/p/17845509.html

相关文章

  • idea连接mysql数据库
    关于配置环境的崩溃心理历程:(我哭)跟着黑马连接本地数据库的时候,测试连接显示不成功启动命令行,在命令行输入:mysql-uroot-p****最后给我返回的是:ERROR2003(HY000):Can'tconnecttoMySQLserveron'localhost:3306'(10061)  问了gpt,现在来看他给出的回答是正确的,......
  • redis在idea中的应用
    2023-11-20导入的依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> packagecom.sky.test;importorg.junit.jupiter.api.Test......
  • revit测试插件更新,测试纪要
    1、revit如何模拟测试插件更新测试方法修改注册表的UUID,满足这个UUID和最新的UUID不一致,会弹出更新提示备注:(1)一定要测试环境和测试环境对应,dev和dev对应(2)test要和test对应,要去对应发布环境  当开发有代码修改,此时去发布对应代码库的代码,然后本地做插件更新,更新完......
  • IDea快捷键
    Idea常用快捷键大全,拿小本本记下来,忘记了可以方便查找。编写代码Ctrl+Shift+Enter,语句完成。“!”,否定完成,输入表达式时按“!”键。Ctrl+E,最近的文件。Ctrl+Shift+E,最近更改的文件。Shift+Click,可以关闭文件。Ctrl+[OR],可以跑到大括号的开头与结尾。Ctrl+F12,可以显示当......
  • 修改idea代码之后运行web界面却发现没有更改
    先是尝试了对项目进行clear——CTRL+shift+f9(如果是和我一样,f9在键盘按钮的右下角,那么需要在加上fn,即CTRL+shift+fn+f9)但是不管用……之后尝试了对浏览器界面进行clear——CTRL+shift+r然后就好了......
  • 设置 IntelliJ IDEA 的默认字符集的方法
    设置IntelliJIDEA的默认字符集的方法 1、在顶部菜单栏找到“帮助(Help)”项(通常是最后一项),点击它并在弹出的二级菜单中选择“编辑定制虚拟机选项(EditCustomVMOptions...)”项。2、在默认追加如下配置:-Dfile.encoding=UTF-8 3、保存并重启IntelliJIDEA即可。......
  • 如何使用C#编写低代码应用插件
    本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言作为当今快速发展的技术之一,低代码平台为开发人员提供了更高效、更简便的工具和方法,以快速构建和部署应用程序。现在市面上的大部分低代码平台可以满足......
  • 好用的tampermonkey插件
    AC-baidu-重定向优化百度搜狗谷歌必应搜索_favicon_双列调整搜索页面结果,能显示更多结果百度系网站去广告屏蔽广告知乎增强刷知乎用的......
  • 12.页面优化插件
    页面优化插件应用场景原生的页面在对于前端不够熟悉的情况下,编写起来是比较困难的。包括设置一些样式,从头再学习CSS成本较大。如果要简化学习成本,可以通过响应式的前端框架Bootstrap完成,通过使用Bootstrap,开发者可以节省大量的时间和精力。在Bootstrap的基础之上,flask......
  • 基于Wireshark插件的国密标准检测工具的设计与实现——任务理解与分工
    任务分工:应用和数据部分不可否认性的实现对任务的理解以下是我对任务的理解:任务背景:任务涉及到对用户进行身份验证和签名验证,以确保用户的关键操作行为是合法和安全的。用户1的操作:步骤23:正确给出√×*,这似乎是用户1的关键操作行为的一部分,需要验证其签名的合法性。步骤24......