Eclipse Zwei Funktionen in Eclipse gesucht

Marco13

Top Contributor
Hallo

Es gibt zwei Funktionen, die ich in Eclipse manchmal vermisse. Vielleicht weiß jemand, ob es die doch irgendwo ganz versteckt gibt:

1. Ein case-erhaltendes "Replace all": Wenn man in einem Stück Quelltext z.B. solche Zeilen hat wie
Java:
private SomeSpecialClass specialClass = null;

/** Finds the given specialClass */
private void findSpecialClass(SpecialClass specialClass) { ... }
dann kommt es gelegentlich vor, dass man etwas umbenennen will, und z.B.
- alle Vorkommen von "SpecialClass" ersetzen will durch "NormalClass"
- alle Vorkommen von "specialClass" ersetzen will durch "normalClass"
Beim "Refactoring" kann man da zwar schon einiges machen, indem man "similar named elements" und "textual occurances" mit ersetzt, aber ein REIN textuelles Ersetzen mit case-Erhaltung habe ich noch nicht gefunden...


2. Automatische Privatisierung: Ich fände es toll, wenn es eine Funktion gäbe, mit der man einfach und elegant die Klassen und Methoden auswählen könnte, die "public" sein sollen, und alles andere automatisch "so privat wie möglich" gemacht wird. Also alles, was private sein kann, wird private, alles was höchstens package-private sein kann, wird package-private, und alles was höchstens protected sein kann, wird protected. Beim Entwickeln und/oder häufigem hin-und-her-Schieben von Klassen (oder auch einfach durch "Unachtsamkeit" :oops: ) während der Entwicklung kommt es bei mir öfter mal vor, dass Sachen etwas "publicer" werden, als sie rein formal sein müßten. Ich denke, dass das etwas ist, was man eigentlich relativ leicht automatisieren könnte, wenn man sich ein bißchen mit den JTDs innerhalb von Eclipse auskennt. Gibt es sowas vielleicht schon als Plugin oder so?

Bin gespannt auf eventuelle Tipps :)
 

Wildcard

Top Contributor
1. Da du 'rein textuell' schreibst möchtest du wirklich Find und Replace und nicht etwa refactoring, richtig? In dem Fall, der Search Dialog erlaubt auch Regex und das Replace Feld erlaubt capturing Groups. Du kannst also einen case insensitiven Regex verwenden, an entsprechender Stelle ein oder mehrere Capturing Groups setzen und diese dann im Replace Feld mit $1 $2 usw ersetzen.

2. Da kenne ich leider nichts, wäre aber ein guter Vorwand mal in die Plugin Entwicklung reinzuschnuppern ;)
 

headset

Mitglied
1.Wenn du etwas umbenennen möchtest, z.B. ne Variable, musst du diese bloß anklicken und alt+shift+r drücken, kannst nen neuen Namen eingeben und dann musst du noch enter drücken.
Dann ändert die Variable den Namen und überall wo du sie verwendest ändert er sich auch.
Wenn du das meinst.

2. Ich weiß nichts von so einer Funktion, aber das wär irgenwie schon genial.

Ich hoffe, ich konnte helfen.
LG
Headset
 

Marco13

Top Contributor
Du kannst also einen case insensitiven Regex verwenden, an entsprechender Stelle ein oder mehrere Capturing Groups setzen und diese dann im Replace Feld mit $1 $2 usw ersetzen.

Dass das mit Regex irgendwie geht, hatte ich schon befürchtet ;) Vermutlich ist es zu speziell und (wenn man weiß, wie es geht) zu "einfach", als dass es dafür eine spezielle Funktion gäbe. Vielleicht reicht es da, sich EINmal das allgemeine Muster zurechtzupfrienmeln, mit dem man "so eine" Ersetzung machen kann, und das dann immer anzuwenden ... mal schauen, ob ich das hinkriege :rtfm:

2. Da kenne ich leider nichts, wäre aber ein guter Vorwand mal in die Plugin Entwicklung reinzuschnuppern ;)

