java - 如何配置 IntelliJ Java 代码样式,以便在长时间优先于链式方法调用时包装赋值的右手

标签 java intellij-idea formatting

我在根据自己的喜好配置 IntelliJ 的 Java 代码风格时遇到了问题。当我使用流输入某些操作时,我会得到如下结果:

    VeryVeryVeryLongNamedClazz instance = container.getList()
                                                   .stream()
                                                   .filter(element -> element.getRole()
                                                                             .equals("CFG"))
                                                   .findFirst()
                                                   .get();

当类名和变量名很长,并且代码非常嵌套时,整个代码块会根据我的喜好过度向右移动。

这样的东西更符合我的喜好:

    VeryVeryVeryLongNamedClazz instance = 
            container.getList()
                     .stream()
                     .filter(element -> element.getRole()
                                               .equals("CFG"))
                     .findFirst()
                     .get();

有没有办法配置Java代码风格,以便当行太长时,赋值的右手会换行到下一行,或者赋值规则优先于方法调用规则?

编辑: 更清楚地说,我正在寻找的是在包装时,分配规则链式方法规则之前完成。

最佳答案

Is there a way to configure the Java code style so that right hand of the assignment gets wrapped to the next line when the line is too long

使用 60 的“硬换行”和您的代码示例,我能够使用文件 | 下的以下设置在点击 Ctrl+Alt+L 时获得所需的结果。设置 |编辑|代码风格| Java > 包装和大括号:

enter image description here

enter image description here

enter image description here

I would prefer that chained method calls are wrapped always only for streams, and that other methods are allowed to exist in the same line until end of line is reached

认为在当前设置下这是不可能的。但您随时可以提交new feature request致 YouTrack 上的 IntelliJ IDEA 开发人员。

关于java - 如何配置 IntelliJ Java 代码样式,以便在长时间优先于链式方法调用时包装赋值的右手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61505907/

相关文章:

powershell - 如何使字符串段落更易于阅读源代码

Android Studio 不创建主类和布局文件

javascript - Intellij IDEA 代码样式不适用于非项目文件

java - 仅在开发模式下找不到类型的代理提供程序,经典运行是正确的

java - 客户端套接字不接受来自 cmd 的任何输入

java - 将 EXTRACT(YEAR FROM table.date) 与 IntelliJ IDE 中的变量值进行比较

Python Datetime 将 timedelta 舍入到最近的最大单位

python - 当我最初不知道数据类型时,如何快速更改 100 多个数据帧的格式?

java - Apache PDFBox PDFTextStripper 访问页面的文本部分,我怎样才能?

java - 在 docker 文件中获取内存限制?