养发神器:重复代码一键生成,从此远离加班,告别秃头!(最新养发仪器)

  本篇文章为你整理了养发神器:重复代码一键生成,从此远离加班,告别秃头!(最新养发仪器)的详细内容,包含有养发发app 最新养发仪器 养发机器的用途 养发神器:重复代码一键生成,从此远离加班,告别秃头!,希望能帮助你了解 养发神器:重复代码一键生成,从此远离加班,告别秃头!。

   一、背景

  作为Java开发,经常需要根据数据库某个字段获取对应的枚举类,然后就要在枚举类添加如下的方法:

  

 public static TestEnum getByCode(Integer code) {

 

   return Arrays.asList(values()).stream().filter(i - i.getCode().equals(code)).findFirst().orElse(null);

  

 

   这种方法在不同枚举类的实现都是很相似的,有什么办法可以避免这种重复劳动呢?
 

  于是,我就想到了写一个Idea插件去自动生成代码,EnumHelper应运而生。

  二、插件展示

  目前该插件已经发布,在Marketplace搜索EnumHelper下载安装即可体验,有其他建议大家也可以留言。

  使用教程:

  复制你想要查询的枚举字段

  生成对应的枚举方法

  三、踩坑总结

  该项目代码不是很复杂,就不在这里贴出来了,如果你感兴趣的话可以查看源代码,网上也有一些不错的插件开发教程这里简单列一下。

  相关教程:

  你们要的Intellij IDEA 插件开发秘籍,来了!
 

  IDEA插件开发实战
 

  官方文档:https://plugins.jetbrains.com/docs/intellij/plugins-quick-start.html

  但是在开发过程中还是踩了不少坑,觉得有必要在这里记录下。

  问题1: 插件开发创建项目有两种方式,第一种是选择Intelij Platform Plugin直接创建,第二种是选择Gradle的方式创建,开始选择了第一种方式,ProjectSDK选择时没有IntelliJ Platform Plugin SDK这个选项!

  解决方案: 后面发现这个SDK是需要手动创建的,Project Structure-- SDKs-- 点击+号添加。而且对于这两种方式,如果你不需要引入其他第三方依赖,那么推荐第一种方式创建项目更简单,毕竟Gradle配置太麻烦而且有很多人不熟悉Gradle。

  问题2: 控制台显示Caused by: java.lang.ClassNotFoundException

  解决方案: 后来发现包依赖不全,需要在plugin.xml添加如下两个包。

  

 depends com.intellij.modules.lang /depends 

 

   depends com.intellij.modules.java /depends

  

 

  问题3: 通过New-- Plugin Devkit-- Action创建的action,快捷键触发无效!

  解决方案: 看了官方文档才发现,idea创建的action配置是不全的,只有默认的情况,我的笔记本是Mac OS系统需要在plugin.xml添加配置如下:

  

 keyboard-shortcut

 

   keymap="$default"

   first-keystroke="control shift J"/

   !-- ...except the "Mac OS X" keymap and its children. --

   keyboard-shortcut

   keymap="Mac OS X"

   first-keystroke="control shift J"

   remove="true"/

   !-- The "Mac OS X 10.5+" keymap and its children will have only

   this keyboard shortcut for this action. --

   keyboard-shortcut

   keymap="Mac OS X 10.5+"

   first-keystroke="control shift J"

   replace-all="true"/

  

 

  问题4: 当时代码写完功能也测试完了,准备打包才发现找不到打包方式

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: