Eclipse Mars 格式错误
formatting error with Eclipse Mars
我正在使用 Eclipse Mars 编写我的 Java 代码。当我使用 Ctrl-/ 对某些行进行注释,然后应用 Ctrl-Shift-F 对其进行格式化,然后取消对这些行的注释时,结果是 两行 代码,而不仅仅是原来的:
System.out.printf("%s => Cowz Testing: testing Add a Representative\n",
new Date());
相反,我希望 new Date());
位于第一行的末尾。
编辑:重现我的错误的正确步骤顺序已在 Jonah Graham 的回答中得到完美描述。
试试这个
Window > 首选项 > Java > 代码风格 > 格式化程序
单击编辑
Select 换行选项卡
取消选中强制拆分,即使行短于最大行宽 (...)
(我看不出你遇到的错误,但我看到了类似的东西。)
从这样的代码开始:
public static void main(String[] args) {
System.out.printf("%s => Cowz Testing: testing Add a Representative\n", new Date());
}
然后,注释掉 printf
行,现在它看起来像这样:
public static void main(String[] args) {
// System.out.printf("%s => Cowz Testing: testing Add a Representative\n", new Date());
}
应用格式,你得到的结果是这样的:
public static void main(String[] args) {
// System.out.printf("%s => Cowz Testing: testing Add a
// Representative\n", new Date());
}
取消注释代码,你有一个错误,因为字符串没有终止:
public static void main(String[] args) {
System.out.printf("%s => Cowz Testing: testing Add a
Representative\n", new Date());
}
如果以上描述了您的问题,那么我建议在您的代码风格中禁用 Enable line comment formatting
。
怎么做
- 从
Window
菜单,select Preferences
- Select
Java
/ Code Style
/ Formatter
- 按
Edit...
- 在
Comments
选项卡中,取消选中 Enable line comment formatting
(参见屏幕截图)
- 如果您正在编辑内置配置文件,请提供一个新名称
- 按两次确定
现在当您注释掉代码时,在您格式化代码时它不会编辑注释的内容。
您仍然可以使用 /* */
评论来重排评论,即 "real" 评论,而不是暂时注释掉代码。
最后,我建议您将代码风格应用到您的项目以及您的工作区,以确保您的整个团队共享一种代码风格。
我注意到 Eclipse Mars 在格式设置方面存在其他错误,例如在使用制表符进行缩进时。在此 bug 中解释了一种解决方法,包括将缩进策略设置为仅空格,将相同的值设置为制表符大小和缩进大小,然后切换回仅制表符。
我正在使用 Eclipse Mars 编写我的 Java 代码。当我使用 Ctrl-/ 对某些行进行注释,然后应用 Ctrl-Shift-F 对其进行格式化,然后取消对这些行的注释时,结果是 两行 代码,而不仅仅是原来的:
System.out.printf("%s => Cowz Testing: testing Add a Representative\n",
new Date());
相反,我希望 new Date());
位于第一行的末尾。
编辑:重现我的错误的正确步骤顺序已在 Jonah Graham 的回答中得到完美描述。
试试这个 Window > 首选项 > Java > 代码风格 > 格式化程序 单击编辑 Select 换行选项卡 取消选中强制拆分,即使行短于最大行宽 (...)
(我看不出你遇到的错误,但我看到了类似的东西。)
从这样的代码开始:
public static void main(String[] args) {
System.out.printf("%s => Cowz Testing: testing Add a Representative\n", new Date());
}
然后,注释掉 printf
行,现在它看起来像这样:
public static void main(String[] args) {
// System.out.printf("%s => Cowz Testing: testing Add a Representative\n", new Date());
}
应用格式,你得到的结果是这样的:
public static void main(String[] args) {
// System.out.printf("%s => Cowz Testing: testing Add a
// Representative\n", new Date());
}
取消注释代码,你有一个错误,因为字符串没有终止:
public static void main(String[] args) {
System.out.printf("%s => Cowz Testing: testing Add a
Representative\n", new Date());
}
如果以上描述了您的问题,那么我建议在您的代码风格中禁用 Enable line comment formatting
。
怎么做
- 从
Window
菜单,selectPreferences
- Select
Java
/Code Style
/Formatter
- 按
Edit...
- 在
Comments
选项卡中,取消选中Enable line comment formatting
(参见屏幕截图)
- 如果您正在编辑内置配置文件,请提供一个新名称
- 按两次确定
现在当您注释掉代码时,在您格式化代码时它不会编辑注释的内容。
您仍然可以使用 /* */
评论来重排评论,即 "real" 评论,而不是暂时注释掉代码。
最后,我建议您将代码风格应用到您的项目以及您的工作区,以确保您的整个团队共享一种代码风格。
我注意到 Eclipse Mars 在格式设置方面存在其他错误,例如在使用制表符进行缩进时。在此 bug 中解释了一种解决方法,包括将缩进策略设置为仅空格,将相同的值设置为制表符大小和缩进大小,然后切换回仅制表符。