首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除Eclipse自动格式中注释后的空格?

如何删除Eclipse自动格式中注释后的空格?
EN

Stack Overflow用户
提问于 2017-12-01 09:25:08
回答 1查看 769关注 0票数 2

我在我的项目中使用了OpenJML插件,但是会扰乱我的JML代码。JML是在//@符号之后编写的。

代码语言:javascript
复制
//@ requires password != null;
//@ ensures !isActive() && getPassword().testWord(password) ? isActive() && \result : isActive() == \old(isActive()) && !\result;

然而,Eclipse自动格式化在//@符号之间添加了一个空格,使我的JML代码毫无用处。

代码语言:javascript
复制
// @ requires password != null;
// @ ensures !isActive() && getPassword().testWord(password) ? isActive() && \result : isActive() == \old(isActive()) && !\result;

是否有一种方法可以禁用在//@符号之间添加空格,或者以其他方式完全禁用注释后的间距?

我尝试过更改格式化程序配置文件,但是找不到那里的设置。

我也尝试过自动删除尾随空格,如这里所解释的:如何自动删除Eclipse中的尾随空格?,但这也不起作用。我认为是因为我专门试图更改注释的自动格式化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-01 18:17:32

我的解决方案很简单,禁用行注释格式设置。

代码语言:javascript
复制
Window > Preferences > Java > Code Style > Formatter

编辑当前配置文件(如果这是默认配置文件,则需要重命名它)。

在“注释”选项卡中,取消选中“启用行注释格式”。

原因

即使这是可能的,以删除该空格,以便格式化给您一个正确的

代码语言:javascript
复制
//@

这会影响到所有的评论,你可以说不是什么大事。但是注释的注释呢?

代码语言:javascript
复制
// @SuppressWarning("...") 

这将被格式化为

代码语言:javascript
复制
//@SuppressWarning("...") 

这将成为OpenJML的一个问题,这将是一个冲突。您可以在用户指南- 4.2与@的语法冲突中看到更多关于这一点的信息。

对于注释或JML来说,另一种解决方案是禁用格式化程序,但老实说,这是不可用的:

代码语言:javascript
复制
// @formatter:off 
...
// @formatter:on

这些标记之间的所有内容都没有格式化(如果省略了formatter:on,那么文件中后面的所有内容都不会被格式化)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47590211

复制
相关文章

相似问题

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