Czyszczenie kodu w netbeans

83

Czy jest coś podobnego do reguł czyszczenia Eclipse (Preferencje> Java> Styl kodu> Oczyszczanie) w NetBeans?

Reguły czyszczenia w Eclipse pozwolą Ci uporządkować takie rzeczy, jak organizowanie importu, usuwanie niepotrzebnych rzutów, dodawanie brakujących adnotacji nadpisań itp.

Czy możesz to zrobić na całym zestawie klas / pakietów zamiast pojedynczych klas?

Kapsh
źródło
3
Dodałem nagrodę i mam nadzieję, że ktoś będzie wiedział o wtyczce lub w inny sposób. Naprawdę brakuje mi opcji czyszczenia Eclipse.
Ben Hocking
Zgodnie z poniższą odpowiedzią istnieją sposoby na wyczyszczenie niektórych aspektów pojedynczego pliku kodu źródłowego. Wątpię, czy NetBeans wprowadziłby funkcję "napraw wszystkie moje pliki", ponieważ zmiany w każdym pliku mogą być zależne od zmian w poprzednich plikach, więc NetBeans musiałby ustalić priorytety, które pliki naprawić jako pierwsze i skompilować pliki po naprawieniu im.
Daniel
@Daniel: Charakter tych „poprawek” jest zwykle drugorzędny: usuwanie białych znaków, dodawanie tagów @Override, organizowanie importu, usuwanie niepotrzebnych rzutów, usuwanie nieużywanych zmiennych itp. Tj. Są to poprawki, które nie powinny mieć wpływu na funkcjonalność, a zatem nie powinno mieć znaczenia, w jakiej kolejności są stosowane.
Ben Hocking

Odpowiedzi:

90

Refactor > Inspect and Transform

