Очистка кода в 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.