2013-05-30 103 views
3

我在Eclipse中遇到了一些问题。当我在导入后面设置一个//NOPMD标记时,它会将标记包裹到导入的末尾。在美化java程序的过程中,我怎样才能避免eclipse包装任何//NOPMD标签?美化前Eclipse导入后包装NOPMD标签

实施例:美化后

import java.io.IOException;//NOPMD 

实施例:

import java.io.IOException; 

//NOPMD 
+0

我发现,你可以在窗口 - >首选项 - > Java - >编辑器 - >保存动作来取消选中Organzie imports框来解决这个问题,但这并不会让它变得更好,因为我想要Eclipse组织进口。有没有可能说Eclipse在美化过程中应该保持// NOPMD标签不变? – user2435480

回答

0

如何使用@SupressWarnings( “PMD.NameOfRule”)。这将压制该规则的所有实例,这可能是也可能不是你想要的。但代码重新格式化和组织导入是免疫的。

作为参考,这里有options for suppressing.

+0

@SupressWarnings(“PMD.NameOfRule”)的问题是,它忽略了我不想要的所有PMD警告。我只是想在特定的警告中设置// NOPMD标签。如果我使用@SupressWarnings方法,我甚至不会看到是否存在PMD警告。所以问题不在于禁止PMD警告,问题在于,在美化过程中,Eclipse会将// NOPMD标记移动到新行,导致标记变得无用,因为我仍然收到标记为PMD的警告。 – user2435480

+0

它只会抑制该规则类型的警告,而不是所有的警告。但是我的建议存在更大的问题。哪一个是你不能拥有@SuppressWarnings的导入。 –

0

找到一个更好的答案,一旦我停止看这是一个PMD问题!该accepted answer to this question展示了如何关闭由写在代码的部分格式:

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

你需要做到这一点就在你的进口每一类。或者每个有// NOPMD的类都是。你需要打开工作区中的设置。如果你在一个团队中,让你的队友也一样。