我在大约一年前编译的旧代码行上有一个错误:
public class TreeWalker extends SimpleFileVisitor<Path>;
过去,也许是在我按下Alt+Enter
但也许是自动的,Netbeans 可以选择插入导入。对于上面的行,Netbeans 将插入:
import java.nio.file.SimpleFileVisitor;
import java.nio.file.Path;
但现在我能看到的所有事情都让我最终得到了这个太难读的版本:
public class TreeWalker extends java.nio.file.SimpleFileVisitor<java.nio.file.Path>;
按下像上面Alt+Enter
的原始TreeWalker
行一样的行提供了一个选项来包含我上面列出的导入。该选项不再存在。只是选项use java.nio.file.Path
或use java.nio.file.Path for all Path in source
两者都会产生相同的反对代码行。
旧的 Netbeans 7 或 8 选项Add import for java.nio.file.Path
,这仍然是 Netbeans 14 中的一个选项,但不管它过去怎么说,它已经消失了。也许这变得不受欢迎,因为大多数人认为进口清单过长是不好的。现在我皱着眉头。我越来越眼花缭乱,试图弄清楚数十行曾经对我的眼睛和大脑来说很干净的代码显然仍然在说什么。)
在我过去认为非常干净、易读的代码中,按Alt+Shift+I
或会产生相同类型的冗长行。中Ctrl+Shift+I
也是如此Fix Imports...
。Source
提供适当进口的选项是永远消失了,还是我还没有看过?
编辑
这是我的前几个导入:
package copy;
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.util.*;
import javax.swing.*;
我删除它们,然后右键单击修复导入。
不添加任何导入语句。每个受影响的代码行都添加了一个正确的前缀,这使得代码不可读。将上面的第一行(易于阅读)与第三行(两个长前缀使阅读变得困难)进行比较。
如何让 Netbeans 8.2 插入可接受的导入语句并单独保留我的语句?
第二次编辑
如果我单击工具 > 选项 > 编辑器 > 提示 > 导入,那么也许这就是我的问题所在。并非所有框都被选中,所以我只是检查了每个框。它警告我不要进行 Star 导入,这是我拥有的选项的弹出窗口,NONE 是关于添加导入语句,如果我选择其中任何一个,代码行就会“损坏”。
所以我清除了 Star import 的警告。同样的问题。所以我清除了所有的盒子。同样的问题。我可以使用“导入”选项玩 15 分钟,但是(a)我不知道这是否是问题所在,以及(b)如果它是我的问题区域,您如何选择放?