Der IntelliJ-Thread

Hört sich so an, als wenn das Projekt ein Maven- oder gradle-Projekt ist. Dann werden die Module mit der Buildkonfiguration synchronisiert. Wenn du ein Modul aus den Einstellungen entfernst, wird es nicht aus der Buildkonfiguration gelöscht. Wenn du hingegen das Modul aus der Buildkonfiguration entfernst, taucht es auch nicht mehr in den Moduleinstellungen auf.

[QUOTE=TMII]Ändert aber nichts das ich IntelliJ beengend empfinde. Auch die Tatsache das es keinen Workspace&Projekte gibt sondern nur Module, kann man das auch umstellen?
Besonderst wenn ich in IntelliJ eine Library einbinden möchte, dann muss ich die als Library Modul exportieren und dann ins neue Projekt importieren. Problem: Die Module werden nicht referenziert sondern kopiert. o_O"[/QUOTE]

Es spricht absolut nichts dagegen, wenn einem eine IDE besser gefällt als die andere. Aber diese typische Einstellung ist murks: “Ich habe IntelliJ ausprobiert, und es funktioniert nicht wie Eclipse”. Man versucht dann seinen Eclipse-Workflow 1:1 umzusetzen und wendet sich schnell ab, weil es eben nicht möglich ist.

Zum ersten Problem: Der Unteschied zwischen Workspace/Projekt (Eclipse) und Projekt/Module (IntelliJ) ist größtenteils nur der Name. Ich habe z.B. ein “Uni”-Projekt, das ich wie ein Eclipse-Workspace behandle (New > Project > Empty Project). Das heißt ich hab mehrere Module (= Projekte in Eclipse). Der einzige mir bekannte Unterschied ist, dass ich diese Module (=Projekte) nicht einfach schließen kann. Ich muss sie ganz aus dem Projekt entfernen und muss über File > Open navigieren um es wieder zu öffnen. Inzwischen finde ich es aber besser, ein Projekt (mit evtl. Untermodulen) pro “echtes” Projekt zu erstellen. Man kann dann bequem zwischen den Projekten hin- und herschalten, z.B. mit einem Rechtsklick auf das IntelliJ-Symbol in der Taskleiste. Ich habe zusätzlich “immer im neuen Fenster öffnen” aktiviert, sodass ich ein Projekt nicht erst schließen muss, um ein neues zu öffnen.

Mit Abhängigkeiten hatte ich anfangs auch ein bißchen Probleme (Verständnis von Library vs “normale” Abhängigkeiten, wie Module, Jars, …), aber das was du beschrieben hast musste ich definitiv noch nie machen.

Ahhhhhhh, das erklärt einiges! Bin schon wahnsinnig geworden, ich denke mal jeder kennt dieses wahnsinnige Gefühl (negativ) wenn man immer wieder versucht etwas zu ändern und am Ende wird einfach alles wieder zurückgesetzt.
Solche kleinen Fitzeleien; das kann einen verrückt machen, hatte das schon bei Stackoverflow mal gefragt aber dort kriegt man zu solchen (Java)Themen eher selten eine Antwort.
Super, danke.

Diese Einstellung ist murks, da gebe ich dir recht, aber nur menschlich aus Erfahrung zu handeln und kaum einer kann sich dagegen wehren. Und wenn die angesammelte Erfahrung nicht ausreicht um an etwas assoziativ ähnlichem zu arbeiten, dann wird das nunmal als stark negativ empfunden.
Und ich habe IntelliJ nicht mal so „ausprobiert“, sondern arbeite geschäftlich bereits seit ein paar Wochen damit, ändert nichts daran dass sie bei mir auf den unteren Plätzen landet von den IDEs die ich bis jetzt verwendet hatte.
Das könnte sich aber durchaus ändern

  • nach dem Tip von dir oben wie man mehr Leistung herausholt. Noch nicht ausprobiert bis jetzt. Diesen Tip findet man nicht wenn man „IntelliJ slow“ googlet.
    Dann wird man nur darauf verwiesen mal seine Systemspecs zu posten. Aber 4GB RAM und ein 4Kern i5Prozessor (mobile) sollten eigentlich ausreichen zum entwickeln ohne dass die IDE immer wieder für ein paar Minuten und sei es Sekunden den Workflow unterbricht!
    Also [eine IntelliJ Lizenz (+500€) + ein neues Thinkpad (+1000€) * ~40]€, das rechnet sich nicht und entsprechend verstehe ich auch nicht warum jemand dafür bezahlen würde wenn man sowas auch kostenlos und mindestens genauso gut haben kann :wink:
  • und auch da jetzt mit dem Vorschlag von @cmrudolph ein weiteres Problem gelöst wäre.

