可以Eclipse';s Java格式化程序缩进包装行与新块不同?

可以Eclipse';s Java格式化程序缩进包装行与新块不同?,java,eclipse,formatting,Java,Eclipse,Formatting,我喜欢这样格式化我的代码: void someFunction() { normalLine(); reallyLongLineThatNeedsToBeWrapped( OnlyIndentOneSpaceHere = true); normalLine(); } 但从我对Eclipse源代码格式的实验来看,似乎不能独立于新的块缩进来指定换行缩进 在Eclipse中有没有实现这一点的方法 根据答案,我提交了一份。我不这么认为。问题是不能根据上下文将缩进大小更改为不同

我喜欢这样格式化我的代码:

void someFunction() {
   normalLine();
   reallyLongLineThatNeedsToBeWrapped(
    OnlyIndentOneSpaceHere = true);
   normalLine();
}
但从我对Eclipse源代码格式的实验来看,似乎不能独立于新的块缩进来指定换行缩进

在Eclipse中有没有实现这一点的方法


根据答案,我提交了一份。

我不这么认为。问题是不能根据上下文将缩进大小更改为不同。因此,选择1作为缩进大小将导致所有内容缩进一个空格。根据是否为函数调用,可以使用单独的包装策略,但如果是函数调用,缩进的“单位”不能更改。

是和否

可以以不同的方式缩进包裹线,但有一个限制:包裹线的缩进必须是块缩进的倍数

您特别要求将块缩进设置为3,将换行缩进设置为1。到目前为止,此特定设置是不可能的

那么,如果您想使用,例如?它们的块缩进为2,包线(续)缩进为4。这是可以实现的,因为4是2的倍数

首先,打开格式化程序设置:

Window>Preferences>Java>code-Style>Formatter>Edit

在“缩进”选项卡中,将缩进大小设置为2。这是块缩进


然后打开
换行
选项卡。这里有包装行的默认缩进和数组初始值设定项的默认缩进。将这些字段设置为2,意味着换行缩进将是块缩进的两倍。

即使我无法自定义缩进,我认为默认行为也应该更改:此时自动缩进:private static final String X=“foo”;将更改为:private static final String X=“foo”;我认为这是完全错误的。所有的延续行都应该缩进。您可以针对EclipseJDT提交一份bug报告,以引起他们的注意。事实证明,虽然这是默认行为,但有一种方法可以让它做一些合理的事情
首选项->Java->代码样式->格式化程序->编辑
转到换行选项卡(或最后一个选项卡中的其他Java源上下文)。然后选择“分配”(在“表达式”下),然后(在面板底部)选择适合您口味的设置。那里提供的东西似乎足够了。