it-swarm.it

In che modo IntelliJ è meglio di Eclipse?

So che ci sono state domande come Qual è il tuo editor/IDE preferito? , ma nessuno di loro ha risposto a questa domanda: Perché spendere soldi per IntelliJ quando Eclipse è gratuito?

Personalmente sono un grande fan di IntelliJ, ma non ho mai provato Eclipse. Ho usato IntelliJ per progetti che erano Java, JSP, HTML/CSS, Javascript, PHP e Actionscript e l'ultima versione, 9, è stata eccellente per tutti.

Molti colleghi in passato mi hanno detto che credono che Eclipse sia "praticamente la stessa" di IntelliJ, ma, per contrastare quel punto, mi sono occasionalmente seduto dietro uno sviluppatore che utilizza Eclipse che è comparativamente inefficiente (per ottenere approssimativamente lo stesso compito) e non l'ho mai provato con IntelliJ. Potrebbero essere alla pari funzionalità per funzione ma le funzionalità possono essere rovinate da una scarsa esperienza utente e mi chiedo se è possibile che IntelliJ sia più facile da raccogli e scopri le funzionalità che fanno risparmiare tempo.

Per gli utenti che hanno già familiarità con Eclipse, oltre al costo reale di IntelliJ, c'è anche il costo del tempo dedicato all'apprendimento della nuova app. Eclipse attira molti utenti che semplicemente non vogliono spendere $ 250 per un IDE.

Se IntelliJ potesse davvero aiutare il mio team a essere più produttivo, come potrei venderlo a loro? Per quegli utenti che hanno provato entrambi, sarei molto interessato a pro o contro specifici in entrambi i modi.

67
Nicole

Lavoro con Intellij (9.0.4 Ultimate) ed Eclipse (Helios) ogni giorno e Intellij batte Eclipse ogni volta.

Come? Perché Intellij indicizza il mondo e tutto funziona in modo intuitivo. Posso navigare nella mia base di codice molto, molto più velocemente in Intellij. F3 (definizione del tipo) funziona su tutto - contesti Java, JavaScript, XML, XSD, Android, Spring. Il refactoring funziona ovunque ed è totalmente affidabile (ho avuto problemi con Eclipse che rovina la mia fonte in modi strani). CTRL + G (dove usato) funziona ovunque . CTRL + T (implementazioni) tiene traccia delle istanze più comuni che utilizzo e le mostra per prime.