Bleibt das Problem: Wie aktualisiere ich Module? In anderen IDEs kann man häufig andere Projekte als Bibliothek mit einbinden/referenzieren.
In IntelliJ habe ich dafür bisher nur die Library-Module gefunden, dabei wird das andere Projekt aber nicht referenziert sondern komplett neu kopiert. Ändere ich jetzt das ursprüngliche Library-Modul dann bekommen alle anderen Module davon nichts mit weil jedes Modul seine eigene Kopie von dem Modul in seinem Projekt hat.
Eine „aktualisiere Modul“ funktion habe ich bisher nicht gefunden.

Gegen den Begriff „Modul“ habe ich nichts, im Gegenteil, Module sollte man auch in anderen IDEs einführen und IntelliJ „Projekte“ - also ein Projekt das aus Modulen besteht.
Denn alle arbeiten an einem gemeinsamen Projekt, aber jedes Team hat sein eigenes Modul und die Module bilden gemeinsam das Programm → Wenn dass denn auch genau so funktionieren würde. Wie gesagt, wenn ich in jedem einzelnen Projekt die Library jedesmal per Hand neu einsetzen muss… ?
(Vielleicht wird es mal an der Zeit mein eigenes IDE Plugin zu schreiben.)

Sorry, aber das ist der allererste Eintrag für genau diese Suchanfrage und es liefert genau die selbe Antwort wie von mir, sogar noch bißchen detaillierter.

Du rechnest den Preis deines Rechners zum Preis des Tools? Dein Thinkpad hast du so oder so, auch wenn du Eclipse nutzt. Ansonsten müsstest du noch alle anderen Firmenausgaben betrachten.
Eine kleine Rechnung von mir: 500€ für eine Firmenlizenz (in den nächsten Jahren dann deutlich billiger), das sind 42€ pro Monat pro Entwickler im ersten Jahr. Wenn dich ein Entwickler 100€ die Stunde kostet, und du mehr als eine halbe Stunde im Monat mit dem Tool rausholst, hast du das Geld wieder drin. Und aus eigener Erfahrung kann ich sagen, dass eine halbe Stunde im Monat deutlich unter der tatsächlichen Steigerung liegt. Natürlich müsste man noch die Zeit für die Umstellung und bla abziehen, aber ich will hier keine genaue Kosten-Nutzen-Analyse anfangen. Wenn firmen wie Google umsteigen, kann man davon ausgehen, dass es sich rechnen kann.

Bleibt das Problem: Wie aktualisiere ich Module?

Ich habe das Problem nicht ganz verstanden, deswegen versuche ich es in eigene Worte zu fassen. Ihr habt ein Modul A und ein Modul B, das von A abhängt. Vorausgesetzt, beide sind schon in meinem Projekt drin, gehe ich zu Project Settings > Modules, wähle Modul B aus, Dependencies > (+) > Module Dependency und wähle Modul A aus. Genau diese Struktur habe ich in einem Projekt auch, und wenn sich in Projekt A etwas ändert, wird B das sofort mitbekommen (keine Aktualisierung notwendig). Angenommen, man möchte nun in Projekt C ebenfalls das Modul A nutzen, dann könnte man dort über Project > Open > ModuleA.iml das Modul öffnen (= keine Kopie auf der Festplatte), und es genau so referenzieren. Du willst aber wahrscheinlich das Modul nutzen, ohne es im Projekt öffnen zu müssen. Da ich diesen Fall noch nicht hatte, kann ich dir auf die Schnelle auch keine Lösung anbieten, aber vllt. kannst du schon mit der o.g. Idee etwas anfangen.

Ich kann jetzt nicht bei IntelliJ mitreden, da ich nur phpStorm und CLion nutze. Aber bei phpStorm kann ich mir mitterweile keine Alternative mehr vorstellen. Das Tooling im phpStorm ist einfach extrem super. Wenn man sich die passenden Plugins holt, ne gute Keymap einrichtet, sowie noch mehr Live Templates bastelt.

