首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >+ IntelliJ + chain方法调用包装

+ IntelliJ + chain方法调用包装
EN

Stack Overflow用户
提问于 2019-07-17 20:59:51
回答 1查看 2.3K关注 0票数 0

我正在为IntelliJ使用Spring格式插件来标准化我的代码风格。我还使用Save插件来格式化代码,随时保存它。我正在努力找出哪条规则使链式方法调用被加入。

例如,如果我将代码格式化为:

代码语言:javascript
复制
method()
    .call1()
    .call2()
    .call3()

保存它时,它的格式如下:

代码语言:javascript
复制
method().call1().call2()
    .call3()
------------------------^ right margin limit

假设第三种方法调用转置右边缘限制。

我想保持包装版本没有自动连接。有谁面临同样的问题吗?

Edit1:

我刚刚意识到编码是由mvn spring-javaformat:apply连接在一起的。因此,这个问题与IntelliJ Spring格式插件无关。

我仍在试图找出车臣风格的规则是如何做到的。

EN

回答 1

Stack Overflow用户

发布于 2021-01-02 15:45:29

您看到的是Spring格式的默认代码样式。虽然它是“不一般可配置的”,但是有一个可以完全禁用格式化的转义程序。在这里的docs中提到了这个特性:禁用代码块的格式设置

对齐链式方法为此调用了理想的用例:

代码语言:javascript
复制
// @formatter:off
method()
    .call1()
    .call2()
    .call3()
// @formatter:on

许多官方的Spring项目也是这样做的。例如:

来源:spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-secure-jersey/src/main/java/smoketest/secure/jersey/SecurityConfiguration.java

代码语言:javascript
复制
    @Bean
    SecurityFilterChain configure(HttpSecurity http) throws Exception {
        // @formatter:off
        http.authorizeRequests()
                .requestMatchers(EndpointRequest.to("health", "info")).permitAll()
                .requestMatchers(EndpointRequest.toAnyEndpoint().excluding(MappingsEndpoint.class)).hasRole("ACTUATOR")
                .antMatchers("/**").hasRole("USER")
                .and()
            .httpBasic();
        return http.build();
        // @formatter:on
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57084000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档