Как заставить netbeans вставлять отсутствующие операторы импорта, как когда-то был вариант - PullRequest
1 голос
/ 20 июня 2020

У меня есть ошибка в этой старой строке кода, которая использовалась для компиляции около года go:

   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.

Возможность правильного импорта исчезла навсегда или это где-то, чего я еще не искал?

EDIT

Вот мои первые несколько операций импорта:

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 касается добавления оператора импорта, и если я выберу ЛЮБОЙ из них, строка кода будет "искажена". enter image description here

So I cleared Star import from warning me. Same problem. So I cleared ALL the boxes. Same problem. I could play on-off for 15 minutes with the Import options, but (a) I don't know if this is even where the trouble lies and (b) if it IS the problem area FOR ME, how do YOU have the options set? введите описание изображения здесь

1 Ответ

0 голосов
/ 23 июня 2020

Я не совсем понимаю вашу проблему, но netbeans 8.2 и 11 не изменяют ваш оператор для исправления импорта

Я использую netbeans 11.0

Вот пример кода с нерешенными импорт enter image description here

I right click and select fix imports

enter image description here

And netbeans add's the imports at the top of my class without altering my statements

enter image description here

So i never get your problem which you described here

public class TreeWalker extends java.nio.file.SimpleFileVisitor;

Also it also gives you the choice of selecting classes from conflicting packages

enter image description here

If you are looking for keyboard shortcut go to Tools->Options->Keymap

введите описание изображения здесь

Я сам не до конца разобрался в netbeans после его использования более двух лет, поэтому, если этот пост помог или вы нашли ответ, прокомментируйте ниже

...