JetBrains plugin 的几个坑

2023-11-06

两种创建project的方式

dev kit

在这里插入图片描述

graddle

在这里插入图片描述

注意的几点:

  • 两种方式的目录结构是不同的
  • 两种方式都可以右键src目录新建action
  • 两种方式调试时启动的idea实例不同
    graddle 是 一个community 的intellij Idea 的 sandbox, 这个sandbox 在第一次运行时要下载,很耗时
    devkit 是启动一个当前版本的 intelij Idea 好像
  • 对jetbrain 全家桶的支持,传说只要去掉 plugin.xml 中的的一个注释就可以了
    <!-- uncomment to enable plugin in all products
    <depends>com.intellij.modules.lang</depends>
    -->
  • graddle 模版中的发布方法有问题,不知道是不是因为我的版本有些老,具体的问题是,jetbrain的发布平台不在支持用户名密码的发布,而是改用token。但是发布工具中依然使用用户名和密码的方式。(文档中就只提到了这种方式)
    devkit 的发布流程是正常的,因为是打好jar包上传的。。。
    文档中说graddle 发布的前提是帐号已经发布过才可以,并不理解这段话的意思

To do so, you will need to have already published the plugin to the plugin repository. For detailed information, please see the guide to publishing a plugin

Build

dev-kit 的build:
build
build 使用的sdk版本:
上面的红圈,感觉用1.8 可以支持大部分的JetBrain 产品。9.0的话,一些老版本会不支持。
下面的红圈,不要选太低的,否则编译报错,8应该够用。
在这里插入图片描述

发布

我发布成功的一个例子
https://plugins.jetbrains.com/plugin/11556-generate-struct-tags-for-golang
dev-kit 版的代码:
https://github.com/harryhare/go_struct_tag_plugin_jetbrains
graddle 版的代码:
https://github.com/harryhare/go_struct_tag_plugin_jetbrains_gradle

https://plugins.jetbrains.com/ 上 upload plugin 的位置:
在这里插入图片描述
token /密码的管理:
https://hub.jetbrains.com ->profile -> authentication

审核

审核过后就可以在browse repositories( preferences -> plugins -> 下排中间的那个按钮) 中看的自己发布的插件了: )
在这里插入图片描述

遇到的一个坑

不能直接编辑文件,否则报这样的错:

Assertion failed: Write access is allowed inside write-action only (see com.intellij.openapi.application.Application.runWriteAction())

解决:
https://github.com/JetBrains/intellij-sdk-docs/blob/master/tutorials/editor_basics/working_with_text.md

其他

