我创建了一个自定义java代码样式格式化程序。 但是当我尝试使用source->格式时,它不会格式化文件。 此外,我尝试使用source-> Clean Up,我在其中创建了自定义清理并应用了格式源代码选项。但是文件仍未被格式化。
有时eclipse显示格式化的进度,但是如果我检查代码只有少数文件(也是xml)被更改。
编辑 - 我尝试从根项目和源文件夹中单击和格式化。 源文件夹也在构建路径中。
我检查了错误日志,发现以下异常 -
java.lang.ArrayIndexOutOfBoundsException: -1
at org.eclipse.jdt.internal.formatter.Scribe.getNewLineString(Scribe.java:1137)
at org.eclipse.jdt.internal.formatter.Scribe.getEmptyLines(Scribe.java:1062)
at org.eclipse.jdt.internal.formatter.Scribe.printEmptyLines(Scribe.java:3050)
at org.eclipse.jdt.internal.formatter.Scribe.preserveEmptyLines(Scribe.java:1584)
at org.eclipse.jdt.internal.formatter.Scribe.printComment(Scribe.java:2584)
at org.eclipse.jdt.internal.formatter.Scribe.printComment(Scribe.java:2414)
at org.eclipse.jdt.internal.formatter.CodeFormatterVisitor.format(CodeFormatterVisitor.java:714)
at org.eclipse.jdt.internal.formatter.CodeFormatterVisitor.visit(CodeFormatterVisitor.java:3294)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:679)
编辑2 找到了根本原因。这是由于一个空行和注释导入语句 -
import org.hibernate.validator.HibernateValidator;
import org.hibernate.validator.HibernateValidatorConfiguration;
//import javax.validation.*;
import javax.validation.Configuration;
答案 0 :(得分:2)
检查语法错误,例如不平衡括号。这是我的问题。如果存在这样的错误,格式化程序显然会出现问题。