Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改IntelliJ';s';代码重新格式化';中断实例化?_Java_Intellij Idea_Reformat_Reformatting - Fatal编程技术网

Java 如何更改IntelliJ';s';代码重新格式化';中断实例化?

Java 如何更改IntelliJ';s';代码重新格式化';中断实例化?,java,intellij-idea,reformat,reformatting,Java,Intellij Idea,Reformat,Reformatting,当IntelliJ的代码重新格式化功能工作时,它会将实例化表达式拆分为不必要的行 考虑一下这个表达: File[] files = (chooser.getSelectedFiles().length == 0 ? chooser.getCurrentDirectory() : chooser.getSelectedFiles()[0]).listFiles(); 此表达式太长,无法容纳一行。IntelliJ认为100个字符是最大行长度。这个表达式是136个字符,不包括它所包含的方法和类的额外

当IntelliJ的代码重新格式化功能工作时,它会将实例化表达式拆分为不必要的行

考虑一下这个表达:

File[] files = (chooser.getSelectedFiles().length == 0 ? chooser.getCurrentDirectory() : chooser.getSelectedFiles()[0]).listFiles();
此表达式太长,无法容纳一行。IntelliJ认为100个字符是最大行长度。这个表达式是136个字符,不包括它所包含的方法和类的额外缩进

使用IntelliJ的代码重新格式化,我最终得出以下结论:

File[]
    files =
    (chooser.getSelectedFiles().length == 0 ? chooser.getCurrentDirectory()
                                            : chooser.getSelectedFiles()[0]).listFiles();
我发现前两行看起来很奇怪,IntelliJ将其重新格式化:

File[] files =
为此:

File[] 
    files =
我能做些什么,我该更改哪些设置以得到类似的结果

File[] files =
    (chooser.getSelectedFiles().length == 0 ? chooser.getCurrentDirectory()
                                            : chooser.getSelectedFiles()[0]).listFiles();

注意:如果我再次尝试重新格式化,在我手动将IntelliJ坚持的两行更改回一行后,IntelliJ不会将其更改回一行。

您可以通过将此三元运算符移动到专用方法来避免此类问题。这也会使它更清晰,文件中包含的内容也更易读。谢谢你的提示,我以前应该考虑过这一点。我会考虑改变它。但它仍然不能回答我的问题。这个缩进问题在其他情况下也存在,我只是用这个表达式作为例子,因为它使天平倾斜,使我问StackOverflow。再次感谢!这就是为什么这是一个评论,而不是一个答案:P。我不知道你需要编辑什么来改变这种行为。但我也注意到了格式风格。