Ja, ich hatte auch schon ewig mal vor, das zu tun :) Vielleicht wäre das ja ein geeigneter Anfang: Es wäre (vermeintlich) einfach, und gleichzeitig nützlich. Aber auch da müßte ich erstmal :rtfm:en. Mit dem JDT hatte ich mich zwar schon ein bißchen beschäftigt, aber mit Pluginentwicklung im speziellen bisher noch nicht...


EDIT: @headset: Reines Umbenennen geht natürlich immer, ich meinte aber eine Funktion mit der aus dem Code
Java:
// Das ist einTest
EinTest einTest;
void dasIstEinTest() { ... }
der Code werden könnte:
Java:
// Das ist keinTest
KeinTest keinTest;
void dasIstKeinTest() { ... }
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
Ach, irgendwie ist mit vorhin die Tücke an deinem Beispiel entgangen.
Es ist kein Problem SpecialClass case sensitiv zu ersetzen mit SuperSpecialClass, bei NormalClass sieht es dann aber leider anders aus.
Vielleicht gibt es dafür einen Regex Trick, aber da fällt mir leider auch nichts ein. Wieder mal ein Fall für ein Plugin :)
 

Marco13

Top Contributor
Mit der "Tücke" meintest du wohl, dass eben aus einem "s" ein "n" und einem "S" ein "N" werden müßte, und das mit Capturing Groups auch nicht sooo ohne weiteres geht... Ja, das ist das Hauptproblem ;) Aber irgendwie könnte es ja doch hinzukriegen sein, zumindest für spezielle Fälle...
 

Marco13

Top Contributor
Und um mein leicht angefrustetes Selbstgespräch mal weiterzuführen: Ich bin in den letzten Tagen zu dem Schluß gelangt, dass Eclipse (mit seinen Plugins) wohl die komplexeste Software sein muss, die je von Menschen geschrieben wurde :rtfm: Wie konnten die Leute sowas komplexes entwickeln? Die hatten dafür ja nicht mal sowas wie Eclipse... :reflect:

:joke:
 

Marco13

Top Contributor
Ja, diese Stichworte sind eben in den letzten Tagen an meinem Horizont aufgetaucht. Mit dem JDT hatte ich schon ein bißchen was gemacht, mal ein ÄSTchen gebaut und ein bißchen rum-besucht, aber das zusammen mit den Refactorings an sich :shock: Es ist ja auch nicht so, dass es an Information mangelt ... :rtfm: Aber die paar hundert Packages, die mit Refactoring zu tun haben und das Zusammenspiel der paar tausend Klassen aus diesen Packages nachzuvollziehen ist nicht leicht - speziell weil die eingebauten Refactorings auch noch viele der "internen" Klassen verwenden, die man bei eigenen Sachen nicht verwenden sollte ... und wenn man einen Dialog anzeigen will, kommt noch ein bißchen SWT dazu ... *schwitz* :rtfm: (Gerade hab' ich die 40 Tabs aus einem meiner Firefox-Fenster gebookmarkt - für heute reicht's ;) )
 

Sonecc

Gesperrter Benutzer
Die hatten dafür ja nicht mal sowas wie Eclipse... :reflect:

:joke:

Sie haben es ja soweit programmiert, dass es lauffähig war und dann haben sie eclipse genutzt.
Mit e4 läuft es glaub ich genauso.
Sie haben das Grundgerüst gebaut und entwickeln e4 nun in e4 (wo ich das gelesen hab, weiß ich leider nimmer)
 

Marco13

Top Contributor
Deswegen auch der " :joke: " ;) Das sollte nicht zuletzt darauf anspielen, dass man so eine Software wohl kaum noch handhabbar halten kann, wenn man nicht die Möglichkeit hat, sie modular weiterzuentwicklen. Wenn man anfängt, die Sources im SVN-Viewer zu browsen (weil man sich nicht traut, ein komplettes Checkout zu machen), merkt man erst, wie hilfreich es es, wenn man z.B. "mal kurz" alle Referenzen auf eine Methode suchen kann - aber wenn man die Sourcen durchsieht, um herauszufinden, wie z.B. genau das funktioniert, merkt man, dass die Mechanismen, die da dahinter stecken, sind trotz (oder gerade wegen) der Allgemeingültigkeit, mit der sie implementiert sind, ad hoc erstmal schwer nachzuvollziehen sind...
 

