码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • idea plugin demo


    文章目录

    • 官网地址
      • 创建方式
      • 先测试一把
      • 报错
    • 部分问题答案可在[Issues · JetBrains/gradle-intellij-plugin · GitHub](https://github.com/JetBrains/gradle-intellij-plugin/issues/)查到
      • 我的配置

    官网地址

    创建方式

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZMZiN2R-1668478260238)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1668418722668.png)]

    完事儿之后先说几个重要的文件

    build.gradle.kts:这个需要添加编码设置UTF-8

    tasks {
        // Set the JVM compatibility versions
        withType<JavaCompile> {
            sourceCompatibility = "11"
            targetCompatibility = "11"
            //设置编码
            options.encoding = "UTF-8"
        }
        ...
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    plugin.xml:这个自动生成就行,但是需要添加标签,其实最主要的就是这个标签

    
        
            
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    gradle/gradle-wrapper.properties:这个不需要改,一般形如

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    # 这里就是下载的gradle版本了
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 
    zipStoreBase=GRADLE_USER_HOME
    # 这里会指定下载的路径,这样你就可以去你在gradle设置的路径下去找了,如果未设置,就在C盘那里,Ctrl+alt+S搜索gradle就能看到
    zipStorePath=wrapper/dists
    # 注意:user gradle from 一定要在IDE勾选'gradle-wrapper.properties' file
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    先测试一把

    public class Test extends AnAction {
        @Override
        public void actionPerformed(@NotNull AnActionEvent e) {
            NotificationGroup notificationGroup = new NotificationGroup("testid", NotificationDisplayType.BALLOON, false);
            /**
             * content :  通知内容
             * type  :通知的类型,warning,info,error
             */
            Notification notification = notificationGroup.createNotification("测试通知", MessageType.INFO);
            Notifications.Bus.notify(notification);
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    plugin.xml

       <actions>
            <action class="net.canway.Test" text="ceshi" description="tongzhi" id="testid">
                <add-to-group group-id="ToolsMenu" anchor="first"/>
            action>
        actions>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    直接运行

    他就回去下载相应的包以及你在build.gradle.kts指定的idea版本的包version.set("2021.3.3")

    同时会打开一个新的idea界面,也就是你指定的版本2021.3.3

    精彩的地方就来了

    报错

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1i2GjBTi-1668478260240)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1668419480114.png)]

    这个是gradle版本的问题,怎么解决?得去官网查,但是这个问题可以忽略,我改了task的编码后,这里的错误就没有了,也是神奇。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3f1usQf4-1668478260241)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1668419583762.png)]

    这个就是编码问题,前面已经说过了,在build.gradle.kts文件中添加options.encoding = "UTF-8"就可以解决了。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ivFOumV-1668478260241)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1668419789506.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3VCV1Ro1-1668478260242)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\1668419956157.png)]

    还有一个错误,是没指定JVM参数,导致不能启动,这个没截图

    我的配置是-Xmx2048m -Xms2048m

    到此,demo结束

    部分问题答案可在Issues · JetBrains/gradle-intellij-plugin · GitHub查到

    我的配置

    PS D:\workdata\idea_plugin_test\plugin3> ./gradlew -version
    
    ------------------------------------------------------------
    Gradle 7.5.1                                                
    ------------------------------------------------------------
    
    Build time:   2022-08-05 21:17:56 UTC
    Revision:     d1daa0cbf1a0103000b71484e1dbfe096e095918
    
    Kotlin:       1.6.21
    Groovy:       3.0.10
    Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
    JVM:          1.8.0_271 (Oracle Corporation 25.271-b09)
    OS:           Windows 10 10.0 amd64
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    c语言-手写JSON解析
    Android进阶——Handler底层fd监听之epoll机制
    vue3 + axios 中断取消接口请求
    Spring之AOP的切点、通知、切点表达式以及知识要点
    网络安全:SQL盲注概述
    Python 变量?对象?引用?赋值?一个例子解释清楚
    Java常用集合总结
    uni-app网络请求封装及发送
    【Flutter小记5】Isolate && ffi && Method Channel 使用简介与总结
    详解torch.nn.functional.grid_sample函数(通俗易懂):可实现对特征图的水平/垂直翻转
  • 原文地址:https://blog.csdn.net/alpha0808/article/details/127860674
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号