跳至主要內容
IntelliJ IDEA 2024.2 发布:Spring Data JPA即时查询、自动补全cron表达式

IntelliJ IDEA 2024.2 发布:Spring Data JPA即时查询、自动补全cron表达式

今早看到,IntelliJ IDEA 2024.2 发布的邮件提示,看了一眼这个版本更新的新特性真的太适合我了!也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。下面就来一起看看这个版本中推出的几个强大新特性。

Spring Data JPA 的即时查询


程序猿DD原创大约 4 分钟IntelliJ IDEA前沿资讯IntelliJ IDEA
几个适合Java开发者的免费IDEA插件

今天,给大家推荐几个好用且免费的IntelliJ IDEA插件。如果你还没有用过,可以尝试一下,也许对你的日常工作会有一定的效率提升噢!

RESTFul-Tool

如果你是一个RESTful服务的开发者,那么这个一定要试一下。它是一套非常丰富的RESTful服务开发工具,对 Spring MVC 和 Spring Boot 支持也是非常友好,开发者可以直接通过插件找到自己编写的RESTful接口:


DD编辑部原创大约 2 分钟IntelliJ IDEAIntelliJ IDEA
IntelliJ IDEA 2024.1:增强对Spring和Quarkus框架的支持、GitHub Action的支持、更新HTTP Client等

IntelliJ IDEA 2024.1:增强对Spring和Quarkus框架的支持、GitHub Action的支持、更新HTTP Client等

有段时间没有更新IDEA了,早上看到 IntelliJ IDEA 2024.1 EAP 5发布的邮件提示,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。

Spring、Quarkus等主流框架的支持增强

  1. Search Everywhere功能中增加Endpoints选项卡

程序猿DD原创大约 4 分钟IntelliJ IDEA前沿资讯IntelliJ IDEA
GitHub Copilot的最佳免费平替

在如今这个人工智能高速发展的时代,每个行业都在被AI技术影响而改变。层出不穷的AI辅助工具,让我们看到了机器正在取代一部分基础的日常工作。对于我们开发者而言,当前最炙手可热的就是GitHub Copilot,市面上最好的开发者辅助工具。GitHub Copilot所提供的代码补全、建议、解释等能力非常强大,可以有效地提高编程速度。但是,GitHub Copilot是基于OpenAI所构建,后者的成本并不小,所以GitHub Copilot成为一款付费工具是非常自然的。

那么,对于预算有限的开发者而言,是否有合适的免费平替呢?答案是肯定的!今天,就给大家推荐最近我一直在用,且觉得还不错的插件:通义灵码。推荐的理由,我总结为以下几点:


程序猿DD原创大约 8 分钟IntelliJ IDEAIntelliJ IDEA
IDEA重构技巧:更改签名

IDEA重构技巧:更改签名

来看看如何安全地更改类或方法的签名。

我们在 BugReport 中的方法 binaryStrings 接受一个 String 参数:

public boolean binaryStrings(String b) {
    Stack<Character> s = new Stack<>();
    for (char c : b.toCharArray())
        if (s.empty() || !s.peek().equals(c))
            s.push(c);
        else
            s.pop();
    return s.empty();
}

DD编辑部原创大约 2 分钟IntelliJ IDEAIntelliJ IDEA
IDEA重构技巧:提取常量

IDEA重构技巧:提取常量

在代码库中,通常建议使用常量而不是文字值,那么我们来看看如何重构代码以引入常量

public static boolean beautifulBinaryStrings(String s) {
    while (!s.equals(s = s.replaceAll("AA|BB", ""))) {
        System.out.println(s);
    }
    return s.isEmpty();
}

DD编辑部原创小于 1 分钟IntelliJ IDEAIntelliJ IDEA
IDEA重构技巧:提取字段

IDEA重构技巧:提取字段

您可以通过此重构引入或提取字段并将其初始化。

我们的 ViewImpl 类中的方法 getItemsList 使用常量 0 和 4 来获取一个列表的子集。

public class ViewImpl implements View {
   @Override
   public List<Integer> getItemsList() {
       return List.of(1, 2, 3, 4, 5).subList(0,4);
   }
}

DD编辑部原创小于 1 分钟IntelliJ IDEAIntelliJ IDEA
IDEA重构技巧:提取方法

IDEA重构技巧:提取方法

Extract Method 重构可以使您的方法更短、更易读。

public boolean binaryStrings(String b) {
    Stack<Character> s = new Stack<>();
    for (char c : b.toCharArray())
        if (s.empty() || !s.peek().equals(c))
            s.push(c);
        else
            s.pop();
    return s.empty();
}

DD编辑部原创大约 1 分钟IntelliJ IDEAIntelliJ IDEA
IDEA重构技巧:提取参数

IDEA重构技巧:提取参数

通过 Extract Parameter 重构,您可以在方法中选择一个常量或表达式,并将其定义为参数传递给方法。 在本示例中,我们还为 getItemsList 方法引入了第二个字段,名为 toIndex

public class ViewImpl implements View {
   private final int fromIndex;
   private final int toIndex;

   public ViewImpl() {
       fromIndex = 0;
       toIndex = 4;
   }

   public List<Integer> getItemsList() {
       return List.of(1, 2, 3, 4, 5).subList(fromIndex, toIndex);
   }
}

DD编辑部原创大约 1 分钟IntelliJ IDEAIntelliJ IDEA
2
3
4
5