Ich habe von Leuten gehört, die so oder so gewechselt haben und auf den einen oder anderen schwören.
Als großer Eclipse-Fan, aber ohne die Zeit gehabt zu haben, IntelliJ auszuprobieren, bin ich daran interessiert, von IntelliJ-Benutzern, die "Ex-Eclipsianer" sind, einige spezifische Dinge zu hören, die Sie mit IntelliJ tun können, die Sie mit Eclipse nicht tun können.
Hinweis : Dies ist weder eine subjektive Frage noch dazu gedacht, sich in einen heiligen IDE-Krieg zu verwandeln. Bitte stimmen Sie alle Flammenköder-Antworten ab .
java
eclipse
ide
intellij-idea
Epaga
quelle
quelle
Antworten:
STRG-Klick funktioniert überall
Ein STRG-Klick, der Sie dorthin bringt, wo das angeklickte Objekt definiert ist, funktioniert überall - nicht nur in Java-Klassen und -Variablen im Java-Code, sondern auch in der Spring-Konfiguration (Sie können auf Klassennamen, Eigenschaft oder Bean-Namen klicken) im Ruhezustand (Sie) Sie können auf den Namen oder die Klasse der Eigenschaft oder die enthaltene Ressource klicken. Sie können mit einem Klick von der Java-Klasse zu der Stelle navigieren, an der sie als Spring- oder Hibernate-Bean verwendet wird. Das Klicken auf das enthaltene JSP- oder JSTL-Tag funktioniert ebenfalls. Wenn Sie bei gedrückter Strg-Taste auf die JavaScript-Variable oder -Funktion klicken, gelangen Sie an den Ort, an dem sie definiert ist, oder es wird ein Menü angezeigt, wenn mehr als ein Ort vorhanden ist, einschließlich anderer JS-Dateien und JS-Code in HTML oder JSP Dateien.
Autocomplete für viele Sprachen
Überwintern
Autocomplete in HSQL-Ausdrücken, in der Hibernate-Konfiguration (einschließlich Klassen-, Eigenschafts- und DB-Spaltennamen) in der Spring-Konfiguration
und es zeigt Ihnen eine Liste der Bohnen, die Sie in diese Eigenschaft injizieren können.
Java
Sehr intelligente automatische Vervollständigung in Java-Code:
und es zeigt Ihnen NUR getName () , getAddress () und toString () (nur sie sind nach Typ kompatibel) und getName () steht an erster Stelle in der Liste, da es einen relevanteren Namen hat. Die neueste Version 8, die sich noch in EAP befindet, verfügt über eine noch intelligentere automatische Vervollständigung.
und es wird es stillschweigend automatisch vervollständigen
Javascript
Intelligente automatische Vervollständigung in JavaScript.
und es werden NUR getName () und getAddress () angezeigt , unabhängig davon, wie * Methoden Sie in anderen JS-Objekten in Ihrem Projekt erhalten, und wenn Sie bei gedrückter Strg- Taste auf this.getName () klicken, gelangen Sie dorthin , wo diese definiert ist, auch wenn Es gibt einige andere Funktionen von getName () in Ihrem Projekt.
HTML
Habe ich die automatische Vervollständigung und das Klicken bei gedrückter Strg-Taste in Pfaden zu Dateien wie <script src = "", <img src = "" usw. erwähnt?
Autocomplete in HTML-Tag-Attributen. Autovervollständigung im Stilattribut von HTML-Tags, sowohl Attributnamen als auch Werte. Autocomplete auch in Klassenattributen.
Geben Sie <div class = "<CTRL-SPACE> ein und es wird eine Liste der in Ihrem Projekt definierten CSS-Klassen angezeigt. Wählen Sie eine aus, klicken Sie bei gedrückter Strg-Taste darauf und Sie werden dorthin weitergeleitet, wo sie definiert ist.
Einfaches Higlighting in der eigenen Sprache
Die neueste Version verfügt über eine Sprachinjektion, sodass Sie deklarieren können, dass Ihr benutzerdefiniertes JSTL-Tag normalerweise JavaScript enthält und JavaScript darin hervorgehoben wird.
Indizierte Suche über alle Projekte hinweg.
Sie können Find Usages für jede Java-Klasse oder -Methode verwenden. Dort wird ermittelt, wo sie verwendet wird, einschließlich nicht nur Java-Klassen, sondern auch Hibernate, Spring, JSP und anderen Orten. Umbenennen der Methode Refactoring benennt die Methode nicht nur in Java-Klassen um, sondern überall, einschließlich Kommentaren (es kann nicht sicher sein, ob die Zeichenfolge in Kommentaren wirklich der Methodenname ist, daher wird gefragt). Und es wird nur Ihre Methode finden, selbst wenn es Methoden einer anderen Klasse mit demselben Namen gibt. Gute Integration in die Quellcodeverwaltung (unterstützt SVN Änderungslisten? IDEA unterstützt sie für jede Quellcodeverwaltung), die Möglichkeit, einen Patch mit Ihren Änderungen zu erstellen, damit Sie Ihre Änderungen an andere Teammitglieder senden können, ohne sie festzuschreiben.
Verbesserter Debugger
Wenn ich HashMap im Überwachungsfenster des Debuggers betrachte, sehe ich eine logische Ansicht - Schlüssel und Werte, als ich es das letzte Mal in Eclipse gemacht habe, wurden Einträge mit Hash und nächsten Feldern angezeigt - ich debugge HashMap nicht wirklich , ich möchte nur schauen es Inhalt.
Validierung der Spring & Hibernate-Konfiguration
Die Spring- und Hibernate-Konfiguration wird direkt beim Bearbeiten überprüft, sodass ich den Server nicht neu starten muss, um zu wissen, dass ich den Klassennamen falsch geschrieben oder einen Konstruktorparameter hinzugefügt habe, damit meine Spring-CFG ungültig ist.
Beim letzten Versuch konnte ich Eclipse unter Windows XP x64 nicht ausführen.
und es wird Ihnen person.name oder person.address vorschlagen . Klicken Sie bei gedrückter Strg- Taste auf person.name , um zur Methode getName () der Person- Klasse zu gelangen.
Geben Sie dort
Pattern.compile("");
put \\ ein, drücken Sie STRG-LEERTASTE und sehen Sie hilfreiche Hinweise, was Sie in Ihren regulären Ausdruck einfügen können. Sie können hier auch die Sprachinjektion verwenden - definieren Sie Ihre eigene Methode, die Zeichenfolgenparameter verwendet, deklarieren Sie im Dialogfeld "IntelliLang-Optionen", dass Ihr Parameter ein regulärer Ausdruck ist - und Sie erhalten dort auch eine automatische Vervollständigung. Es ist unnötig zu erwähnen, dass falsche reguläre Ausdrücke hervorgehoben werden.Andere Eigenschaften
Es gibt nur wenige Funktionen, von denen ich nicht sicher bin, ob sie in Eclipse vorhanden sind oder nicht. Zumindest jedes Mitglied unseres Teams, das Eclipse verwendet, verwendet jedoch auch ein Zusammenführungswerkzeug, um lokale Änderungen mit Änderungen aus der Quellcodeverwaltung zusammenzuführen, normalerweise WinMerge. Ich brauche es nie - das Zusammenführen in IDEA ist genug für mich. Mit 3 Klicks kann ich eine Liste der Dateiversionen in der Quellcodeverwaltung sehen, mit 3 weiteren Klicks kann ich frühere Versionen oder frühere und aktuelle vergleichen und möglicherweise zusammenführen.
Es kann angegeben werden, dass ich alle .jars im
WEB-INF\lib
Ordner benötige , ohne jede Datei einzeln auszuwählen. Wenn also jemand eine neue .jar in diesen Ordner schreibt, wird sie automatisch abgerufen .Oben erwähnt sind wahrscheinlich 10% dessen, was es tut. Ich benutze Maven, Flex, Swing, EJB und viele andere Dinge nicht, daher kann ich nicht sagen, wie es ihnen hilft. Aber es tut.
quelle
Es gibt nur einen Grund, warum ich Intellij und nicht Eclipse verwende: Benutzerfreundlichkeit
Egal, ob es sich um Debugging, Refactoring oder automatische Vervollständigung handelt. Intellij ist viel einfacher zu verwenden, da konsistente Tastenkombinationen, verfügbare Optionen, wo Sie danach suchen usw. In Bezug auf die Funktionen wird es für Intellij schwierig sein, mit Eclipse Schritt zu halten Letzteres verfügt über viel mehr Plugins als Intellij und ist leicht erweiterbar.
quelle
Wahrscheinlich geht es nicht darum, was getan werden kann / nicht, sondern wie .
Zum Beispiel haben beide einen Editor, der von Dock-Panels für Projekt, Klassenpfad, Ausgabe, Struktur usw. umgeben ist. Wenn ich jedoch in Idea anfange, all diese Ausfälle automatisch einzugeben, kann ich mich auf den Code selbst konzentrieren. In Eclipse bleiben alle diese Bereiche geöffnet, sodass mein Editorbereich sehr verkleinert ist, etwa 1/5 des gesamten sichtbaren Bereichs. Also muss ich die Maus greifen und klicken, um in diesen Bereichen zu minimieren. Dies den ganzen Tag zu tun, ist eine sehr frustrierende Erfahrung in Eclipse.
Das genaue Gegenteil passiert mit dem Ansichtsausgabefenster. In Idea führt das Ausführen eines Programms das Ausgabefenster / -fenster aus, um die Ausgabe des Programms anzuzeigen, selbst wenn es zuvor minimiert wurde. In Eclipse muss ich erneut mit der Maus nach der Registerkarte "Ausgabe" suchen und darauf klicken, um meine Programmausgabe anzuzeigen, da das Ausgabefenster / -fenster wie alle anderen Fenster nur ein weiteres ist, in Idea jedoch behandelt wird eine besondere Art: "Wenn der Benutzer sein Programm ausführen möchte, ist es sehr wahrscheinlich, dass er die Ausgabe dieses Programms sehen möchte!" Es scheint so natürlich, wenn ich es schreibe, aber Eclipse schlägt in diesem grundlegenden Konzept der Benutzeroberfläche fehl.
Wahrscheinlich gibt es dafür eine Verknüpfung in Eclipse (Ausgabefenster beim Bearbeiten automatisch ausblenden und beim Ausführen des Programms automatisch anzeigen), aber wie bei einigen anderen Funktionen muss die Verknüpfung in Foren, Online-Hilfe usw. gesucht werden, während in Idea etwas mehr " natürlich".
Dies kann für fast alle Funktionen wiederholt werden, die beide haben, Autovervollständigung, Zeilenumbruch, schnelle Dokumentationsansicht, alles. Ich denke, die Benutzererfahrung ist in Idea weitaus angenehmer als in Eclipse. Dann wird das Motto "Mit Vergnügen entwickeln" wahr.
Eclipse bearbeitet schnellere größere Projekte (+300 Jars und +4000 Klassen), und ich denke, IntelliJ Idea 8 arbeitet daran.
Das alles ist natürlich subjektiv. Wie können wir die Benutzererfahrung messen?
quelle
Idea 8.0 hat das schöne ctrl+shift+spacex 2, das die folgende automatische Vervollständigung ausführt:
beschließt zu
durch eine beliebige Anzahl von Ebenen von Gettern / Setzern.
quelle
Vergessen Sie nicht "mit Zwischenablage vergleichen".
Etwas, das ich in IntelliJ ständig benutze und das in Eclipse kein Äquivalent hat.
quelle
Meine Lieblingsverknüpfung in IntelliJ, die in Eclipse keine Entsprechung hat (die ich gefunden habe), heißt "Gehe zu Symbol". CTRL-ALT-SHIFT-NMit dieser Option können Sie Klassen, Methodennamen, Variablennamen usw. aus dem gesamten Projekt eingeben und aufteilen.
quelle
Ich habe versucht, wegen des neuen Android Studio zu IntelliJ zu wechseln. Aber ich bin jetzt sehr enttäuscht. Ich verwende Eclipse mit dem Code Recommanders Plugin. Hier ist ein einfaches Beispiel, warum Eclipse so großartig ist:
Ich möchte eine neue erstellen
SimpleTimeZone
.SimpleTimeZone
hat keinen Konstruktor mit null Argumenten.Ctrl + Space in Eclipse
Ctrl + Space in IntelliJ
In IntelliJ bekomme ich keine Informationen darüber, welche Art von Konstruktoren
SimpleTimeZone
hat.Nach Enterin Eclipse
Ich erhalte den zuvor ausgewählten Konstruktor mit vordefinierten Variablennamen. Und ich kann die Art jedes Arguments sehen. Mit Code Recommanders errät Eclipse den richtigen Konstruktor anhand der zuvor definierten Variablentypen im aktuellen Bereich und füllt den Konstruktor mit diesen Variablen.
Nach Enterin IntelliJ passiert nichts. Ich bekomme einen leeren Konstruktor. Ich muss drücken Ctrl + P, um die erwarteten Argumente zu sehen.
quelle
Wenn Sie den Cursor auf eine Methode haben, CTRL+SHIFT+Iwird die Methodenimplementierung angezeigt. Wenn es sich bei der Methode um eine
interface
Methode handelt, können Sie die Implementierungen mit Aufwärts- und Abwärtspfeilen durchlaufen:Wo | ist (zum Beispiel) wo sich Ihr Cursor befindet.
quelle
IntelliJ hat einige ziemlich fortgeschrittene Code-Inspektionen (vergleichbar, aber anders als FindBugs).
Obwohl ich ein FindBugs-Plugin bei der Verwendung von IntelliJ ernsthaft vermisse (Die Eclipse / FindBugs-Integration ist ziemlich cool).
Hier ist eine offizielle Liste der von IntelliJ unterstützten CodeInspections
EDIT: Endlich gibt es ein Findbugs-Plugin für IntelliJ. Es ist noch ein bisschen Beta, aber die Kombination aus Code Inspections und FindBugs ist einfach fantastisch!
quelle
Weit, weit, weit mehr Refactorings.
quelle
Eine Sache, die ich regelmäßig benutze, ist das Setzen eines Haltepunkts, aber dann das Steuern dessen, was er tut. (Bei meinem letzten Job haben fast alle anderen Eclipse verwendet ... Ich erinnere mich, dass ich überrascht war, dass niemand in Eclipse herausfinden konnte, wie das geht.)
Beispielsweise kann der Haltepunkt nicht tatsächlich angehalten werden, sondern nur eine Nachricht an der Konsole protokollieren. Das heißt, ich muss meinen Code nicht mit "System.out.println (...)" verunreinigen und dann neu kompilieren.
quelle
System.out.println("here"); false
drucken, aber nicht brechen (letzte Anweisung ist ein boolescher Ausdruck, der bestimmt, ob wir brechen sollen)Es gibt viele Dinge, die die Idee auf viel einfachere Weise löst, oder es gibt kein Äquivalent:
Autocomplete-Aktionen: Ausführen ctrl+shift+a Wenn Sie eine Ideenaktion über die Tastatur aufrufen können, ohne sich an die Tastenkombination zu erinnern ... Denken Sie an Gnome-Do oder Launchy in Windows, und Sie haben die Idee! Diese Funktion unterstützt auch CamelCasing-Abkürzungen;)
Regal: Ermöglicht es Ihnen, einige Codeteile einfach auseinander zu halten und sie dann über den Diff-Viewer zu überprüfen.
Lokale Geschichte: Es ist viel besser verwaltet und einfacher.
SVN-Anmerkungen und Verlauf: Einfacher zu überprüfen, und Sie können den Verlauf auch nur für einen solchen Teil einer gesamten Quelldatei anzeigen.
Überall automatisch vervollständigen, z. B. in den Fenstern Ausdrucksausdruck und Haltepunktbedingung.
Maven-Integration ... viel, viel einfacher und gut integriert.
Refaktoren, die viel näher an der Hand liegen, z. B. Einfügen von Schleifen, Umschließen / Umwandeln, Umbenennen und Hinzufügen von Variablen.
Finden Sie viel mächtig und gut organisiert. Auch bei großen Projekten
Sehr stabil, um mit mehreren Zweigen eines großen Projekts gleichzeitig zu arbeiten (als ehemaliger Bugfixer von 1,5 GB durch Zweigstellenquellen und die Notwendigkeit, gleichzeitig in ihnen zu arbeiten, zeigte die Idee seine grundsoliden Fähigkeiten).
Sauberere und einfachere Oberfläche ...
Und einfacher nur mit der Tastatur zu bedienen, ohne die Notwendigkeit, die Maus für viele einfache Aufgaben zu verwenden, Zeit zu sparen und sich mehr auf den Code zu konzentrieren ... wo es darauf ankommt!
Und jetzt, als OpenSource ... wird die Idea-Benutzerbasis exponentiell wachsen.
quelle
Strukturelles Suchen und Ersetzen.
Suchen Sie beispielsweise nach etwas wie:
Dabei ist $ string $ ein Literal und $ expr $ ein Ausdruck vom Typ my.package.and.Class. Ersetzen Sie ihn dann durch:
quelle
Mein Timing mag in Bezug auf diesen Thread etwas abweichen, aber ich musste nur antworten.
Ich bin ein großer Eclipse-Fan - ich benutze es seit seinem ersten Auftritt. Ein Freund sagte mir damals (vor mehr als 10 Jahren), dass es ein Spieler sein würde. Er hatte recht.
Jedoch! Ich habe gerade angefangen, IntelliJ zu verwenden, und wenn Sie keine Änderungslisten gesehen oder verwendet haben, verpassen Sie den Programmierhimmel.
Die Möglichkeit, meine geänderten Dateien (in meinem Entwicklungszweig ala clearcase) zu verfolgen, war etwas, wonach ich in einem Plugin für Eclipse gesucht habe. Intellij verfolgt alle Ihre Änderungen für ein einziges Commit, ganz einfach. Sie können geänderte Dateien mit benutzerdefinierten Listen isolieren. Ich verwende das für Konfigurationsdateien, die lokal eindeutig sein müssen, aber beim Synchronisieren oder Vergleichen mit dem Repository ständig markiert werden. Wenn ich sie in einer Änderungsliste aufführe, kann ich sie überwachen, aber ordentlich verstauen, damit ich mich auf die tatsächlichen Ergänzungen konzentrieren kann Ich mache.
Außerdem gibt es ein Commit Log-Plugin, das einen Text aller Änderungen für diejenigen SCCS ausgibt, die nicht in Ihre Bug-Tracking-Software integriert sind. Durch Einfügen des Protokolls in den Arbeitsverlauf eines Tickets werden die Dateien, ihre Version, Datum / Uhrzeit und die Verzweigung / Tags erfasst. Es ist verdammt cool.
All dies könnte über Plugins (oder zukünftige Verbesserungen) in Eclipse unterstützt werden, wette ich; Intellij macht dies jedoch zu einem Kinderspiel.
Schließlich freue ich mich sehr über die Mainstream-Liebe zu diesem Produkt - die Tastenanschläge, also ist es schmerzhaft, aber es macht Spaß.
quelle
Der IntelliJ-Debugger verfügt über eine sehr praktische Funktion namens "Ausdruck auswerten", die bei weitem besser ist als der Eclipses-Anhänger. Es hat die vollständige Code-Vervollständigung und ich halte es für allgemein "nützlicher".
quelle
Für mich sind es tausend kleine Dinge. Einige der Makros, das GUI-Layout im Allgemeinen in Eclipse finde ich schrecklich. Ich kann in Eclipse nicht mehrere Projekte in verschiedenen Fenstern öffnen. Ich kann mehrere Projekte öffnen, aber dann tauscht das ansichtsbasierte System beim Wechseln von Dateien eine Reihe von Dingen gegen mich aus. Die Code-Inspektionen von IntelliJ scheinen besser zu sein. Die Popup-Helfer zur Behebung häufiger Probleme sind nett. Viele einfache Usability-Dinge wie die Seitenleiste, in der ich über einen Hot Spot schweben kann, und die mir jede implementierende Unterklasse einer Methode oder die Methode, die ich implementiere, und von wo aus sagt.
Wann immer ich Eclipse verwenden oder beobachten musste, scheint Eclipse die meisten Dinge zu tun, die ich in IntelliJ tun kann, aber es dauert länger und es ist klobiger.
quelle
Variable einführen. ( Ctrl+Alt+Vunter Windows, Cmd+Alt+Vunter OSX)
Nehmen wir an, Sie rufen eine Methode auf.
service.listAllPersons()
Hit Ctrl+Alt+Vund Enter, und eine Variable für den Rückgabewert des Methodenaufrufs wird eingefügt:Spart Ihnen die Eingabe und Sie müssen den Rückgabetyp der aufgerufenen Methode nicht überprüfen. Besonders nützlich bei der Verwendung von Generika, z
[Variable einführen]
(Natürlich können Sie den Namen der Variablen leicht ändern, bevor Sie sie treffen. Enter)
quelle
control+1
(die offensichtlichste Schlüsselbindung der Welt, wie?), Schlägt dies Dinge vor, die Sie an der aktuellen Cursorposition tun können, ähnlich wie bei IDEA. Es werden beispielsweise "Lokal zuweisen", "Feld zuweisen" und andere Optionen aufgelistet.control+2, L
ist die Abkürzung dafür.ctrl+2, L
den Typ der erstellten Variablen entweder in den Typ auf der rechten Seite (standardmäßig) oder in einen beliebigen Supertyp ändern: Der Variablentyp kann mit TAB ausgewählt werden.IntelliJ unterstützt Intellisense und Refactoring von Code in jspx-Dokumente.
quelle
Für mich ist die Maven-Unterstützung von IDEA, insbesondere in Version 9, unübertroffen. Die schnelle Synchronisierung des Projekts mit dem Maven-Modell ist einfach fantastisch und macht die Entwicklung angenehm.
quelle
Intellij hat ein weit überlegenes SVN-Plug-In als Subversive oder Subclipse und es funktioniert! Über die Zeit, die wir mit dem Zusammenführen von Quelldateien mit Eclipse verschwendet haben, muss nicht nachgedacht werden. Dies ist kein Problem mit IntelliJ, da das Plugin Ihnen viel mehr hilft.
Auch das Subclipse-Plugin ist unzuverlässig - wir haben regelmäßig Fälle, in denen das Plugin nicht glaubt, dass von anderen Entwicklern Code in SVN eingecheckt wurde, aber es gibt - der CI-Server hat sie verarbeitet!
quelle
VIM Emulator. Dieses Plugin bietet eine nahezu vollständige vi / vim / gvim-Emulation beim Bearbeiten von Dateien in IDEA. Folgende Funktionen werden unterstützt:
Einige Kommentare zu diesem Plugin von http://plugins.jetbrains.net/plugin/?id=164
Ich kann aufgrund dieses Plugins nicht sehen, dass ich jemals zu einer anderen Idee zurückkehren werde. Das Beste aus beiden Welten ... Super!. Das hat mir in allen IDEs gefehlt.quelle
Einer der guten Punkte ist meiner Meinung nach die Abhängigkeitsstrukturmatrix : http://www.jetbrains.com/idea/features/dependency_analysis.html#link0
Auf der Website von Lattix (einem eigenständigen Produkt) finden Sie eine gute Einführung in die Verwendung und die Vorteile von DSM: http://www.lattix.com/files/dl/slides/s.php?directory=4tour
quelle
Ein paar andere Dinge:
quelle
Zwei Dinge, die IntelliJ tut, die Eclipse nicht tut, sind für mich sehr wertvoll:
Methodentrennzeichen: Diese schwachen grauen Linien zwischen den Methoden machen viel Code lesbarer
Text-Anti-Aliasing: Lässt Code in der IDE so gut aussehen
quelle
Eine sehr nützliche Funktion ist die Möglichkeit, ein Maven-Reaktorprojekt teilweise so zu erstellen, dass nur die Teile enthalten sind, die Sie benötigen.
Um dies ein wenig klarer zu machen, betrachten Sie den Fall einer Sammlung von WAR-Dateien, bei denen viele gemeinsame Ressourcen (z. B. JavaScript, Spring-Konfigurationsdateien usw.) mithilfe von verwendet werden Overlay-Technik gemeinsam genutzt werden. Wenn Sie an einer Webseite arbeiten (die in Jetty ausgeführt wird) und einen Teil des Overlay-Codes ändern möchten, der in einem separaten Modul enthalten ist, müssen Sie normalerweise Jetty stoppen, den Maven-Build ausführen, Jetty erneut starten und fortsetzen. Dies ist bei Eclipse und fast jeder anderen IDE der Fall, mit der ich gearbeitet habe. Nicht so bei IntelliJ. Mit den Projekteinstellungen können Sie definieren, welche Facette von welchem Modul Sie in einen Hintergrund-Build aufnehmen möchten. Folglich erhalten Sie einen Prozess, der nahtlos erscheint. Sie ändern so gut wie jeden Code im Projekt und er ist sofort verfügbar, nachdem Sie den Browser aktualisiert haben.
Sehr ordentlich und sehr schnell.
Ich könnte mir nicht vorstellen, ein Frontend in so etwas wie YUI-Backing auf DWR / SpringMVC ohne es zu codieren.
quelle
Präambel zu meiner Antwort: Meine Verwendung von Eclipse ist begrenzt. Wir brauchten eine Java-IDE, um sowohl unter Windows als auch unter Mac zu arbeiten, und der Mac-Port wurde von Tag zu Tag langsamer. Das war vor Jahren und ich bin sicher, dass es jetzt in Ordnung ist. Aber das hat uns dazu gebracht, zu IntelliJ zu wechseln, und wir waren damit zufrieden.
Nun zu meiner Antwort: Ein großer Unterschied, den ich noch nicht erwähnt habe, ist, dass der technische Support mit IntelliJ / Jet Brains besser ist. Wir senden eine E-Mail an JetBrains und erhalten in weniger als einer Stunde eine endgültige Antwort. Das Suchen nach Antworten auf Eclipse-Probleme führt zu den üblichen Antworten "Du dummer Idiot" (normalerweise eine kleine Anzahl der Antworten) zusammen mit der viel größeren Anzahl aufschlussreicher, hilfreicher Antworten. Aber es braucht einige Sortierung, um die richtige Antwort zu erhalten.
quelle
Etwas, das ich in IntelliJ ständig benutze, ist das Refactoring während der Eingabe. Ich habe Klassen aus einem Ausdruck (ursprünglich in Eclipse geschrieben) mit beiden IDEs neu geschrieben und etwa 40% weniger Tastenanschläge / Mausklicks verwendet, um dieselben Klassen in IntelliJ als in Eclipse zu schreiben.
Ich würde Eclipse erst verwenden wollen, wenn sie so viel Refactoring mit unvollständigen Codeteilen unterstützen.
Hier ist eine längere Liste der Funktionen in IntelliJ 8.0 / 8.1 [ http://www.jetbrains.com/idea/features/index.html]
quelle
Es gibt eine Sache, die IntelliJ viel besser macht als Eclipse und die Ihre Taschen leer macht!
Ich bevorzuge es jedoch und ein großer Vorteil gegenüber Eclipce ist die Art und Weise, wie es mit dem Dateisystem synchronisiert wird, für große Projekte und langsame Computer (ja, in Arbeitsumgebungen sind die PCs viel langsamer als unsere zu Hause). Eclipse scheint dies zu tun kämpfen, wo IntelliJ schneller zu sein scheint, wenn auch mit einer langsameren anfänglichen Indizierungszeit.
Die IntelliJ Community Edition macht die Verwendung natürlich kostenlos, aber Sie möchten bald diese zusätzlichen Umgestaltungen und netten kleinen Extras, die nicht in der CC-Edition enthalten sind.
Meiner Meinung nach ist es im Allgemeinen eine bessere Benutzererfahrung, aber ob es die Kosten wert ist, ist eine Frage, die jeder Entwickler selbst beantworten muss.
Aber seien wir dankbar, dass wir derzeit bis zu drei großartige IDEs für Java haben, wobei NetBeans immer besser wird.
quelle
Datenflussanalyse : Interprozedurale Rückflussanalyse und Vorwärtsflussanalyse, wie hier beschrieben . Meine Erfahrungen basieren auf der Community Edition, die Datenflussanalysen ziemlich gut durchführt. Es ist in einigen Fällen fehlgeschlagen (es wurde abgelehnt, etwas zu tun), wenn der Code sehr komplex ist.
quelle
Zuallererst liebe ich Intellij. Es gibt mindestens hundert Merkmale, die der Eclipse fehlen. Ich spreche von Größenordnungen in Bezug auf Zuverlässigkeit und Intelligenz, die keine Übertreibung beschreiben kann, wenn es um Refactoring, Umbenennung, Umzug und andere bereits erwähnte Dinge geht.
ABER es gibt eine Sache, die Intellij nicht zulässt, was Eclipse tut. Es ist nicht möglich, mehrere Projekte gleichzeitig unter derselben VM auszuführen.
Wenn Sie separate Projekte für Front, Middle, Core, Agents usw. haben, in denen alle miteinander interagieren müssen, können Sie afaik nicht schnell gleichzeitig ändern und debuggen. Die einzige Möglichkeit, mit der ich derzeit fertig werde, besteht darin, Ant-Skripte zu verwenden, um Jars in abhängigen Projekten bereitzustellen und zu aktualisieren, oder Maven zu verwenden.
Mit Eclipse können mehrere Projekte unter einer ide vm-Instanz debuggt werden.
quelle