新建的graddle 项目没有java 文件夹的原因是 graddle 没有sync 完,这一步很慢的,要有耐心。。。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JetBrains plugin 的几个坑 的相关文章

  • 2023年超全前端面试题-背完稳稳拿offer(欢迎补充)

    HTML CSS相关 HTML5 HTML5新特性 增强了表单 input新增了一些type color 定义调色板 tel 定义包含电话号码的输入域 email 定义包含email地址的输入域 search 定义搜索域 number 定义
  • innodb索引概念

    author skate time 2013 04 09 总结记录下innodb的索引概念 以备查看 innodb索引分类 聚簇索引 clustered index 1 有主键时 根据主键创建聚簇索引 2 没有主键时 会用一个唯一且不为空的
  • Qt+Pyhton实现麒麟V10系统下word文档读写功能

    目录 前言 1 C 调用python 1 1 安装Python开发环境 1 2 修改Qt工程配置 1 3 初始化Python环境 1 4 C 调用Python 函数 1 5 常用的Python接口 2 python虚拟环境 2 1Pytho
  • python 编码规范-代码的整体布局

    代码的整体布局主要囊括了代码在整体结构上应该注意的事项 缩进 空格 制表符 Python 在语法上使用缩进来确定代码块的开始和结束 对于每一级缩进 应为 4 个空格 并且不要混用空格与制表符 缩进本身是一种语法上的限制 是强制性的 有的ID
  • 【计算机网络系列】网络层④:详解IP数据包的格式

    IP数据报的格式 IP数据报的格式说明协议IP都具有什么功能 在协议IP的标准中 描述首部格式的宽度是32位 即4字节 下图是IP数据报的完整格式 从上图可看出 一个IP数据报由首部和数据两部分组成 首部的前一部分长度是固定的 共20字节
  • 炉石传说一直显示重新连接服务器,炉石传说一直显示战网开启中 炉石传说卡在启动战网解决办法...

    很多炉石玩家在登录战网客户端出现炉石传说正在启动战网不动的问题 下面小编为大家带来炉石传说卡在启动战网解决办法 一起来看下吧 很多炉石玩家在登录战网客户端出现炉石传说正在启动战网不动的问题 下面小编为大家带来炉石传说卡在启动战网解决办法 一
  • 基于AntDesign Vue的响应式登录页面

    为了做一个自己的前后端分离的后台管理系统 特地做了一下登录页面 大概的架子如下 后面需要替换一下顶部导航的信息 先大概贴一下代码 以后直接复制使用 整体的布局是自己写的样式 如果后面要替换为其他的UI框架 比如element ui ivie
  • selenium打开edge浏览器闪退问题

    selenium打开浏览器闪退问题 本文记录selenium在打开浏览器后会自动闪退问题 版本如下 需保证浏览器驱动为对应版本 官方给的下载驱动的地址为 https developer microsoft com zh cn microso
  • javaScript的数学计算

    js自带的数学计算的方法 默认加减乘除符号 NaN与任意操作数加减乘除 结果都是NaN 加法 数字与字符串相加会拼接成字符串 特殊操作数的求和 n代表任意数字 NaN与任意操作数相加 结果都是NaN console log NaN n In
  • Tibco EMS 初级使用方法小结

    TIBCO Enterprise Message Service 是一个消息服务器产品 它采用C语言编写 完全支持JMS的通讯协议 在运行速度和消息吞吐量上表现非常出色 对于Windows Linux Mac AIX平台都提供支持 关于这个
  • vscode_c++_slambook 编译配置

    工作目录 配置文件 launch json version 0 2 0 configurations name slamBook程序调试 type cppdbg request launch program fileDirname buil
  • MySQL高级:(十二)MySQL事务日志

    笔记来源 MySQL数据库教程天花板 mysql安装到mysql高级 强 硬 文章目录 12 1 事务日志概述 12 2 redo日志 12 2 1 为什么需要redo日志 12 2 2 redo日志的好处 特点 12 2 3 redo日志
  • 【CI/CD】基于 Jenkins+Docker+Git 的简单 CI 流程实践(上)

    基于 Jenkins Docker Git 的简单 CI 流程实践 上 在如今的互联网时代 随着软件开发复杂度的不断提高 软件开发和发布管理也越来越重要 目前已经形成一套标准的流程 最重要的组成部分就是 持续集成 及 持续交付 部署 在此
  • 华为OD机试 - 叠积木(Java)

    题目描述 有一堆长方体积木 它们的宽度和高度都相同 但长度不一 小橙想把这堆积木叠成一面墙 墙的每层可以放一个积木 也可以将两个积木拼接起来 要求每层的长度相同 若必须用完这些积木 叠成的墙最多为多少层 输入描述 输入为一行 为各个积木的长
  • 如何检测勒索软件攻击

    什么是勒索软件 勒索软件又称勒索病毒 是一种特殊的恶意软件 又被归类为 阻断访问式攻击 denial of access attack 与其他病毒最大的不同在于攻击方法以及中毒方式 攻击方法 攻击它采用技术手段限制受害者访问系统或系统内的数
  • c++ 实现职工管理系统

    一 案例描述 某公司中的职工分为三种 普通员工 经理和老板 每个职工都有自己的职工编号 姓名 年龄 电话号码和岗位 管理系统需要实现的功能如下 添加职工信息 显示职工信息 删除离职职工 修改职工信息 查找职工信息 职工编号排序 清空职工信息
  • git回滚到指定版本,并提交到远程分支

    1 git reflog 可以查看所有分支的所有操作记录包括已经被删除的commit记录和reset的操作 2 git log 可以显示所有提交过的版本信息 二者的区别 用git log 则看不出来被删除的commitid 用git ref
  • cookie session总结

    Cookie是由服务器创建 然后通过响应发送给客户端的一个键值对 客户端会保存Cookie 并会标注出Cookie的来源 哪个服务器的Cookie Cookie规范 Cookie通过请求头和响应头在服务器与客户端之间传输 Cookie大小上
  • 踩坑:git或gitee之上传超过100M文件

    直接说 如果你是免费用户 g远程仓库是gitee 那么对不起 你没法上传超过100M的大文件 不支持git fls 只有企业项目 才支持 如果你的远程仓库是git 那么借助git fls就可以了 至于怎么使用 网上一大堆博客 我就不浪费篇幅
  • hive 使用 jndi 数据源时已经在 Tomcat 中配置好 但是在 java 代码中获取数据源就会报错

    这个是异常信息 javax naming NoInitialContextException Need to specify class name in environment or system property or as an app

