Codebereinigung in Netbeans

83

Gibt es etwas Ähnliches wie die Eclipse-Bereinigungsregeln (Einstellungen> Java> Codestil> Bereinigen) in NetBeans?

Mit den Bereinigungsregeln in Eclipse können Sie Dinge wie das Organisieren von Importen, das Entfernen unnötiger Casts, das Hinzufügen fehlender Überschreibungsanmerkungen usw. bereinigen.

Können Sie das auch für eine ganze Reihe von Klassen / Paketen anstelle einzelner Klassen tun?

Kapsh
quelle
3
Ich habe ein Kopfgeld hinzugefügt und hoffe, dass jemand von einem Plugin oder einer anderen Art, dies zu tun, weiß. Ich vermisse meine Eclipse-Bereinigungsoptionen wirklich.
Ben Hocking
Wie unten beantwortet, gibt es Möglichkeiten, bestimmte Aspekte einer einzelnen Quellcodedatei zu bereinigen. Ich bezweifle, dass NetBeans die Funktion "Alle meine Dateien reparieren" einführen würde, da Änderungen an jeder Datei von Änderungen an den vorherigen Dateien abhängen könnten. Daher müsste NetBeans Prioritäten setzen, welche Dateien zuerst repariert werden sollen, und Dateien während der Korrektur kompilieren Sie.
Daniel
@ Daniel: Die Art dieser "Korrekturen" ist normalerweise gering: Leerzeichen entfernen, @ Override-Tags hinzufügen, Importe organisieren, unnötige Casts entfernen, nicht verwendete Variablen entfernen usw. Das heißt, es handelt sich um Korrekturen, die keine funktionalen Auswirkungen haben sollten, und daher Es sollte keine Rolle spielen, in welcher Reihenfolge sie angewendet werden.
Ben Hocking

Antworten:

90

Refactor > Inspect and Transform

