Очистка кода в netbeans


83

Есть ли что-то похожее на правила очистки Eclipse (Настройки> Java> Стиль кода> Очистить) в NetBeans?

Правила очистки в eclipse позволят вам очистить такие вещи, как организация импорта, удаление ненужных приведений, добавление отсутствующих аннотаций переопределения и т. Д.

Также можете ли вы сделать это для всего набора классов / пакетов вместо отдельных классов?


3
Я добавил вознаграждение и надеюсь, что кто-то узнает о плагине или другом способе сделать это. Мне очень не хватает возможностей очистки Eclipse.
— Бен Хокинг

Как указано ниже, есть способы очистить определенные аспекты одного файла исходного кода. Я сомневаюсь, что NetBeans представит функцию «исправить все мои файлы», потому что изменения в каждом файле могут зависеть от изменений в предыдущем файле (файлах), поэтому NetBeans необходимо будет установить приоритеты, какие файлы исправить в первую очередь, и компилировать файлы по мере исправления их.
— Даниэль

@Daniel: Эти «исправления» обычно незначительны: удаление пробелов, добавление тегов @Override, организация импорта, удаление ненужных приведений, удаление неиспользуемых переменных и т. Д. То есть, это исправления, которые не должны иметь никакого функционального воздействия, и, следовательно, не имеет значения, в каком порядке они применяются.
— Бен Хокинг,

Ответы:


90

Refactor > Inspect and Transform

