是否可以在 Eclipse 中将部分 java 代码标记为不自动格式化? [复制]

Posted

技术标签:

【中文标题】是否可以在 Eclipse 中将部分 java 代码标记为不自动格式化? [复制]【英文标题】:Is it possible to mark a part of java code in eclipse to be not auto formatted? [duplicate] 【发布时间】:2014-01-26 18:15:44 【问题描述】:

java 代码的 eclipse 自动格式化非常棒!您可以编写糟糕的代码,然后简单地键入 CTRL+SHIFT+f - 代码很棒。

但是,有时我想将部分代码标记为不自动格式化。 例如通过流畅的界面:

public void fluentInterfaceJooqDemo() 
    create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count())
          .from(AUTHOR)
          .join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
          .where(BOOK.LANGUAGE.eq("DE"))
          .and(BOOK.PUBLISHED.gt(date("2008-01-01")))
          .groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
          .having(count().gt(5))
          .orderBy(AUTHOR.LAST_NAME.asc().nullsFirst())
          .limit(2)
          .offset(1)
          .forUpdate()
          .of(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME);

然后键入 CTRL+SHIFT+f

public void fluentInterfaceJooqDemo() 
    create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count()).from(AUTHOR).join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
            .where(BOOK.LANGUAGE.eq("DE")).and(BOOK.PUBLISHED.gt(date("2008-01-01"))).groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
            .having(count().gt(5)).orderBy(AUTHOR.LAST_NAME.asc().nullsFirst()).limit(2).offset(1).forUpdate()
            .of(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME);

但是,我正在寻找一些方法来标记此类代码non-autoformat,例如

//non-format
public void fluentInterfaceJooqDemo() 
    ...

【问题讨论】:

也许:***.com/questions/1820908/… 您可以选择要格式化的部分,然后按CTRL + SHIFT + f,这样只有选定的部分会被格式化 就个人而言,我认为鼓励编写“糟糕代码”的工具并不出色。 :) 【参考方案1】:

我认为你可以使用@formatter:off@formatter:on

// @formatter:off
public void fluentIterfaceThingy()  
...

// @formatter:on

可能必须在代码样式部分打开此选项:Window->Preferences->Java->Formatter->Edit->On/Of Tags

【讨论】:

谢谢,如何开启这个选项? @Mark - 已编辑以突出显示该位置。【参考方案2】:

我不确定是否需要额外的配置(我们公司有一个定制的 eclipse),但这对我有用:

// @formatter:off // @formatter:on

【讨论】:

【参考方案3】:

是的,可以在 Eclipse 中进行配置。并且您可以重新定义开/关关键字。

【讨论】:

以上是关于是否可以在 Eclipse 中将部分 java 代码标记为不自动格式化? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 eclipse CDT 中将调试会话附加到正在运行的程序

Eclipse中将Java项目转换成Web项目的方法

在eclipse中将java doubles更改为浮点数

java eclipse 作业代写代做eclipse实验

我在Eclipse中将一个java项目打包成jar文件后,为啥双击它时没反应?但在eclipse中是可以运行的

如何在 Java 11 中将 JavaFX 运行时添加到 Eclipse?