我正在为IntelliJ使用Spring格式插件来标准化我的代码风格。我还使用Save插件来格式化代码,随时保存它。我正在努力找出哪条规则使链式方法调用被加入。
例如,如果我将代码格式化为:
method()
.call1()
.call2()
.call3()保存它时,它的格式如下:
method().call1().call2()
.call3()
------------------------^ right margin limit假设第三种方法调用转置右边缘限制。
我想保持包装版本没有自动连接。有谁面临同样的问题吗?
Edit1:
我刚刚意识到编码是由mvn spring-javaformat:apply连接在一起的。因此,这个问题与IntelliJ Spring格式插件无关。
我仍在试图找出车臣风格的规则是如何做到的。
发布于 2021-01-02 15:45:29
您看到的是Spring格式的默认代码样式。虽然它是“不一般可配置的”,但是有一个可以完全禁用格式化的转义程序。在这里的docs中提到了这个特性:禁用代码块的格式设置。
对齐链式方法为此调用了理想的用例:
// @formatter:off
method()
.call1()
.call2()
.call3()
// @formatter:on许多官方的Spring项目也是这样做的。例如:
@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
}https://stackoverflow.com/questions/57084000
复制相似问题