Есть ли что-то похожее на правила очистки Eclipse ((Настройки> Java> Стиль кода> Очистить) в NetBeans?

В NetBeans 8.0 мощным средством пакетной обработки является Refactor> Inspect and Transform. См. Страницу руководства « Реорганизация с помощью проверки и преобразования» в редакторе Java IDE NetBeans .

Также доступны индивидуальные инструменты:

  • Исправление импорта
    Для отдельного файла, пространства имен или проекта (в зависимости от того, что выбрано в окне проекта или имеет фокус): Источник> Организовать импорт (для сортировки и удаления неиспользуемых операций импорта) или Источник> Исправить импорт (для сортировки, удаления неиспользуемых операций импорта, и добавить недостающий импорт). Или во время каждого сохранения: Инструменты> Параметры> Редактор> При сохранении> Организовать импорт.

  • Удаление конечных пробелов
    Для одного файла (поместите каретку в файл кода): Источник> Удалить конечные пробелы . Или во время каждого сохранения: Инструменты> Параметры> Редактор> При сохранении> Удалить конечные пробелы.

  • Формат кода
    Для одного файла, пространства имен или проекта: Источник> Формат. (Настройте правила в Tools > Editor > Formatting). Вы также можете установить плагин Jindent (я сам им не пользовался). Или во время каждого сохранения: Tools > Options > Editor > On Save > Reformat.

По умолчанию Netbeans отображает значки подсказок рядом с проблемными строками кода и на полосе прокрутки, что позволяет при желании выполнить автоматическое исправление. Их можно настроить с помощью Tools > Options > Editor > Hints. Netbeans может искать все проблемы в проекте, используя «Источник»> «Осмотреть». Или, повторюсь, многие из этих проблем можно исправить пакетным способом Refactor > Inspect and Transform.


Круто. Благодарю. Со временем NetBeans имеет тенденцию включать новые инструменты и утилиты, ускоряющие и упрощающие кодирование в базовые дистрибутивы. Хорошие плагины часто интегрируются в ядро. Новые плагины предлагаются при каждом выпуске. Я считаю, что полностью автоматизированные функции будут доступны рано или поздно ...
— Жером Верстринж

4
В качестве обновления этого ответа рекурсивное форматирование реализовано в Netbeans изначально (ура!). Просто выберите «Исходные пакеты» в средстве просмотра пакетов, затем перейдите в «Источник»> «Форматировать». Единственное, что он не делает, это
— очищает

Есть ли ярлык для проверки и преобразования и как его установить
— shareef

Мне потребовалось немного времени, чтобы понять, что после выбора Inspect and Transform(в моем Netbeans 8.2 он отображается непосредственно как опция после щелчка правой кнопкой мыши по проекту; без Refactorпредыдущего меню) мне пришлось выбрать Use: Configuration: Organize Imports(нажмите Manage...кнопку, если она не отображается напрямую в раскрывающемся списке. Здесь доступны десятки «проверок», которые можно применить к вашему коду!
— Пере

22

Эквивалент Eclipse «Очистка кода» в NetBeans - «Формат». Он находится в разделе «Источник»> «Формат», а сочетание клавиш - Alt + Shift + F (в Windows). К сожалению, в отличие от Eclipse, похоже, что это нельзя настроить в NetBeans.


8
Eclipse имеет две отдельные функции: Code-Format и Code-Cleanup. NetBeans Source-Format - это только эквивалент Code-Format - и даже там он не такой мощный. Ни в коем случае его нельзя сравнивать с Eclipse Code-Cleanup. Не знаю, как вам удалось набрать голоса за этот неверный ответ.
— Мартин

9
В netbeans для форматирования кода alt + shift + fи импорта ctrl + shift + i. и это работает для отдельного файла. Для всех файлов нет функционала.
— Рави Парех

и даже с кодом формата u не может установить ширину столбца до того, что вы хотите, чтобы ваша строка кода расширилась. Я имею в виду, что если у вас 200 ширины столбца, netbean будет установлен как одна строка, пока вы не сделаете это вручную Enter.
— Рави Парех

@RaviParekh Параметры в Инструменты> Параметры> Редактор> Форматирование> Перенос строки есть, но я вижу, что это не действует. Ошибка?
— Александр Дубинский


10

Для Netbeans используйте Ctrl + Shift + I, чтобы удалить неиспользуемый импорт из файла.


Вопрос в том, чтобы сделать это для многих классов / файлов, а не только для одного.
— Basil Bourque

2

инструменты -> параметры -> Вкладка «Редактор» -> Вкладка «Подсказки» -> выберите Java (о чем идет речь) в JComboBox

и тогда вы увидите желтый океан ..., отличный и быстрый из версии 6.9


Это уведомляет вас о возможных проблемах в вашем коде (и очень полезно), но то, что мы ищем, - это возможность автоматически исправлять такие проблемы, как эти, либо с помощью одной команды, чтобы исправить все проблемы в файле (или еще лучше набор файлов) или автоматически при сохранении. У Eclipse есть оба эти варианта. Я часто использую его для автоматического заполнения отсутствующих операторов @Override, для организации импорта и удаления конечных пробелов.
— Бен Хокинг

@Ben Hocking :-) Я не хочу чего-то ... и автоматически, потому что в (основных) некоторых случаях есть более одного варианта, поступающего из подсказок, и вы можете выбрать «лучше» из элементов, как некоторые автоматические может выбрать и знает вариант получше ... вот так я начал FlameWar ...
— mKorbel

@mKorbel: Какие элементы исправляются автоматически, это не то же самое, что и предупреждения, и, как вы указываете, вы бы не хотели, чтобы они были. Как правило, «автоматические» вещи представляют собой тривиальные вещи, такие как организация импорта и удаление завершающих пробелов, а также несколько более крупные вещи, такие как добавление отсутствующего @Override (что может нарушить код, если другие люди компилируют с Java 1.5). Дело в том, что он настраивается отдельно от ваших подсказок, и вы можете делать столько, сколько захотите. «Очистка кода при сохранении» также более опасна, чем выполнение ее по запросу.
— Бен Хокинг,

@Ben Hocking, но я никогда не делал различия между тем, писал ли лучше или удобнее в Eclipse или Netbeans
— mKorbel

1
Можно провести множество различий, но пользователям обеих IDE будет полезно изучить приемы другой IDE. Например, мне очень нравится, насколько легко использовать cobertura из Netbeans. Хотя это можно сделать и из Eclipse, для этого потребуется гораздо больше шагов. Конечно, есть и более существенные отличия.
— Бен Хокинг

1

Я знаю, что netbeans указывает на эти вещи автоматически, но, кроме простого указания на них, я не знаю.


2
Версия 6.5 отображает небольшой встроенный значок лампочки, который, если вы щелкнете по нему, предложит исправления (например, добавить аннотацию Override, удалить неиспользуемый импорт и т. Д.).
— ssakl

0

Я не знаю, как сделать это массово, но если вы удалите весь импорт из исходного файла, а затем щелкните правой кнопкой мыши в редакторе исходного кода, вы можете выбрать исправление импорта. Это будет импортировать все классы для вас в алфавитном порядке, спрашивая, когда он обнаруживает неоднозначность пакета.

Как указал Soldier.moth, Netbeans будет указывать на другие проблемы, такие как приведение и переопределение аннотаций, в строке, используя лампочку слева от источника.



0

Если вы просто хотите, чтобы ваш код имел правильные отступы во всем проекте, просто щелкните имя проекта, перейдите в «Источник», а затем нажмите «Формат». Надеюсь это поможет!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.