2009-09-16 8 views
5

Ho scaricato IntelliJ IDEA e iniziato con la valutazione di 30 giorni.Perché utilizzare Intellij o cosa fare durante la valutazione

Ora mi chiedo, perché dovrei usare IntelliJ per un semplice sviluppo java (quindi non Hibernate, JSP, ecc.)? Non sembra così diverso da eclipse o NetBeans, quindi spero che qualche guru di IntelliJ possa dare alcuni esempi di cose che IntelliJ può fare per giustificare l'investimento del denaro in esso. Sto cercando di utilizzare la valutazione per il suo massimo e non voglio perdere una funzione importante.

Un elenco di things possible in IntelliJ but not in eclipse è già disponibile, ma sono più interessato al flusso di lavoro giornaliero di alcune funzioni oscure che verranno utilizzate due volte al mese.

+11

"non ha un aspetto molto diverso ..." - si sa, da una distanza non riesco a capire la differenza tra cioccolato e cacca , o. :) – weiji

risposta

12

ho usato IntelliJ per circa 5 anni fa (dalla versione 4.5) e ho anche letto la maggior parte del libro di Manning "IntelliJ in Action" e ancora non mi considererei un guru. In realtà, volevo anche fare "plain old Java development" con esso, e onestamente devo dire che è abbastanza buono in questo. Come le altre risposte, posso solo dire che c'è un vantaggio preciso nella sua disponibilità che lo mette davvero in cima. Usiamo Eclipse anche qui al lavoro, e anche se non ho tanta esperienza, posso dirvi che ci sono sicuramente molte cose di base che mancano. Ho dedicato un po 'di tempo e impegno per imparare Eclipse, cercando come fare le cose di tutti i giorni che ho dato per scontato in IntelliJ, e per lo più non sono lì o sono implementate molto male. La roba del refactoring è sicuramente la cosa che aiuta molto.

A parte il refactoring, penso che ci siano solo un sacco di piccoli tocchi che lo rendono davvero utile. Credo che un esempio potrebbe aiutare a chiarire ...

Prova questa:

creare una nuova classe vuota. Sposta il cursore all'interno delle parentesi graffe e fai psvm e premi Ctrl-J - questo espande "psvm" in "public static void main (String [] args)". C'è un'intera lista di idiomi comunemente usati che questa scorciatoia gestirà (ed è anche configurabile).All'interno del blocco di codice principale, immettere questo codice:

public static void main(String[] args) { 
    int x = 1000; 
    sout 
} 

