1

我在大约一年前编译的旧代码行上有一个错误:

   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.Pathuse 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)如果它是我的问题区域,您如何选择放?在此处输入图像描述

4

1 回答 1

0

我不完全理解您的问题,但 netbeans 8.2 和 11 不会改变您的声明以修复导入

我正在使用 netbeans 11.0

这是一个带有未解析导入的代码示例 在此处输入图像描述

我右键单击并选择修复导入

在此处输入图像描述

并且 netbeans 在我的班级顶部添加了导入而不改变我的陈述

在此处输入图像描述

所以我从来没有得到你在这里描述的问题

public class TreeWalker extends java.nio.file.SimpleFileVisitor<java.nio.file.Path>;

此外,它还使您可以选择从冲突的包中选择类

在此处输入图像描述

如果您正在寻找键盘快捷键,请转到工具->选项->键盘映射

在此处输入图像描述

我自己在使用超过 2 年之后还没有完全弄清楚 netbeans,所以如果这篇文章确实有帮助或者你找到了答案,请在下面发表评论

于 2020-06-23T07:38:52.540 回答