如何防止Spotless/Eclipse加入行?

cvxl0en2  于 2023-08-04  发布在  Eclipse
关注(0)|答案(1)|浏览(95)

我有一个项目,使用Spotless和Eclipse格式化程序来检查和格式化源代码。
现在 * 一个 * 问题是格式化程序创建了一些荒谬的长行,如下所示:

@ApiModelProperty(value = "This is a placeholder text but the real text is just as long as this.", required = true, example = "811769e0-69f8-11e6-91aa-02000ab20f88")

字符串
那是170个字符,我眼睛疲劳,SonarQube抱怨。当我断开线时,Spotless/Eclipse坚持将线连接在一起。配置文件包含如下行:

<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="150"/>


文件被很好地拾取,但是格式化程序仍然连接这些 Package 行,并且永远不会拆分它们。在Eclipse bug跟踪器中似乎有一个相关的古老(并且关闭)issue 338916。这可能不是一个Spotless配置问题,因为它将所有内容都委托给了Ecplipse插件。哪一个神奇的配置键将说服Eclipse格式化程序按照广告中的方式工作?

bnl4lu3b

bnl4lu3b1#

我使用了类似的一尘不染的eclipse格式化程序设置,但仍然遇到了同样的问题,格式化程序将 Package 的API文档行连接成一个长长的行。我最终做的是启用切换注解,并将它们放在我不想加入的行周围。被切换注解包围的换行仍保持换行状态。样品如下:

// spotless:off
    @Operation(summary = "getImagePullCount",
               description = "Generates the docker pulls badge",
               responses = @ApiResponse(description = "An XML representing the SVG docker pulls badge",
                                        content = @Content(mediaType = CONTENT_TYPE_BADGE,
                                        schema = @Schema(implementation = String.class))))
    public String getImagePullCount(@Parameter(in = ParameterIn.QUERY,
                                               description = ApiSpecConstants.API_DESC_PARAM_PACKAGE,
                                               example = ApiSpecConstants.EXAMPLE_PARAM_PACKAGE)
                                    @QueryValue("package") String packageName,
                                    @Parameter(in = ParameterIn.QUERY,
                                               description = ApiSpecConstants.API_DESC_PARAM_LABEL)
                                    @QueryValue(value = "label", defaultValue = "docker pulls") String badgeLabel) {
    // spotless:on

字符串

相关问题