IDEA2025.2 大更新!良心发现,终于不要破解了

人类很无聊,可是爱情却很伟大

IDEA2025.2在8月初就偷偷发布了,这次的更新可谓是诚意满满,新特性也玩出了新高度。

picture.image

下面就来看看

第一个,订阅到期也不慌,IDEA功能继续用

就算订阅暂时中断,IDE 也不会“一刀切”,给你弹出一个去订阅的强制性窗口,Java和kotlin等常用功能仍然会让你使用。也不要再重新下载个版本来继续免费试用idea了。

同时jetbrains 也通过这种策略,来宣布之前的idea社区版不再作为一个单独的项目发布,用户只需要下载Ultimate,以后就只有一个名字叫IntelliJ IDEA。

第二个,AI助手大升级

  • AI 补全支持更多语言: 增加了json、yml、md、sql 全都支持了,编辑文档也能飞快。

  • 离线模式支持 Java 补全: 在无网、企业内网、甚至高原,飞机上照样能用,甚至还能切换本地模型,灵活又高效,随时随地用AI写代码。

  • 性能提升: Junie 现在快了 40%,还支持远程环境,部署到云端也稳得住。

  • 项目级 AI 指令: 通过 \_Project Rules\_ 文件自定义项目约束,比如代码风格或框架约定,AI 再也不会“跑偏”。

  • AUTO 模式选择模型: IDEA 自动帮你选最佳模型,既省心又能控制成本。

picture.image

同时支持自动选择模型

picture.image

第三个,spring 调试器,彻底颠覆传统调试体验

idea为了Java,推出了spring debugger插件,让spring,spring boot调试体验直接起飞。

下面来看看spring debugger做了哪些功能

第一个,参看当前配置

在.properties文件中定义的属性在运行时可能会被其他.properties文件或Bean覆盖。若运行时的实际值与.properties文件中指定的值不同,对应行会显示内联提示,揭示实际配置值。直接忙我们免去了繁琐的侦探工作,让问题无处遁形。

picture.image

同时,通过内联提示,我们可以点击它看到到底是哪里的代码覆盖了目前的值。

picture.image

第二个,为你直接配置好数据库database连接信息

做后端的同学,一般都会用工具连接数据库,所以就免不了做一些复制数据库连接信息的事情,现在spring debugger给你自动做了。尤其如果你是做微服务开发,数据库比较多的时候,这个特性非常有用。

picture.image

要实现这个特性,目前只需要做2个事

第一步:用debug方式启动项目

第二步,打开database,点击刷新按钮

第三个,随时计算表达式

在 IntelliJ IDEA 调试器中评估表达式时,您可以访问所有属性和 Bean,无论它们是否存在于当前执行上下文中。这使得您可以调用任意 Bean 的方法来检索数据并测试假设。

使用方式:按住alt ,然后点击表达式

picture.image

或者手动选择一个表达式,然后按alt ctrl f8或者直接点击右边的像计算器的按钮就可以计算表达式了。

picture.image

第四个,查看spring所有的bean

在Project工具窗口来查看所有的bean

picture.image

绿色的表示是已经加载的bean,灰色的是没有被加载的bean,黄色的是mock的bean。

第四个,支持maven4

maven4是maven的第四个大版本,完全重写核心依赖注入系统,具有更快的编译速度,预计提升30%;同时支持yaml格式的pom

picture.image

第五个,支持JSpecify,Java代码更安全

JSpecify提供以一系列注解,让Java代码更安全,最常见的就是NPE问题,现在idea支持 JSpecify,给出 友好的提示。

  
package org.example;  
interface TokenExtractor {  
  
    /**  
     * Extract a token from a {@link String}.  
     * @param input the input to process  
     * @return the extracted token or {@code null} if not found  
    */  
    @Nullable String extractToken(String input);  
}

如果再其他地方调用了这个方法,那么idea就会给出这样的提示

picture.image

其实,在即将到来的Spring7也全面支持了 JSpecify。

第六个,支持Java25

Java25马上会在下个月发布,idea提前支持Java25,Java25作为下一个长期支持版本,也迎来了一大波新特性,这里提几个很有用的新特性

第一个,模块化导入

picture.image

模块化导入的好处是不用一个一个导入每个类。导入代码直接断崖式下降。

第二个,灵活的构造函数

在传统 Java 中,子类构造函数必须先调用父类构造函数(super(...)),无法先验证参数,可能导致无效参数进入父类构造函数。

例子

  
// 父类:Person  
class Person {  
    protected int age;  
    // 父类构造函数:验证年龄非负  
    public Person(int age) {  
        if (age < 0) {  
            throw new IllegalArgumentException("年龄不能为负数");  
        }  
        this.age = age;  
    }  
}  
// 子类:Employee(必须年满18岁)  
class Employee extends Person {  
    private String officeId;  
    // 改进后的子类构造函数:先验证参数,再调用父类构造函数  
    public Employee(int age, String officeId) {  
        // 1. 先验证子类特有的参数约束(18~67岁)  
        if (age < 18 || age > 67) {  
            throw new IllegalArgumentException("员工年龄必须在18~67岁之间");  
        }  
        // 2. 初始化子类字段(可选,视需求而定)  
        this.officeId = officeId;  
        // 3. 最后调用父类构造函数  
        super(age); // 此时传入的age已确保符合子类约束  
    }  
}  
// 使用示例  
public class Main {  
    public static void main(String[] args) {  
        // 正常情况:年龄25岁,有效  
        Employee emp1 = new Employee(25, "OFFICE-101");   
        System.out.println(emp1.age); // 输出:25  
        // 异常情况:年龄17岁,在调用super前就抛出异常  
        Employee emp2 = new Employee(17, "OFFICE-102");   
        // 抛出:IllegalArgumentException: 员工年龄必须在18~67岁之间  
    }  
}

第三个,紧凑源文件与实例 main 方法

Java 现已支持顶层实例 main 方法和无 class 紧凑文件。现在可以这样写:

picture.image

0
0
0
0
评论
未登录
暂无评论