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进去就可以生成了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值