在 Eclipse 中为 Java 的 try-with-resources 设置括号之间的缩进
Set Indentation between Parenthesis for Java's try-with-resources in Eclipse
我喜欢将 Java 的 try-with-resources 格式化如下:
try
(
FileInputStream input = new FileInputStream("data.txt");
BufferedInputStream buffer = new BufferedInputStream(input);
InputStreamReader convert = new InputStreamReader(buffer);
LineNumberReader parse = new LineNumberReader(convert);
)
{
// process the data in the file
}
首先,我在括号之间写下插入符号:
try
(|)
然后我按下回车键,Eclipse 将代码格式化为:
try
(
)
右括号向右9个空格。我的缩进设置设置为使用 3 个空格。如何配置 Eclipse 在按下回车键时执行以下操作?
try
(
)
正如 Edwin(漂亮的头像)所说,eclipse 之所以如此,是因为在这种情况下,大多数理智的代码都希望缩进。
您可以通过转至 Window > 首选项 > Java > 编辑器 > 键入,然后取消选中缩进部分下的 "Enter key adjusts the indentation on the new line" 复选框来禁用此功能:
请注意,这将禁用所有自动缩进,这似乎也会禁用插入右大括号等不错的功能,因此可能不值得这样做。
您也可以考虑通过转至 Window > 首选项 > Java > 编辑器 > 模板来创建模板。您可以修改现有的 try
模板,尽管我的快速修改表明总是添加缩进,即使我取消选中上述复选框也是如此。
这由 Java -> 代码风格 -> 格式化程序 -> 换行 -> 换行的默认缩进控制。 (设为0即可达到效果)
不幸的是,AFAIK 无法根据上下文设置不同的缩进(即您不能只为 try
设置它,它将用于所有换行)。
查看几个相关问题:
Can the Eclipse formatter be configured to indent multiple lines between parenthesis properly?
Can Eclipse's Java formatter indent wrapped lines differently than new blocks?
我喜欢将 Java 的 try-with-resources 格式化如下:
try
(
FileInputStream input = new FileInputStream("data.txt");
BufferedInputStream buffer = new BufferedInputStream(input);
InputStreamReader convert = new InputStreamReader(buffer);
LineNumberReader parse = new LineNumberReader(convert);
)
{
// process the data in the file
}
首先,我在括号之间写下插入符号:
try
(|)
然后我按下回车键,Eclipse 将代码格式化为:
try
(
)
右括号向右9个空格。我的缩进设置设置为使用 3 个空格。如何配置 Eclipse 在按下回车键时执行以下操作?
try
(
)
正如 Edwin(漂亮的头像)所说,eclipse 之所以如此,是因为在这种情况下,大多数理智的代码都希望缩进。
您可以通过转至 Window > 首选项 > Java > 编辑器 > 键入,然后取消选中缩进部分下的 "Enter key adjusts the indentation on the new line" 复选框来禁用此功能:
请注意,这将禁用所有自动缩进,这似乎也会禁用插入右大括号等不错的功能,因此可能不值得这样做。
您也可以考虑通过转至 Window > 首选项 > Java > 编辑器 > 模板来创建模板。您可以修改现有的 try
模板,尽管我的快速修改表明总是添加缩进,即使我取消选中上述复选框也是如此。
这由 Java -> 代码风格 -> 格式化程序 -> 换行 -> 换行的默认缩进控制。 (设为0即可达到效果)
不幸的是,AFAIK 无法根据上下文设置不同的缩进(即您不能只为 try
设置它,它将用于所有换行)。
查看几个相关问题:
Can the Eclipse formatter be configured to indent multiple lines between parenthesis properly?
Can Eclipse's Java formatter indent wrapped lines differently than new blocks?