IDEA开发中实用的插件和技巧
目录标题
1.热部署和热加载devtools
在搭建springboot项目中往controller类加入注解@RestController(@RestController + @RequestMapping)后,我们就可以通过http请求访问结果,可当我修改代码或增加文件后,我想要通过http请求访问最新结果就需要一遍又一遍地在IDEA中重新启动项目。这时使用devtools可以节省你的时间
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
下一步按住这几个键Ctrl+Shift+Alt+/,选中Registry ,在弹出的提示框中找到compiler.automake.allow.when.app.running如下图所示并打钩,就可以顺利使用热部署了。
然后是热加载,这个不是很推荐,因为你修改了一部分代码,它都会自动识别到,然后一直在下面给你自动编译之类的,不推荐。
2.lombok插件
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。
可以通过idea中插件市场来搜索lombok,搜不到就导入maven坐标,还是不行你就去我百度云下载压缩包(推荐,我放了很多包),然后导入进idea,如何导入请自行百度,这点检索能力你应该要有。
百度云链接(推荐):链接:https://pan.baidu.com/s/1bsxzkZt37Vz6yEfz77Dg4Q
提取码:i6e5
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>
Lombok的scope=provided,说明它只在编译阶段生效,不需要打入包中。事实正是如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件。
2.1常用注解
我平时最常用到的就是如下代码中的注解:
@Data @Slf4j @Builder @AllArgsConstructor @NoArgsConstructor public class Person { // 导入了@Slf4j下面这行代码就可以不用写了 // private static final Logger log= LoggerFactory.getLogger(Person.class); private String name; private Integer age; } //测试类进行测试输出 @SpringBootTest @Slf4j class SpringbootConfigApplicationTests { @Test void contextLoads() { Person person = Person.builder() .name("爆炸广") .age(43) .build(); log.info("使用插件开发效率高"+person); } }
输出:
-
@Data
,注解在类上;提供类所有属性的 getting 和 setting方法,此外还提供了equals、canEqual、hashCode、toString 方法,说白了我用它可以直接不写getter和setter方法, -
@Slf4j
可以不用写相应代码,直接log.info("使用插件开发效率高");
private static final Logger log= LoggerFactory.getLogger(Person.class);
-
@Builder
可以链式赋值
Person person = Person.builder() .name("爆炸广") .age(43) .build();
-
@AllArgsConstructor
自动生成全参的构造函数,如下:
@ConstructorProperties({"name", "age"}) public Person(final String name, final Integer age) { this.name = name; this.age = age; }
-
@ToString
:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。 -
@Setter
:注解在属性上;为属性提供 setting 方法 -
@Getter
:注解在属性上;为属性提供 getting 方法 -
@NoArgsConstructor
:注解在类上;为类提供一个无参的构造方法 -
@Cleanup
: 可以关闭流 -
@Synchronized
: 加个同步锁 -
@SneakyThrows
: 等同于try/catch 捕获异常 -
@NonNull
: 如果给参数加个这个注解 参数为null会抛出空指针异常 -
@Value
: 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。 -
@Log
:作用于类上,生成日志变量。针对不同的日志实现产品,有不同的注解:
2.2参考文档
官方文档: https://projectlombok.org/features/all
Maven坐标库:https://mvnrepository.com/search?q=lombok
lombok注解介绍: http://blog.csdn.net/sunsfan/article/details/53542374
3.codota,我们的AI小助手
Codota会学习我们如何在编程,然后反过来帮助我们更好的编程。它会使用AI和机器学习技术来给工作中的人提供与正在写的代码相关的建议。同时它也可以帮助我们自动补全代码。安装方式可以通过plugins中搜索 codota 来安装。如果你的IDEA安装插件很慢,可以离线安装:进入IDEA插件搜索 codota, 进入下载页:http://plugins.jetbrains.com/plugin/7638-codota/versions
-
整行代码自动补全
基于海量Java代码和你的代码上下文给予整行的代码建议,帮助你更快地编写错误更少的代码
-
搜索类似代码示例
如果你需要某些API的使用示例。Codota可以根据代码上下文帮你搜索出最好的代码示例。
4.Rainbow Brackets(彩虹括号)
可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能。对增强写代码的有趣性和排错等都有一些帮助。IDEA在插件库里搜插件“Rainbow Brackets”即可。
插件GitHub地址:https://github.com/izhangzhihao/intellij-rainbow-brackets
插件地址:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets
5.gsonformat属性生成器
这个插件作用主要是将JSONObject格式的String 解析成实体。可以在插件市场搜到,也可以如下离线。
插件地址:https://plugins.jetbrains.com/idea/plugin/7654-gsonformat
假如我有如下的json字符串,可以通过这个插件生成对应的实体类
{ "market":"宠物商店", "Telphone":"14256412", "dog": { "name":"金毛", "age":"3", "money":"3500" }, "cat": { "name":"英国短毛猫", "age":"2", "money":"2500" } }
首先生成一个animal实体类,然后在代码内按alt+s,注意是类里面按快捷键,不然会弹不出窗口。复制json进去就可以生成了。
本文地址:https://blog.csdn.net/weixin_42707971/article/details/108029574
推荐阅读
-
JavaScript开发中8个实用的jQuery技巧
-
IDEA开发中实用的插件和技巧
-
html开发中ES6的7个实用技巧
-
Windows Phone 实用开发技巧(10):Windows Phone 中处理图片的技巧
-
Windows Phone 实用开发技巧(11):让StackPanel中的控件靠右对齐
-
Windows Phone 实用开发技巧(26):对DataTemplate中的元素播放动画
-
android 开发中的调试命令和技巧
-
python 中的9个实用技巧,助你提高开发效率
-
程序猿必知必会必备的IntelliJ IDEA中的常用设置、插件和快捷键
-
开发不再无聊,推荐几个好玩和实用的IDEA插件