Alla fine del "sout", fare Ctrl-J di nuovo - vedrete un altro pop-up che ti permette di scegliere tra alcune diverse espansioni, ma in in generale questo si espande in "System.out.println (" ")" e utile posiziona il cursore tra le doppie virgolette (sono piccoli tocchi come questo che fanno davvero brillare, penso. "Confrontati con Visual Studio" IntelliSense "- un crock totale se me lo chiedi).

In ogni caso, backspace sulla prima virgoletta doppia - notare che elimina la doppia virgoletta corrispondente? Fa la stessa cosa anche con parentesi e parentesi. Penso che ci siano alcuni casi in cui preferisco che non lo faccia, ma la maggior parte delle volte aiuta molto. Torna alla modifica del codice: è sufficiente digitare x modo che il codice appare come segue:

public static void main(String[] args) { 
    int x = 1000; 


    // add a few blank lines here too - the need for 
    // this will be obvious a little later 

    System.out.println(x); 
} 

Ora, spostare il cursore sopra alla dichiarazione di x, e fare Maiusc-F6 - questo è il refactoring in- posto di dialogo (non so come chiamarlo, quindi l'ho appena inventato). Il nome "x" prende una casella colorata attorno ad esso e puoi iniziare a digitare un nuovo nome per questo - mentre digiti, anche tutti gli usi di quel nome vengono aggiornati dinamicamente. Un altro tocco pulito mi piace molto.

Prova questo: mettere una riga di commento veramente lungo da qualche parte, in questo modo:

// this is a really long comment blah blah blah i love to hear myself talking hahaha 

Ora che si decide il commento è troppo lungo, quindi si sposta il cursore al centro di essa da qualche parte e premi invio. IntelliJ inserirà la parte rimanente del commento con un "//" anteposto: "sa" questa è una continuazione del commento precedente, quindi la commenta per te. Un altro tocco pulito.

// this is a really long comment blah 
// blah blah i love to hear myself talking hahaha 

Un altro grande vantaggio che mi piace di IntelliJ rispetto a Eclipse è che è molto meno intrusivo - ho veramente odiato come Eclipse sarebbe riuscito a ottenere i popup in cima popup, e messa a fuoco del mouse sarebbe da qualche parte, ma il focus della tastiera è bloccato su qualcosa al di sotto, ecc. Penso che sia possibile lavorare in modo tale che questo genere di cose non avvenga, ma all'inizio mi ha infastidito immensamente. Ciò mi ricorda che in IntelliJ, se sposti il ​​cursore del mouse sul navigatore di pacchetti o file nel pannello di sinistra, quel pannello ottiene automaticamente il fuoco del mouse, così mi sono abituato a usare immediatamente la rotellina del mouse per guardarmi intorno. In Eclipse? Passate il mouse sopra, ma la messa a fuoco è rimasta nel riquadro di modifica, quindi è necessario fare CLIC con il mouse per trasferire lo stato attivo, quindi utilizzare la rotellina del mouse per guardarsi intorno. Come ho detto, sono molti piccoli tocchi come quello che aiutano la produttività.

Mentre si esegue la codifica, prestare attenzione alla barra di gronda sinistra per i simboli di tipo "lampadina" rossi sulla linea corrente - questo è IntelliJ che dice che ci sono possibili cose che può fare. Usa Alt-Invio per far apparire una piccola finestra di dialogo sul posto e ti dirà cosa può fare automaticamente. Supponiamo che tu digiti una definizione di metodo chiamata "getFoo()" e che non ci sia alcun membro foo - offrirà di crearlo per te. Oppure se stai usando una classe e chiami un metodo inesistente come getFoo() - offrirà di creare un getter e un membro, o un metodo regolare. È semplicemente utile.

In generale, direi che piccoli tocchi non sono ciò di cui i guru IntelliJ vorranno davvero parlare, ma apprezzo molto il modo in cui questo tipo di cose sono "ben fatte". Si prendono cura dei piccoli dettagli in modo da non dover spendere così tanto tempo di esecuzione mentale controllando la propria sintassi. Lo considero un maggiordomo che mi aiuta con la mia codifica: si occupa di piccole faccende per me, quindi non ne ho bisogno. Batman ha il suo Alfred e io ho il mio IntelliJ.Tutte le impostazioni sono disposte atrocemente da modificare se vuoi, ma sembra che le impostazioni predefinite siano tutte orientate a migliorare la tua produttività, invece di infastidirti continuamente con decisioni davvero banali (specialmente quelle che faresti quasi sempre la stessa scelta comunque).

In IntelliJ ci sono alcuni difetti definiti: il prezzo è un po 'alto, ed è abbastanza grande che ci vuole un po' per caricare un grande progetto. Sono fortunato perché la mia azienda paga per la licenza e anche una workstation molto carina, quindi si carica abbastanza velocemente, ma il tuo chilometraggio può variare.

+6

La maggior parte delle funzionalità descritte come specifiche di IntelliJ sono presenti anche in Netbeans ed Eclipse. – JRL

+2

Divertente, ma la maggior parte degli esempi forniti qui esistono in Eclipse: digitare main e Ctrl + Space per il metodo main, digitare syso (per sysout) e Ctrl + Space per System.out.println(), evidenziare x e digitare Alt + MAIUSC + R per rinominarlo ... IMO, questo conferma che preferire un IDE rispetto ad un altro è altamente relativo alle tue abitudini di codifica, la tua conoscenza del tuo ambiente attuale, ed è quindi piuttosto soggettivo. –

+5

Sì, lo so. Mi sono sfuggito a ciò nella mia risposta con la prefazione "e per lo più non sono lì o sono implementati molto male". Come il mio commento scherzoso su cioccolata e cacca, sono dello stesso colore, non significa che siano uguali. – weiji

1

Non sono un guru di IntelliJ IDEA, ma quello che di solito i fan di IntelliJ apprezzano sono le eccezionali funzioni di refactoring e di assistenza codice. Spesso affermano che questo prodotto è di gran lunga superiore al suo concorrente da questo punto di vista.

Personalmente, sono un partigiano del seguente principio: utilizzare l'IDE con cui ti senti più produttivo, non quello che preferisce qualcun altro.

4

Sono appena tornato in Eclipse dopo 2 anni con Intellij (a causa delle preferenze di un cliente).

Sto trovando Eclipse meno utile. So che è un termine nebuloso, ma il feedback di Intellij è stato più chiaro, l'interfaccia utente mi ha dato informazioni migliori su quello che stava succedendo, l'edificio automatico sembrava più senza soluzione di continuità. L'installazione/configurazione del progetto sembra più intuitiva.

Questo è forse soggettivo, ma a volte è per questo che preferisci uno sopra l'altro. Ci si sente appena un po 'trasandato, quel po' più amichevole ...

(non credo che il plugin VIM per IntelliJ è meglio, ma questa è un'altra storia!)

10

Ho un lavoro di un giorno in cui utilizzo Eclipse (perché è tutto ciò che è consentito). Ho anche una mia compagnia in cui "faccio il chiaro di luna" facendo lavori a contratto e uso IntelliJ.

Direi che le serie di funzioni sono quasi le stesse. Praticamente gli stessi refactoring, lo stesso codice di assistenza, lo stesso stile di utilizzo, ecc. Eclipse ha probabilmente plug-in migliori e probabilmente molti di più di IntelliJ. IntelliJ semplicemente "conosce" le cose fin da subito come Spring e Hibernate, e queste cose sono meglio integrate dei plug-in di Eclipse con funzionalità simili.

Il motivo per cui ho scelto di utilizzare IntelliJ quando consentito (acquistato personalmente e aggiornato più volte) è che tutto ciò che fa è semplicemente più pulito. È difficile puntare il dito su di esso, ma la stessa identica funzionalità di IntelliJ è più snella e facile da usare rispetto a Eclipse, abbastanza da permettermi di pagarla anche se è disponibile un IDE gratuito completo.

Quindi, le attività da eseguire per decidere sono le seguenti: utilizzare IntelliJ tutti i giorni per tutte le attività di sviluppo per 30 giorni. Sfoglia la curva dell'apprendimento di nuove scorciatoie e modi di ricerca, refactoring, ecc. E sospetto che lo preferirai. Altrimenti, Eclipse è ancora lì per te.

+0

Il go to line numero di codice che lega in eclissi mi ha fatto impazzire (Ctrl + L, credo) perché non è come qualsiasi altra app di Windows (Ctrl + G). Sono d'accordo che sono state tutte le piccole cose aggiunte a farmi saltare la nave. – dhable

3

2weiji: utilizzare Tab invece di Ctrl + J :-) E 'molto più comodo :-))
Sout poi Tab
PSVM poi Tab
iter quindi Scheda
ecc ...: o)

+0

Grazie - Tab è davvero molto utile. Per la mappa dei tasti predefinita, penso sia meglio di Ctrl-J. Sfortunatamente per me, utilizzo una chiave di comando emacs modificata, quindi sembra che in questa situazione la "Scheda Emacs" abbia la precedenza su "Variabile modello successivo" - è vero? – weiji

2

Perché utilizzare IntelliJ? Perché lo trovo più coerente nell'interfaccia utente e più lucido. Ti permette di tenere le mani sulla tastiera più a lungo, invece di passare avanti e indietro tra tastiera e mouse. Come altre persone hanno detto, sono le piccole cose che si sommano.

Ho trovato la funzionalità di intenzioni utente un enorme risparmio di tempo e il modo in cui rivede il codice e suggerisce ottimizzazioni e correzioni di cattive pratiche. Posso colpire Alt-Enter in molti contesti e l'IDE è in grado di capire e inserire ciò che dovrebbe essere lì. Cose fastidiose come le dichiarazioni di tipo, l'ottimizzazione di un ciclo for vecchio stile per usare il nuovo tipo di loop JDK-5, rimuovere assegnazioni di valori ridondanti o variabili inutilizzate.

Essere in grado di prima digitare l'utilizzo di un metodo che non esiste, e quindi di colpire una combinazione di tasti e di avere l'IDE scrivere la struttura nuda del metodo - enorme risparmio di tempo. Per me è un flusso di lavoro migliore, perché ti consente di pensare innanzitutto a come utilizzerai un metodo, come appare quando lo leggi nel contesto.

supporto Refactoring - questo è stato il grande punto di vendita, quando ho iniziato ad usare nel 2003, e penso che porta ancora il modo (ma ho sentito Netbeans è anche abbastanza bene adesso)

Consiglio vivamente di avere uno sguardo a IntelliJ KeyMap Reference.

Date un'occhiata a questa discussione per i collegamenti utilizzati più spesso: What are the most useful Intellij IDEA keyboard shortcuts?

Problemi correlati