Gibt es etwas Ähnliches wie die Eclipse-Bereinigungsregeln ((Einstellungen> Java> Codestil> Bereinigen) in NetBeans?

In NetBeans 8.0 lautet das leistungsstarke Batch-Tool Refactor> Inspect and Transform. Weitere Informationen finden Sie auf der Tutorial-Seite Refactoring mit Inspect and Transform im NetBeans IDE Java Editor .

Einzelne Tools sind ebenfalls verfügbar:

  • Korrigieren von Importen
    Für eine einzelne Datei, einen Namespace oder ein Projekt (abhängig davon, was im Projektfenster ausgewählt wurde oder im Fokus steht): Quelle> Importe organisieren (zum Sortieren und Entfernen nicht verwendeter Importe) oder Quelle> Importe reparieren (zum Sortieren, Entfernen nicht verwendeter Importe, und fehlende Importe hinzufügen). Oder bei jedem Speichern: Extras> Optionen> Editor> Beim Speichern> Importe organisieren.

  • Entfernen von nachgestellten Leerzeichen
    Für eine einzelne Datei (platzieren Sie das Carret in der Codedatei): Quelle> Nachfolgende Leerzeichen entfernen. Oder bei jedem Speichern: Extras> Optionen> Editor> Beim Speichern> Nachfolgendes Leerzeichen entfernen.

  • Codeformat
    Für eine einzelne Datei, einen Namespace oder ein Projekt: Quelle> Format. (Passen Sie die Regeln in an Tools > Editor > Formatting). Es gibt auch ein Plugin namens Jindent, das Sie installieren können (ich habe es selbst nicht verwendet). Oder bei jedem Speichern : Tools > Options > Editor > On Save > Reformat.

Standardmäßig zeigt Netbeans Hinweissymbole neben problematischen Codezeilen und in der Bildlaufleiste an, sodass Sie bei Bedarf eine automatische Korrektur durchführen können. Diese können über konfiguriert werden Tools > Options > Editor > Hints. Netbeans kann alle Probleme im Projekt mit Source> Inspect durchsuchen. Oder, um es noch einmal zu wiederholen, viele dieser Probleme können mit Batch behoben werden Refactor > Inspect and Transform.

Jérôme Verstrynge
quelle
Cool. Vielen Dank. Im Laufe der Zeit enthält NetBeans in der Regel neue Tools und Dienstprogramme, die die Codierung in Kerndistributionen beschleunigen und erleichtern. Gute Plugins sind oft in den Kern integriert. Bei jeder Veröffentlichung werden neue Plugins angeboten. Ich glaube, dass früher oder später vollautomatische Funktionen verfügbar sein werden ...
Jérôme Verstrynge
4
Als Aktualisierung dieser Antwort wird die rekursive Formatierung in Netbeans nativ implementiert (yay!). Wählen Sie im Paket-Viewer einfach "Quellpakete" aus und gehen Sie zu Quelle> Format. Das einzige, was es nicht tut, ist Bereinigungsimporte
TheLQ
Gibt es eine Abkürzung für Inspektion und Transformation und wie man sie einstellt
shareef
Es dauerte ein wenig, bis mir klar wurde, dass ich nach der Auswahl Inspect and Transform(in meinen 8.2 Netbeans wird es direkt als Option angezeigt , nachdem ich mit der rechten Maustaste auf das Projekt geklickt habe; kein Refactorvorheriges Menü) ich auswählen musste Use: Configuration: Organize Imports(klicken Sie auf die Manage...Schaltfläche, wenn es nicht direkt angezeigt wird In der Dropdown-Liste stehen Dutzende von "Inspektionen" zur Verfügung, die auf Ihren Code angewendet werden können!
Pere
22

Das Äquivalent zu Eclipse's "Code Cleanup" in NetBeans ist "Format". Es befindet sich unter Quelle> Format und die Tastenkombination lautet Alt + Umschalt + F (unter Windows). Im Gegensatz zu Eclipse scheint dies leider nicht in NetBeans konfiguriert werden zu können.

DR.
quelle
8
Eclipse hat zwei separate Funktionen: Code-Format und Code-Bereinigung. Das NetBeans-Quellformat entspricht nur dem Code-Format - und selbst dort ist es nicht so leistungsfähig. In keiner Weise kann es mit Eclipse Code-Cleanup verglichen werden. Ich weiß nicht, wie Sie die Stimmen für diese fehlerhafte Antwort erhalten haben.
Martin
9
In Netbeans für Code-Format alt + shift + fund Importe ctrl + shift + i. und dies funktioniert für einzelne Dateien. Für alle Dateien gibt es keine Funktionalität.
Ravi Parekh
und selbst mit Format-Code können Sie die Spaltenbreite nicht auf das einstellen, was Ihre Codezeile erweitern soll. Ich meine, wenn Sie 200 Spaltenbreite haben, wird NetBean als einzelne Zeile gesetzt, bis Sie manuell Enter.
Ravi Parekh
@ RaviParekh Die Optionen unter Extras> Optionen> Editor> Formatierung> Zeilenumbruch sind vorhanden, aber ich sehe, dass sie nicht wirksam werden. Fehler?
Aleksandr Dubinsky
9

Verwenden Sie für Netbeans Strg + Umschalt + I , um nicht verwendeten Import aus der Datei zu entfernen.

Anil Chahal
quelle
Die Frage ist, dies für viele Klassen / Dateien zu tun und nicht nur für eine.
Basil Bourque
2

tools -> options -> Tab "Editor" -> Tab "Hints" -> Java (über) in JComboBox auswählen

und dann würden Sie den gelben Ozean sehen ..., großartig und schnell ab Version 6.9

mKorbel
quelle
Das benachrichtigt Sie über mögliche Probleme in Ihrem Code (und ist sehr nützlich). Wir suchen jedoch nach einer Option, um Probleme wie diese automatisch zu beheben, entweder mit einem einzigen Befehl, um alle Probleme in einer Datei zu beheben (oder noch besser) eine Reihe von Dateien) oder automatisch beim Speichern. Eclipse bietet beide Optionen. Ich verwende es häufig, um fehlende @ Override-Anweisungen automatisch auszufüllen, Importe zu organisieren und nachgestellte Leerzeichen zu entfernen.
Ben Hocking
@ Ben Hocking :-) Ich möchte nichts ... und automatisch, weil in (Haupt-) Fällen in einigen Fällen mehr als eine Option aus den Hinweisen hervorgeht und Sie unter "Elemente" "besser" auswählen können, wie ein Automat kann wählen und weiß bessere Option ..., schau so, ich habe FlameWar gestartet ...
mKorbel
@mKorbel: Welche Elemente automatisch repariert werden, stimmt nicht mit den Warnungen überein, und wie Sie darauf hinweisen, möchten Sie nicht, dass sie angezeigt werden. In der Regel handelt es sich bei den "automatischen" Dingen um triviale Dinge wie das Organisieren von Importen und das Eliminieren von nachgestellten Leerzeichen sowie um etwas größere Dinge wie das Hinzufügen von fehlendem @Override (das den Code beschädigen könnte, wenn andere Personen mit Java 1.5 kompilieren). Der Punkt ist, es ist separat von Ihren Hinweisen konfigurierbar und Sie können so viel oder so wenig tun, wie Sie möchten. Die "Code-Bereinigung beim Speichern" ist auch gefährlicher als auf Anfrage.
Ben Hocking
@ Ben Hocking, aber ich habe nie einen Unterschied gemacht, ob ich in Eclipse oder Netbeans besser oder komfortabler geschrieben habe
mKorbel
1
Es können viele Unterscheidungen getroffen werden, aber Benutzer beider IDEs würden davon profitieren, Tricks von der anderen IDE zu lernen. Ich finde es zum Beispiel sehr toll, wie einfach es ist, Cobertura von Netbeans zu verwenden. Obwohl dies auch über Eclipse möglich ist, sind viel mehr Schritte erforderlich. Natürlich gibt es auch größere Unterschiede.
Ben Hocking
1

Ich weiß, dass Netbeans diese Dinge automatisch hervorhebt, aber ich weiß es nicht, außer nur darauf hinzuweisen.

soldat.motte
quelle
2
In Version 6.5 wird ein kleines Glühbirnen-Symbol inline angezeigt. Wenn Sie auf klicken, werden Korrekturen vorgeschlagen (z. B. Anmerkungen zum Überschreiben hinzufügen, nicht verwendete Importe entfernen usw.).
ssakl
0

Ich kenne keine Möglichkeit, dies in Massen zu tun, aber wenn Sie alle Importe aus einer Quelldatei löschen und dann mit der rechten Maustaste in den Quellcode-Editor klicken, können Sie Fiximporte auswählen. Dadurch werden alle Klassen alphabetisch für Sie importiert und gefragt, wann Paketmehrdeutigkeiten auftreten.

Wie Soldier.moth hervorhob, wird Netbeans mithilfe einer Glühbirne links von der Quelle auf andere Probleme hinweisen, z. B. Abgüsse und Überschreibungsanmerkungen.

James McMahon
quelle
0

Wenn Sie nur möchten, dass Ihr Code für ein gesamtes Projekt die richtigen Einrückungen aufweist, klicken Sie einfach auf den Projektnamen, gehen Sie zu "Quelle" und dann auf "Formatieren". Hoffe das hilft!

Vinayak G.
quelle