阻止 Eclipse 换行?
有没有办法让 Eclipse 停止删除现有的换行符? 如果我有这样的方法签名,我不知道如何让 Eclipse 不理会它:
void foo(
int arg1,
int arg2,
int arg3,
int arg4)
{
// ...
}
通过各种设置,它要么将参数折叠到一行,要么将它们包装在某个边距处,如下所示:
void foo(
int arg1, int arg2,
int arg3, int arg4)
{
// ...
}
使用“Wrap所有元素,新行上的每个元素”它确实保留了这个空白,但它总是会换行,这不是我想要的。 我希望 Eclipse 应用缩进和大括号等格式,而无需删除(或插入)任何换行符。
Is there a way to get eclipse to stop erasing existing line breaks? If I have a method signature like this, I can't figure out how to get eclipse to leave it alone:
void foo(
int arg1,
int arg2,
int arg3,
int arg4)
{
// ...
}
With various settings it will either collapse the arguments down to one line, or wrap them at some margin like this:
void foo(
int arg1, int arg2,
int arg3, int arg4)
{
// ...
}
With "Wrap all elements, every element on a new line" it does preserve this whitespace, but it will ALWAYS wrap, which isn't what I want. I'd like eclipse to apply formatting for indentation and braces and such, just without ever deleting (or inserting) any line breaks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
参数的格式是一个古老的主题,但是3.5 中引入的一项新格式化功能是:
Java 代码格式化程序现在可以通过不在代码或注释中加入行来选择性地保留用户换行符。
例如,以下测试用例中 return 语句的换行行:
要格式化的代码示例
当使用“从不加入行”首选项时,格式化程序将保留
,并且现在生成以下结果:
采用从不加入行的编码格式
此首选项可以在
Java > 上配置。 代码风格> 格式化程序
首选项页面。 请参阅换行
和注释
选项卡上的从不连接行
选项。这可能会有所帮助,但除此之外,3.5 中在这方面并没有太多新功能。
The formatting of arguments is an old subject, but the one new formatting feature introduced in 3.5 is:
The Java code formatter can now optionally preserve user line breaks by not joining lines in code or comments.
For example, the wrapped lines of the return statement in following test case:
Example of Code to Format
will be preserved by the formatter when the "Never Join Lines" preference is used, and now produces the following result:
Coded Formatted with Never Join Lines
This preference can be configured on the
Java > Code Style > Formatter
preference page. See theNever join lines
option on theLine Wrapping
andComments
tab.That may help, but otherwise there is not much new features on that front in 3.5.
当我在 Java 代码上使用 Eclipse 中的“格式”功能时,它往往会在不同位置分割或中断我的代码行,以确保内容始终适合特定宽度。 我发现如果您有宽显示器,这并不是最佳选择。 我通过执行以下操作解决了这个问题:
在 eclipse 3.5 中,您可以打开首选项并搜索“Format”或选择 Java->Code Style-><从左侧菜单中选择“strong>格式化程序”。 默认配置文件称为“Eclipse [内置]”,如果您想对 Java Formatter 进行更改,则需要复制它并创建您自己的配置文件。 这可以通过配置文件名称正下方的“新建”按钮来完成。
在 Eclipse 中创建自己的 Java Formatter 后,请确保选择它并单击编辑按钮。 这里有很多功能可以自定义,但为了解决换行问题,我选择了“换行”选项卡。 在常规设置下,您将看到“最大线宽:”。 该数值是格式化程序将使用的最大行长度。 我将尺寸提高到了更合理的尺寸,以适应更大的显示器,例如180字符。 保存并应用并返回到您的代码。
当您下次尝试格式化 java 文件时,只有在超出新的最大大小时才会发生换行。
快乐编码!
When I used the 'format' feature in Eclipse on my Java code, it tended split or break my lines of code in various places to make sure the content would always fit to a certain width. I found this to be less than optimal if you have a wide monitor. I worked around this issue by doing the following:
In eclipse 3.5, you can open preferences and search for "Format" or select Java->Code Style->Formatter from the left menu. The default profile is called "Eclipse [built-in]" and if you want to make changes to the Java Formatter you will need to copy it and create your own profile. This can be done with the "New" button right below the profile name.
Once you have created your own Java Formatter in eclipse, make sure it's selected and hit the edit button. There a lot of features in here you can customize, but to fix the wrapping issue I selected the "Line Wrapping" tab. Under general settings you will see "Maximum line width:". This numerical value is the max line length the formatter will work with. I bumped my up to a more reasonable size for larger monitors such as 180 characters. Save and apply that and return to your code.
When you next try to format a java file, the line wrapping should only happen if you are above the new max size.
Happy Coding!
您可以使用注释来指导格式化程序。
将保留注释处的换行符。
You can use comments to guide the formatter.
will preserve the line breaks at the comments.
Eclipse 3.5 支持这一点。 (它在几天前发布了候选版本,因此值得一看)
Eclipse 3.5 supports this. (It hit release candidate a a few days ago, so could be worth checking out)