Czy jest coś podobnego do reguł czyszczenia Eclipse ((Preferencje> Java> Styl kodu> Oczyszczanie) w NetBeans?

W NetBeans 8.0 potężnym narzędziem wsadowym jest Refactor> Inspect and Transform. Zobacz stronę samouczka, Refaktoryzacja za pomocą funkcji Inspect and Transform w edytorze Java NetBeans IDE .

Dostępne są również indywidualne narzędzia:

  • Naprawianie importu
    Dla pojedynczego pliku, przestrzeni nazw lub projektu (w zależności od tego, co zostało wybrane w oknie projektu lub na którym fokus): Źródło> Organizuj importy (aby posortować i usunąć nieużywane importy) lub Źródło> Napraw importy (aby posortować, usunąć nieużywane importy, i dodaj brakujące importy). Lub podczas każdego zapisywania: Narzędzia> Opcje> Edytor> Przy zapisywaniu> Organizuj import.

  • Usuwanie końcowych spacji
    Dla pojedynczego pliku (umieść Carret w pliku kodu): Źródło> Usuń końcowe spacje. Lub podczas każdego zapisywania: Narzędzia> Opcje> Edytor> Przy zapisywaniu> Usuń końcowe spacje.

  • Format kodu
    Dla pojedynczego pliku, przestrzeni nazw lub projektu: Źródło> Format. (Dostosuj zasady w Tools > Editor > Formatting). Istnieje również wtyczka o nazwie Jindent, którą możesz zainstalować (sam jej nie używałem). Lub w trakcie każdego zapisać: Tools > Options > Editor > On Save > Reformat.

Domyślnie Netbeans wyświetla ikony podpowiedzi obok problematycznych linii kodu i na pasku przewijania, co pozwala na wykonanie automatycznej naprawy, jeśli zajdzie taka potrzeba. Można je skonfigurować za pomocą Tools > Options > Editor > Hints. Netbeans może wyszukiwać wszystkie problemy w projekcie za pomocą opcji Źródło> Sprawdź. Lub, aby powtórzyć, wiele z tych problemów można rozwiązać zbiorczo Refactor > Inspect and Transform.

Jérôme Verstrynge
źródło
Fajne. Dzięki. Z biegiem czasu NetBeans zawiera nowe narzędzia i narzędzia przyspieszające i ułatwiające kodowanie w głównych dystrybucjach. Dobre wtyczki są często zintegrowane z rdzeniem. W każdym wydaniu oferowane są nowe wtyczki. Wierzę, że w pełni zautomatyzowane funkcje zostaną udostępnione wcześniej czy później ...
Jérôme Verstrynge
4
W ramach aktualizacji tej odpowiedzi formatowanie rekurencyjne jest implementowane w Netbeans natywnie (yay!). Po prostu wybierz „Pakiety źródłowe” w przeglądarce pakietów, a następnie przejdź do opcji Źródło> Format. Jedyne, czego nie robi, to porządkowanie importu
TheLQ
Czy istnieje skrót do inspekcji i transformacji oraz jak to ustawić
shareef
Trochę zajęło mi uświadomienie sobie tego po dokonaniu wyboru Inspect and Transform (w mojej sieci 8.2 Netbeans pojawia się bezpośrednio jako opcja po kliknięciu prawym przyciskiem myszy na projekcie; brak Refactorpoprzedniego menu) musiałem wybrać Use: Configuration: Organize Imports(kliknij Manage...przycisk, jeśli nie pojawia się bezpośrednio w menu. Dostępne są tam dziesiątki „inspekcji”, które można zastosować do kodu!
Pere
22

Odpowiednikiem „Oczyszczania kodu” Eclipse w NetBeans jest „Format”. Znajduje się w obszarze Źródło> Format, a skrót klawiaturowy to Alt + Shift + F (w systemie Windows). Niestety, w przeciwieństwie do Eclipse, wygląda na to, że nie można tego skonfigurować w NetBeans.

DR.
źródło
8
Eclipse ma dwie osobne funkcje: format kodu i czyszczenie kodu. NetBeans Source-Format jest tylko odpowiednikiem Code-Format - i nawet tam nie jest tak potężny. W żaden sposób nie można go porównać do Eclipse Code-Cleanup. Nie wiem, w jaki sposób zdobyłeś głosy na tę błędną odpowiedź.
Martin
9
W netbeans dla formatu kodu alt + shift + fi importu ctrl + shift + i. i to działa dla pojedynczego pliku. Dla wszystkich plików nie ma funkcji.
Ravi Parekh
i nawet z kodem formatu u nie można ustawić szerokości kolumny do takiej, jaką chcesz rozszerzyć w linii kodu. mam na myśli, jeśli masz 200 szerokości kolumny, netbean zostanie ustawiony jako pojedynczy wiersz do momentu ręcznego Enter.
Ravi Parekh
@RaviParekh Opcje w menu Narzędzia> Opcje> Edytor> Formatowanie> Zawijanie linii są dostępne, ale widzę, że to nie działa. Pluskwa?
Aleksandr Dubinsky
10

W przypadku Netbeans użyj Ctrl + Shift + I, aby usunąć nieużywany import z pliku.

Anil Chahal
źródło
Pytanie dotyczy robienia tego dla wielu klas / plików, a nie tylko dla jednego.
Basil Bourque
2

narzędzia -> opcje -> Zakładka "Edytor" -> Zakładka "Wskazówki" -> wybierz Javę (mówimy o) w JComboBox

a potem zobaczyłbyś żółty ocean ..., wspaniały i szybki od wersji 6.9

mKorbel
źródło
To powiadamia o możliwych problemach w kodzie (i jest bardzo przydatne), ale szukamy opcji automatycznego naprawiania takich problemów, albo za pomocą jednego polecenia, aby naprawić wszystkie problemy w pliku (lub jeszcze lepiej zestaw plików) lub automatycznie przy zapisywaniu. Eclipse ma obie te opcje. Często używam go do automatycznego uzupełniania brakujących instrukcji @Override, organizowania importu i eliminowania końcowych białych znaków.
Ben Hocking
@Ben Hocking :-) Nie chcę czegoś ... i automatycznie, ponieważ w (większych) przypadkach jest więcej niż jedna opcja pochodząca z podpowiedzi, a możesz wybrać „lepiej” z pozycji, jak jakiś automat może wybrać i zna lepszą opcję ..., tak oto zacząłem FlameWar ...
mKorbel
@mKorbel: To, które elementy są naprawiane automatycznie, nie jest tym samym, co ostrzeżenia, a jak zauważyłeś, nie chciałbyś, aby tak było. Zwykle rzeczy „automatyczne” to trywialne rzeczy, takie jak organizowanie importu i eliminowanie końcowych białych znaków, a także nieco większe rzeczy, takie jak dodanie brakującego @Override (co mogłoby zepsuć kod, jeśli inni ludzie skompilują się z Javą 1.5). Chodzi o to, że jest konfigurowalny niezależnie od twoich wskazówek i możesz zrobić tyle, ile chcesz. „Czyszczenie kodu przy zapisywaniu” jest również bardziej niebezpieczne niż robienie tego na żądanie.
Ben Hocking
@Ben Hocking, ale nigdy nie rozróżniłem, czy pisałem lepiej, czy wygodniej w Eclipse czy Netbeans
mKorbel
1
Istnieje wiele różnic, które można wprowadzić, ale użytkownicy obu IDE skorzystaliby na nauce sztuczek z drugiego IDE. Na przykład naprawdę podoba mi się to, jak łatwo jest używać cobertury firmy Netbeans. Chociaż można to zrobić również z Eclipse, wymaga to znacznie więcej kroków. Oczywiście są też bardziej istotne różnice.
Ben Hocking
1

Wiem, że netbeans wskazuje te rzeczy automatycznie, ale poza zwykłym wskazaniem ich nie wiem.

żołnierz. moth
źródło
2
Wersja 6.5 wyświetla w tekście małą ikonę żarówki, która po kliknięciu zasugeruje poprawki (takie jak dodanie adnotacji Zastąp, usunięcie nieużywanych importów itp.).
ssakl
0

Nie znam sposobu, aby to zrobić masowo, ale jeśli usuniesz wszystkie importy z pliku źródłowego, a następnie klikniesz prawym przyciskiem myszy w edytorze źródła, możesz wybrać naprawę importu. Spowoduje to zaimportowanie wszystkich klas alfabetycznie, z pytaniem, kiedy napotka niejednoznaczność pakietu.

Jak zauważył Soldier.moth, Netbeans wskaże inne problemy, takie jak rzucanie i zastępowanie adnotacji, w jednej linii, używając żarówki po lewej stronie źródła.

James McMahon
źródło
0

Jeśli chcesz, aby Twój kod miał odpowiednie wcięcia w całym projekcie, po prostu kliknij nazwę projektu, przejdź do „Źródło”, a następnie kliknij „Formatuj”. Mam nadzieję że to pomoże!

Vinayak G
źródło