Was meint ihr zu den aktuellen Änderungen im Lizenzmodell?

Offener Brief: https://www.jetbrains.com/company/press/pr_180915.html
FAQ: https://sales.jetbrains.com/hc/de/sections/201351931-Das-neue-Lizenzmodell-und-die-JetBrains-Toolbox

Sieht so aus, als hätten sie nach dem Shitstorm doch noch die Kurve bekommen zu haben, insbesondere durch die Fallback-Lizenz und die Bestandskunden-Rabatte.

Ich habs vorher schon nicht so schlimm gefunden.

Die Fallbacklizenzen sind etwas tricky, da diese nur die Version berechtigen, die am Anfang der 12-Monats Periode erhältlich waren.

Zweites Jahr geschenkt, ich find’s gut :smiley:

Hab gestern auch ne Email erhalten: Muss ich den Scheiß lesen?

Wenn ich das richtig sehe, erhalte ich als Besitzer einer Ultimate-Lizenz für $199 zwei Jahre lang ALLE Produkte?

Reicht mir erst ma - wer weiß ob ich zwei Jahren nicht schon ein Filmstar bin.

[QUOTE=Bleiglanz]
Wenn ich das richtig sehe, erhalte ich als Besitzer einer Ultimate-Lizenz für $199 zwei Jahre lang ALLE Produkte?[/QUOTE]

Genau, und im dritten Jahr dann $149 weiter für jedes Jahr.

Muss ich irgendwas aktiv machen? Ich wollte mal mein Konto umstellen, sodass ich das neue Lizenzmodell schonmal “vorbereitet” hab. Find aber nix entsprechendes auf die schnelle.

Steht in der FAQ:

Kann ich das neue Lizenzmodell schon vor dem 2. November 2015 kaufen?

Nein, das neue Lizenzmodell wird es erst ab dem Umstellungsdatum geben. Alle Einkäufe, welche davor getätigt werden, fallen unter das bestehende Lizenzmodell

Heute ist IDEA 15 rausgekommen. Keine überwältigenden Features für ein Major-Realease, aber dennoch ein paar nützliche Sachen dabei.

Wer eine aktuelle Lizenz besitzt, muss noch nicht auf das neue Lizenzmodel umsteigen:

That said, all customers with valid upgrade subscriptions can still upgrade to IntelliJ IDEA 15 at no cost according to their license terms. You do not need to switch to the new model while your upgrade subscription is still active. If your upgrade subscription is expired, you can check out the offer for existing customers switching to the new license model on the IntelliJ IDEA pricing page.

Mein neuer Blog-Eintrag:

[ul]
[li] Recommended IntelliJ IDEA Settings
[/li][/ul]

IntelliJ IDEA überholt Eclipse (JRebel Umfrage, 2000 Teilnehmer)

@darekkay : unabhängig von der Aussage, dass IntelliJ IDEA jetzt Eclipse überholt hat, ist der Rest der Umfrageergebnisse ebenfalls höchst interessant.

Hier oder in die News? Naja, mal hier:

Hier sind die neuen Features veranschaulicht (2016.1 bis 2016.3).

Ich versuche gerade IntelliJ zu bewegen, Kotlin-Code sowohl zu Byte-Code wie auch zu JavaScript zu compilieren. Ich habe schon ein wenig gegoogelt, scheint aber nicht ohne weiteres möglich zu sein.

Wenn ich z.B. versuche, zwei Module für Kotlin-JVM und Kotlin-JS aufzusetzen, und das src-Verzeichnis des ersten als zusätzliches src-Verzeichnis des zweiten ins build.gradle zu schmuggeln, spuckt IDEA.

Hat das schon mal jemand hinbekommen?

Quick Tip: Mit IntelliJ lassen sich SQLite-Dateien öffnen und bearbeiten, inkl. voller SQL-Unterstützung. Einfach eine neue Datenbank als DataSource Sqlite (Xerial) hinzufügen und die entsprechende Datei auswählen. Das habe ich eher zufällig herausgefunden, als ich eben die Firefox-DB anpassen musste, um den favicon-Cache zu entfernen (WTF…).