随机推荐

  • kafka系统的架构

    系统的架构 主题topic和分区partition topic Kafka中存储数据的逻辑分类 你可以理解为数据库中 表 的概念 比如 将app端日志 微信小程序端日志 业务库订单表数据分别放入不同的topic partition分区 提升
  • 数值分析 第一章:绪论

    第一章 绪论 1 2误差基础知识 1 2 1误差来源 1 2 2误差度量 1 2 3初值误差传播 1 3 舍入误差分析及数值稳定性 1 2误差基础知识 1 2 1误差来源 数学模型与实际问题的差异称为模型误差 数学模型中常常还包含有一些参数
  • 一起学SF框架系列附-Springframework源码学习总结

    学习过程 学习Springframework6 0 8 前后将近4个月终于结束了 学习主要内容如图 红框 本次学习主要针对核心模块 Beans Context Core SpEL 完全独立于框架的 没深入学习 AOP 以SF应用的初始化过程
  • nginx开启gzip压缩功能遇到的坑

    nginx开启gzip压缩功能一大堆 网上大多数配置如下 server listen 8080 proxy http version 1 1 gzip on gzip min length 1k gzip buffers 4 16k gzi
  • tf.reduce_sum tensorflow维度上的操作

    tensorflow中有很多在维度上的操作 本例以常用的tf reduce sum进行说明 官方给的api reduce sum input tensor axis None keep dims False name None reduct
  • 闲谈IPv6-IPv6地址的scope到底是什么?

    周日 大早上六点多和疯子去菜市场买了菜 顺便打了一壶糯米烧酒 回来把我的正则安哥哄睡了之后 继续思考IPv6的细节 一台主机启动后 每一块网卡都会自动生成一个fe80打头的 链路本地地址 这个地址在Linux上你删都删不掉 不信你试试 在W
  • Notepad++找回未保存的文件(缓存)

    Notepad 找回未保存的文件 缓存 就吃晚饭的功夫 电脑重启了 然鹅我在Notepad 里面写的东西还没保存 当场石化 还好挽救回来了 以后一定要记得Ctrl S 参考链接 Notepad 找回自动保存缓存内容的文件
  • 小米画报的壁纸怎么保存_小米怎么保存不生虫?掌握方法,安心存放随时吃,方法简单很实用...

    小米在古时被称为 粟 它营养丰富 味道清香 是传统的健康食品 在北方 小米粥配鸡蛋 红糖历来都是补充营养 滋补身体的佳品 在过去 小米是作为主食食用的 现在我们一般会用小米熬粥来调剂饮食 不会天天食用 那么 我们平时如何储存才能让小米干净卫
  • 对象的内存布局

    Hotspot虚拟机中 对象在内存中存储的布局可以分为三块区域 对象头 Header 实例数据 Instance Data 对齐填充 Padding 对象头 比如hash码 对象所属的年代 对象锁 锁状态标识 偏向锁线程ID 偏向时间 数组
  • wireshark display reference: https://www.wireshark.org/docs/dfref/

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Display Filter Reference Wireshark s most powerful feature is its vast array of displa
  • Kruise Rollout:基于 Lua 脚本的可扩展流量调度方案

    前言 Kruise Rollout 1 是 OpenKruise 社区开源的渐进式交付框架 Kruise Rollout 支持配合流量和实例灰度的金丝雀发布 蓝绿发布 A B Testing 发布 以及发布过程能够基于 Prometheus
  • unable to access ‘https://gitee.com/XXX.git/‘: Failed to connect to 127.0.0.1port 7890: Connection r

    问题 在gitee拉取代码时 出现 unable to access https gitee com XXX git Failed to connect to 127 0 0 1port 7890 Connection refused的错误
  • 第五章 Vue组件化

    5 1 组件的概念 组件 component 是 Vue js 最强大的功能之一 Vue 中的组件化开发就是把网页的重复代码抽取出来 封装成一个个可复用的视图组件 然后将这些视图组件拼接到一块就构成了一个完整的系统 这种方式非常灵活 可以极
  • 知识蒸馏综述: 知识的类型

    GiantPandCV引言 简单总结一篇综述 Knowledge Distillation A Survey 中的内容 提取关键部分以及感兴趣部分进行汇总 这篇是知识蒸馏综述的第一篇 主要内容为知识蒸馏中知识的分类 包括基于响应的知识 基于
  • 太太太好用了!12款论文润色神器,SCI、EI论文写作必看

    SCI EI等期刊 会议论文现在大都需要英文写作 而非英语母语作者在写作上往往出现词不达意 描述模糊 句式混乱 累赘拖沓等现象 但是 期刊并不会因为作者母语不是英语就降低对语言的要求 并且审稿人很可能会因为语言的问题而低估了科学发现本身的意
  • python ddt模块

    python数据驱动模块ddt 一 安装 pip install ddt 二 使用 参考文章 https www cnblogs com miniren p 7099187 html 1 传入一个参数 import unittest fro
  • [网鼎杯 2020 青龙组]singal详细题解--VMP 直接逆向,angr模拟执行,ponce符号化

    文章目录 直接逆向 提取opcode 获取指令执行流 getflag 注意 使用Angr 使用Ponce插件 安装并配置Ponce 具体操作 参考资料 直接逆向 提取opcode 主函数并不复杂 关键内容在vm opcode中 先提取出ma
  • BIG5, GB(GB2312, GBK, ...), Unicode编码, UTF8, WideChar, MultiByte, Char说明与区别

    汉语unicode编译方式 BIG5是繁体规范 GB是简体规范 GB是大陆使用的国标码 BIG5码 又叫大五码 是台湾使用的繁体码 BIG5编码 GB编码 GB2312 GBK Unicode编码 UTF8 WideChar MultiBy
  • Cocos2D-x游戏开发之十九:瓦块地图之碰撞检测

    昨天我们有了精灵和背景 并且精灵可以跑动了 但是我们不能让精灵无穷无尽地跑下去吧 于是今天我们要在地图上添加一些障碍物了 首先打开精灵的TMX地图 然后我们自定义一个32X32像素的图片添加到图层中 然后设置此图层的属性为 collidab
  • JetBrains plugin 的几个坑

    官方文档 https www jetbrains org intellij sdk docs basics getting started html 流程说明 https github com JetBrains intellij sdk