I suggerimenti per il completamento del codice e la ridenominazione sono così intelligenti che solo quando torni su Eclipse ti rendi conto di quanto stava facendo per te. Ad esempio, considera di leggere una risorsa dal percorso di classe digitando getResourceAsStream("/ a questo punto Intellij ti mostrerà un elenco di possibili file che sono attualmente disponibili sul percorso di classe e puoi passare rapidamente a quello che desideri. Eclipse - no.

Il plug-in (pronto all'uso) di Spring per Intellij è di gran lunga superiore a SpringIDE principalmente a causa delle loro ispezioni del codice. Se ho perso le lezioni o scritto qualcosa di sbagliato, allora sto ottenendo un blocco rosso nell'angolo e inchiostro rosso proprio dove si trova il problema. Eclipse - un po ', una specie di.

Nel complesso, Intellij acquisisce molte conoscenze sulla tua applicazione e quindi utilizza tali conoscenze per aiutarti a scrivere codice migliore, più velocemente.

Non fraintendetemi, amo Eclipse a pezzi. Per il prezzo, non vi è alcun sostituto e lo consiglio ai miei clienti in assenza di Intellij. Ma una volta che ho provato Intellij, si è ripagato da solo entro una settimana, quindi l'ho comprato, e da allora ognuno dei principali aggiornamenti. Non ho mai guardato indietro.

63
Gary Rowe

Ho sentito che la differenza con IntelliJ è che sono molto più probabilità di correggere e chiudere bug che invii. Ciò potrebbe fare una grande differenza se c'è qualche bug di Eclipse che ti sta bloccando.

D'altra parte, non è possibile guardare gli IDE isolatamente; devi guardare l'ecosistema. Qui, penso che Eclipse abbia un vantaggio (simile al vantaggio di Firefox rispetto a Chrome *): ci sono molti più plug-in disponibili e gli sviluppatori hanno molte più probabilità di scrivere un plug-in Eclipse che altrimenti.

[Tangente: * Per Firefox sto pensando a Zotero e HTTPS-Everywhere. Uso entrambi Chrome e Firefox, ma alcune cose Chrome proprio non riesce a gestirlo. Inoltre, quando faccio volantini, ho davvero bisogno dell'anteprima di stampa.]

16
Macneil

di responsabilità
Questo è limitato a Android di Android (In Java di Java).

Sto arrivando a questo con una conoscenza limitata di Eclipse e IntelliJ entrambi; tuttavia, recentemente ho dovuto decidere un ambiente di sviluppo per Android. Sembrerebbe che la prima chiara scelta sarebbe quella di utilizzare Eclipse poiché Google lo supporta con il loro plug-in ADT. Sfortunatamente, ho trovato terribilmente ingombrante andare in giro da quando sono abituato a Visual Studio (2010, più recentemente 2012). Ho sempre usato ReSharper con Visual Studio, quindi ho deciso di provare IntelliJ. Dopo circa 10 minuti mi sono reso conto di aver preso la decisione giusta.

IntelliJ, come alcuni hanno affermato, indicizza tutto. L'intellisense è stata una gioia con cui lavorare e l'intelligenza che circonda i suggerimenti era eccellente. L'esperienza di debug che ho trovato un piacere e, onestamente, non potrei davvero vivere senza l'analisi del codice. So che molti puristi avrebbero un problema con quel genere di cose, ma non mi interessa. Devo distribuire progetti molto rapidamente per molte persone, quindi a volte è semplicemente bello eseguire il codice anaylsis e vedere cosa suggerisce il IDE. Che tu prenda o meno quei suggerimenti è un'altra storia ma io non ho trovato nulla di simile in Eclipse.

Alcuni sostengono anche che non esiste un Android nella versione corrente di IntelliJ. Questo è certamente il caso, ma non lo userei mai comunque. Sto eseguendo il debug su un dispositivo la maggior parte delle volte quindi non importa. Vedo l'interfaccia e ci gioco ogni volta che eseguo il programma. Comunque, da un ragazzo tradizionalmente "non Java" devo dire che Java è particolarmente bello rispetto a Eclipse.

13

È necessario dimostrare in modo vivido e senza dubbio che per le attività che è necessario svolgere su base giornaliera, IntelliJ consente una notevole quantità di tempo e sforzi risparmiati rispetto a Eclipse (e NetBeans).

Ciò richiederà di fare alcune ricerche per scoprire cosa potrebbe essere, e quindi costruire una dimostrazione che mostri questo alle persone che possono decidere come lavorare.

Il mio sospetto è che troverai un compito piuttosto difficile da fare, dato che Eclipse in questi giorni può fare abbastanza, ragionevolmente bene. Se trovi punti killer, per favore condividi - Sono sicuro che molti vogliono saperlo.

6
user1249

Intellij è migliore per molti motivi, non ultimo tema della darcula ... ma ce ne sono alcuni altri:

  • completamento automatico per i nomi dei metodi: offre ciò che desidero chiamarli convenzione usign.
  • completamento automatico di jquery molto facile da configurare (mai funzionante con Eclipse).
  • Completamento automatico EL in jsp's
  • l'integrazione e l'ispezione della molla mostrano errori nell'installazione (ad es. nomi di bean duplicati)
  • completamento automatico per mappature controller/url
  • facile da usare e configurare integraion di database (rileva automaticamente l'origine dati) e ovviamente il completamento automatico
  • ispezioni del codice, come checkstyle e findbugs, integrate e facili da usare.
  • jslint e jshint integrati e facili da usare.
  • l'integrazione maven funziona immediatamente.
  • Tutte le impostazioni sono dove ti aspetti che siano.
  • Non rileva errori in modo errato, ho usato per ottenere errori evidenziati in eclisp dove non ce n'erano e dovevo riavviare.
  • Completamento automatico e rilevamento errori in file XML (un grosso problema con la primavera)
  • i mapping di ibernazione hanno il completamento automatico abilitato (i campi di un pojos sono forniti come opzione di completamento automatico nel riquadro di mapping - gr8).
  • ctrl + alt + clic apre l'impianto, non la dichiarazione
  • Hotdeploy: puoi facilmente configurarlo in modo che quando intellij perde la concentrazione l'app viene distribuita automaticamente - I alt tab sul mio browser e il nuovo codice (sia esso classi, javascript o jsps) è già distribuito.
  • un client di riposo integrato senza necessità di ulteriore configurazione.
  • client di chat integrato che consente i puntatori di codice - in realtà molto utili.
  • visualizzazione di persistenza, facile accesso a tutte le entità e impostazioni jpa/ibernazione.
  • correzione di bug, correzione di bug effettiva responsabile Ho inviato una serie di bug e sono stati corretti prontamente.
  • ispezione e completamento automatico nei tuoi documenti XML, molto molto utile con la primavera (so che questa è una ripetizione ma è grandiosa, ha rivelato una miriade di errori).

Lo uso da 3 settimane ormai, quindi spero di trovarne un altro presto; ne vale la pena.

Oh, un'altra cosa in realtà si apre ... Avevo un bug nella mia Eclipse che significava che si sarebbe rifiutato di aprire. Solo "google Eclipse non si apre" ci sono un sacco di collegamenti. Mi sento stupido per aver impiegato così tanto tempo a cambiare.

5
NimChimpsky

Google ha recentemente annunciato che si sta spostando Android su IntelliJ.

C'è una ragione per questo. Ho usato Eclipse come ambiente per insegnare corsi negli ultimi anni in C++ e Android/Java. Ho visto la qualità di Eclipse deteriorarsi a qualcosa che si avvicinava inutilmente. Nell'autunno 2012, ho adottato Eclipse Juno per il mio corso ed è stato un disastro immeritato. Non solo il programma era incredibilmente lento e carico di bug, ma aveva anche diverse modifiche all'interfaccia utente che erano al di là dello stupido. Ora lo uso come caso di studio in una cattiva progettazione dell'interfaccia utente.

Non posso raccomandare Eclipse a nessuno in questo momento. Il database dei bug è diventato così grande che non vi è alcuna possibilità che possano risolverne nemmeno una piccola parte.

3
Charles

Non conosco i solidi colpi per funzionalità, ma una cosa che ho scoperto con l'uso interno e esterno dell'ambiente IntelliJ per circa un decennio è che i team di progettazione di JetBrains hanno fatto un ottimo lavoro di entrambi con IDE "indicizza il mondo" e mantengono le funzioni di indicizzazione e di completamento automatico sia reattive che coerenti - in genere non ci penso, ma con la reattività più il numero delle scorciatoie da tastiera (e la possibilità di mappare di più), IntelliJ rende molto facile costruire "memoria muscolare" quando si utilizza l'editor.

Non è una cosa da poco quando puoi scrivere codice, completare automaticamente, compilare e testare senza lasciare le dita dalla tastiera e in un modo che non sembra una stereotipazione lenta Java app.

1
Chad Thompson