如何防止 Eclipse 格式化程序在行注释开头插入空格

Posted

技术标签:

【中文标题】如何防止 Eclipse 格式化程序在行注释开头插入空格【英文标题】:How to prevent Eclipse formatter from inserting spaces at the beginning of line comment 【发布时间】:2019-09-16 20:54:14 【问题描述】:

Eclipse 格式化程序在行 cmets 的内容之前插入一个空格,如下所示:

//foo bar

turns into

// foo bar

我怎样才能阻止这种情况?我在 eclipse 中找到的任何选项似乎都无法禁用此行为。 (除了完全禁用行注释格式,我不想这样做,因为换行仍然有用)

【问题讨论】:

不会去掉//和评论内容之间的额外空格 2018-09 版。据我观察,设置不会影响前缀和内容之间的空间,而是是否考虑格式化之前根本没有缩进的 cmets。鉴于我的 cmets 处于不同的缩进级别,并且没有任何缩进,我看不出这对我有什么帮助。 通过取消选中“启用行注释格式”,您将禁用所有行 cmets 的格式,我明确表示我想避免这样做。 【参考方案1】:

一个明显的非答案:不要与工具作斗争。

我从来没有见过没有那个初始空间的 cmets,所以我的结论是:eclipse 没有为这种情况提供选项,因为“没有人”需要这个功能。

尤其是在编写代码时,您必须平衡您的个人“偏好”与“每个人都做什么”。意思是:当 100 位程序员中有 99 位觉得你的风格奇怪而令人惊讶时,你最好做其他 99 人所做的事情。或者,正如他们所说:当你在罗马时,像罗马人那样做!

【讨论】:

对,所以在 Java 代码中在 cmets 之前添加空格是如此普遍,以至于没有选项可以更改它?我不会做很多 Java 和其他语言(如 JS)我知道通常有一个选项。 @douira 我现在无法指向官方的编码风格指南(下周可能会添加)。我主要是从个人经验说的,看了20年的Java代码,最初的直觉是:空格应该有,不能省略。 事实上,格式化程序设置没有选项可以改变它。 Preferences -> Java -> Code Style -> Formatter 允许更改几项内容,但不能更改那一项。 @LuisMuñoz 是真的。但最终,格式化程序是由一些相应的 XML 控制的,所以理论上,可能会有一个未记录的标志来启用所需的行为。但是我的论点仍然成立。

以上是关于如何防止 Eclipse 格式化程序在行注释开头插入空格的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Eclipse 格式化程序弄乱带有文本符号的注释?

eclipse各种注释如何自动添加

Eclipse 格式化程序:如何在注释中格式化数组

Eclipse怎么注释代码

Eclipse自动生成作者日期注释等功能设置

Eclipse自动生成作者日期注释等功能设置