如何在 Eclipse 自动格式化中删除注释后的空格?
How to remove spaces after comments in Eclipse auto formatting?
我正在为我的项目使用 OpenJML 插件,但 Eclipse 自动格式化与我的 JML 代码混淆。 JML写在//@
符号后。
//@ requires password != null;
//@ ensures !isActive() && getPassword().testWord(password) ? isActive() && \result : isActive() == \old(isActive()) && !\result;
然而,Eclipse 自动格式化在 //
和 @
符号之间添加了一个 space,使我的 JML 代码无用。
// @ requires password != null;
// @ ensures !isActive() && getPassword().testWord(password) ? isActive() && \result : isActive() == \old(isActive()) && !\result;
有没有一种方法可以禁止在 //
和 @
符号之间添加 space,或者我可以完全禁止注释后的间距?
我试过更改格式化程序配置文件,但在那里找不到设置。
我也试过自动删除尾随的白色space,如下所述:How to auto-remove trailing whitespace in Eclipse? 但这也不起作用。我假设是因为我专门尝试更改评论的自动格式设置。
我的解决方案很简单,禁用行注释格式。
Window > Preferences > Java > Code Style > Formatter
编辑当前配置文件(如果这是默认配置文件,您需要重命名它)。
在评论选项卡中,取消选中启用行评论格式。
原因
即使可以删除那个 space 以便格式为您提供正确的
//@
这会影响每条评论,你可以说没什么大不了的。但是注释注释呢?
// @SuppressWarning("...")
这将被格式化为
//@SuppressWarning("...")
这将成为 OpenJML 的问题,这将是一个冲突。您可以在 User guide - 4.2 Syntactic conflicts with @
中看到更多相关信息
另一种解决方案,对于注释或 JML,都是禁用格式化程序,但老实说,这将无法使用:
// @formatter:off
...
// @formatter:on
这些标签之间的所有内容都不会被格式化(如果 formatter:on
被省略,文件中之后的所有内容都不会被格式化
我正在为我的项目使用 OpenJML 插件,但 Eclipse 自动格式化与我的 JML 代码混淆。 JML写在//@
符号后。
//@ requires password != null;
//@ ensures !isActive() && getPassword().testWord(password) ? isActive() && \result : isActive() == \old(isActive()) && !\result;
然而,Eclipse 自动格式化在 //
和 @
符号之间添加了一个 space,使我的 JML 代码无用。
// @ requires password != null;
// @ ensures !isActive() && getPassword().testWord(password) ? isActive() && \result : isActive() == \old(isActive()) && !\result;
有没有一种方法可以禁止在 //
和 @
符号之间添加 space,或者我可以完全禁止注释后的间距?
我试过更改格式化程序配置文件,但在那里找不到设置。
我也试过自动删除尾随的白色space,如下所述:How to auto-remove trailing whitespace in Eclipse? 但这也不起作用。我假设是因为我专门尝试更改评论的自动格式设置。
我的解决方案很简单,禁用行注释格式。
Window > Preferences > Java > Code Style > Formatter
编辑当前配置文件(如果这是默认配置文件,您需要重命名它)。
在评论选项卡中,取消选中启用行评论格式。
原因
即使可以删除那个 space 以便格式为您提供正确的
//@
这会影响每条评论,你可以说没什么大不了的。但是注释注释呢?
// @SuppressWarning("...")
这将被格式化为
//@SuppressWarning("...")
这将成为 OpenJML 的问题,这将是一个冲突。您可以在 User guide - 4.2 Syntactic conflicts with @
中看到更多相关信息另一种解决方案,对于注释或 JML,都是禁用格式化程序,但老实说,这将无法使用:
// @formatter:off
...
// @formatter:on
这些标签之间的所有内容都不会被格式化(如果 formatter:on
被省略,文件中之后的所有内容都不会被格式化