Marco13

Top Contributor
Vielleicht liest das noch jemand: Eine Dritte Funktion die man irgendwie dauernd braucht: Für ein gegebenes Interface eine "Default"-Implementierung erstellen:
Java:
interface SomeInterface
{
    int getType();
    String getName();
}

->

Java:
class DefaultSomeInterface implements SomeInterface
{
    private int type;
    private String name;

    @Override
    public int getType()
    {
        return type;
    }

    @Override
    public String getName()
    {
        return name;
    }

    // und noch die setter dazu, ist mir zu lästig, deswegen frag' ich ja ... ;-)
}


Natürlich kann man das mit einer Klasse und ein paar Fields und "create setters and getters" nachbauen, aber ... Vermutlich wird man da auch wieder selbst Hand anlegen müssen...?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S [Eclipse] Zwei verschiedene Konfigurationen erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
H Zwei Klassen gleichzeitig anzeigen (Eclipse) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
K Eclipse - importieren zwischen zwei Projekten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S NetBeans Splitpane : Zwei Buttons??? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
R Newbie : Eclipse 3.01 Zwei ext.JArs in eigene einbinden ! IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
keinLebenNurCode Eclipse Eclipse: Gelbes Hilfsfenster für Funktionen und Methoden anzeigen lassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
S Eclipse: Öffnen einer Quelldatei mit zusammengeklappten Funktionen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
H Ant Compilerfehler bei Java2D-Funktionen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
S Eclipes Editor: auto-funktionen funktionieren nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
R Eclipse beim Ausführen zur Eingabe in die Konsole springen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
T Eclipse Java Projekt funktioniert in Eclipse, aber nach export kein Dateizugriff IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M Eclipse oder IntelliJ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
JonasM Gibt es eine Libary in Eclipse mit der ich Daten per USB an einen Microkontroller Senden kann? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
N Erstellen einer ausführbaren jar Datei in Eclipse (Linux Mint) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 17
O Eclipse stürzt beim Autovervollständigen ab IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 17
C In Eclipse Einrückung im Java-Editor einstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Avalon html ist nicht html in eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
A Docker im Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
Robertop Eclipse resolved Target-Platform nicht wegen automatischem HTTPS IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
C Eclipse englisch, deutsche Kommentare leider rot unterkringelt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
T Eclipse von Java 1.8 auf 17 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
A Eclipse Projekt-Umzug mit Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
D Eclipse Eclipse und OpenGL IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
M Ausführbares Programm aus Eclipse exportieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Java00User00 Eclipse Theme IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
F Eclipse für Java 1.8 ARM einrichten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
D Crawler funktioniert in intellij aber in Eclipse nicht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
U Problem mit Eclipse - WindowBuilder - memoryLeak? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
F Eclipse - Änderung am Code ohne Applikation Neustart IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
E Hilfe mit Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
B Eclipse version control System das ohne Internet funktioniert/nur lokal auf Computer? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
B Eclipse Problem mit jar Datei? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
N Eclipse erzeugt plötzlich keine (default package) mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 24
F alle Eclipse Projekte auf git hochladen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
O Java Eclipse Umlaute werden nicht richtig dargestellt in Konsole IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
B .exe Datei für Eclipse Java Programm erstellen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
Eclipse Build path duplication entry IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
B Wie nicht-java Datei mit Eclipse benutzen (Excel Datei einlesen)? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 16
T GlassFish mit Eclipse, Dynamic Web Projekt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
nbergmann Eclipse Eclipse-Concole: Ergebnis-Zahlenfolge erscheint kurz und verschwindet dann wieder IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 21
berserkerdq2 Eclipse Eclipse führt nicht dei Klasse aus, bei der ich bin, muss das immer manuell ändern, was tun? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
MiHimbert Eclipse + Wildfly26 + primefaces11 + openjdk18 IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 22
S Eclipse Umlaute IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
S Fehlermeldung bei Nutzung Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
LimDul IDEA IntelliJ Tipps für den Umstieg von Eclipse auf intelliJ IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Robertop Maven Warnung "'version' contains an expression but should be a constant" in Eclipse verstecken IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
J Eclipse - kein Server verfügbar zum ausführen meines Java Projektes IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
P PHP Skript wird nicht mit highlights markiert(Eclipse) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
B Eclipse Autovervollständigung zeigt nicht alle Methoden einer Klasse an IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
P Eclipse- Zip Datei als Prgramm IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
T Eclipse scheint awt Libary nicht zu besitzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
G eclipse mit neuestem JDK einrichten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
P Cucumber Plugin Installation . Eclipse Warnmeldung IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
J Eclipse CDT Library einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
J Javac File generieren Eclipse oder IntellJ (JNI) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
sham5 Eclipse-Remote-Debugging von Java mit mehreren Prozessen oder Ports oder Netzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
Eichi1979 Eclipse Fehler in Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
Arita wie kann man die automatische erstellte Ordner von Eclipse in D Drive ziehen? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
nonickatall paho.client.mqttv3 in Eclipse installieren/einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
A Einbindung von FXML-Dateien in Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
A JavaFX in Eclipse einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 22
nonickatall Remote Debugging Eclipse/Raspberry IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
H Outline Fenster (Gliederung) wird mit deutschem Sprachpaket nicht angezeigt, Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M Kann EGit nicht auf Eclipse installieren? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
Tobero Eclipse Eclipse zeigt mir alles als Warnung an IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
B Versionen kontrollieren / dokumentieren mit Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
windl Probleme mit Eclipse unter Linux IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
H Eclipse Fehler beim starten des Projekts IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
B Kompilieren in Eclipse ( 2 Klasse ohne main()-Methode) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
N Eclipse debug Gradle-Projekt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
R Eclipse-Fehler IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
M Eclipse - Fehlermeldung bei JavaFX-Projekt "java.lang.module.FindException: Module javafx.controls not found" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 23
P ERROR: org.eclipse.equinox.p2.engine code=0 session context was:(profile=C__Users_birgit_eclipse_java-2020-124_eclipse, phase=org.eclipse.equinox.inte IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
H eclipse Fehler: Hauptklasse konnte nicht gefunden - bei Umwandlung in git IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
H Eclipse - Refactoring - mehrere Pakete geleichzeitig verschieben IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
T Eclipse, Console gibt Fragezeichen zurück. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
N Eclipse aus Java-Application JavaFX machenModule javafx.controls not found IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
K Eclipse Einstellung "kaputt" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
G Java Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
M Einzelne Java-Dateien mit Eclipse compilieren - Wie geht das? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
Robertop Eclipse Eclipse Startprobleme "Java was started but returned exit code=1" IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
Splayfer Problem mit der Eclipse Autovervollständigung... IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
ruutaiokwu Eclipse inkonsistent?? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
T Eclipse - Keine Vorschläge außerhalb main-Methode IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
S Java8 Eclipse Nutzer will auf Java14 wechseln IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
H kann in Eclipse org.junit nicht importieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
C Eclipse Plugin ClassLoader IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
T Eclipse: Projekt aus meinem Workspace als Library auswählen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
ruutaiokwu Eclipse Eclipse-Plugin für UML "Reverse Engineering", um aus Code Klassendiagramme zu erstellen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
OSchriever Eclipse: JavaFX mit JDK11 nutzen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
S Wie importiere ich am besten grosse Projekte in Eclipse am Beispiel von Apache ANT IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
U Eclipse und Tab Order IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
OSchriever Eclipse Eclipse - Automatischer import von Klassen IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
W Eclipse Eclipse: Blöcke farblich markieren ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
OSchriever Eclipse startet nicht mehr IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
H Eclipse Plug-in -> Fehler bei org.eclipse.e4.tools.bundle.spy IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
H Eclipse Che 7 Git Commit IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
H Eclipse Sipmles Plug-in laesst sich nicht starten -> window.getShell() IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
M Eclipse JavaFX JDK 12 - bekomme mein Projekt nicht mehr compiliert IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 36
coolian warum bekomm ich immer wieder wenn ich irgendwas mach eine java.lang.nullpointer exception in eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4

Ähnliche Java Themen

Neue Themen


Oben