Intellij Idea - Deep Dive

I primi quattro capitoli di questo tutorial sono stati progettati per fornire ai principianti una panoramica a livello di base di IntelliJ. Questa sezione approfondisce IntelliJ e discute di più sui progetti, il suo formato e altre cose.

Capire i progetti

Un progetto è un'applicazione o un software su cui stai lavorando. Può contenere più moduli, classi, librerie, configurazioni e così via. È l'elemento più in alto nella gerarchia.

Moduli di comprensione

I moduli presentano un rung sotto "Project". Un modulo è un'entità separata che può essere compilata, sottoposta a debug ed eseguita indipendentemente da altri moduli. Un singolo progetto può contenere più moduli. Puoi aggiungere o rimuovere moduli da un progetto in qualsiasi momento.

Oltre a questo, possiamo anche importare i moduli esistenti. Segui questi passaggi per importare i moduli esistenti:

  • Vai a File → Struttura del progetto.
  • Seleziona i moduli e fai clic sull'icona più.
  • Mostrerà l'opzione per importare il modulo.

Capire le cartelle

Content rootè una cartella che contiene tutti i file che compongono il tuo modulo. Un modulo può avere più di una cartella di contenuti. Le cartelle sono classificate nei seguenti tipi:

  • Sources - Assegnando questa categoria alla cartella, istruiamo IntelliJ che questa e la sua sottocartella contengono il codice sorgente java e devono essere compilate come parte del processo di compilazione.

  • Tests- Assegnando questa categoria alla cartella, indichiamo a IntelliJ che è la posizione per gli unit test. Questa cartella può accedere alle classi dalla cartella Sources.

  • Resources- Rappresenta vari file di risorse utilizzati nel progetto, ad esempio immagini, XML e file di proprietà. Durante il processo di compilazione, il contenuto di questa cartella viene copiato così com'è nella cartella di output.

  • Excluded- I contenuti della cartella esclusa non verranno indicizzati da IntelliJ. Ciò significa che IntelliJ non fornirà il suggerimento per il completamento del codice e altri suggerimenti. Ad esempio, la directory di output e la directory di destinazione sono escluse per impostazione predefinita.

  • Test resources - Questo è simile alle risorse e utilizzato per gli unit test.

Capire le biblioteche

La libreria è una raccolta di classi diverse. La libreria consente il riutilizzo del codice. In Java, la libreria può essere racchiusa in ZIP, Jar o semplicemente cartella. Possiamo definire le biblioteche a tre diversi livelli. I livelli sono: globale, progetto e livello modulo.

  • Global level - Condiviso da tutti i progetti.

  • Project level - Condiviso da tutti i moduli del progetto.

  • Module level - Condiviso dalle classi di quei moduli.

Comprensione delle sfaccettature

Le sfaccettature sono le estensioni dei moduli. Aggiungono il supporto ai framework e alle tecnologie. Quando un facet viene aggiunto a un modulo, IntelliJ lo identifica aggiunge il supporto. Ad esempio, suggerimenti e aiuto nell'editor, nuovi strumenti nella barra delle finestre, download delle dipendenze e così via. Puoi aggiungere sfaccettature dal fileFile → Project Structure finestra come mostrato di seguito -

Artefatti

Gli artefatti sono l'output di un progetto. Può essere un semplice file JAR, un'applicazione Java EE o un'applicazione Java EJB. Se utilizziamo strumenti di compilazione esterni come Gradle o Maven, IntelliJ aggiungerà automaticamente gli artefatti. È possibile creare artefatti accedendo al fileFile → Project Structure come mostrato di seguito -

Importazione del progetto esistente

In questa sezione capiremo come importare un progetto esistente. Possiamo importare un progetto in due modi:

  • Importalo da una sorgente esistente
  • Importalo dal modello di build.

Al momento, supporta gli strumenti di compilazione Gradle e Maven. Per importare il progetto -

  • Navigando su File → Nuovo → Progetto dalla fonte esistente.
  • Seleziona la directory del progetto esistente, pom.xml di Maven o lo script di build di Gradle.
  • Fare clic sul pulsante OK.

Formati del progetto

IntelliJ supporta due tipi di formato di progetto uno è directory-based e altro è file-based. Il formato basato su directory è più recente, consigliato. Per impostazione predefinita, IntelliJ crea un formato di progetto basato su directory. È possibile selezionare il formato del progetto durante la creazione di un nuovo progetto. Nella nuova finestra del progetto basta fare clic su più impostazioni come mostrato nell'immagine sottostante -

Formato progetto basato su directory

Questo formato aiuta a creare una cartella di idee nel progetto e a mantenere tutti i file di configurazione all'interno di quella cartella. Le impostazioni sono raggruppate nei file xml. Ad esempio, creeràmisc.xml, modules.xml, workspace.xmle così via. Lo screenshot seguente ti aiuterà a capire come funziona -

Formato progetto basato su file

Creerà due file di progetto con ..ipr e wprestensioni. Il file ipr conterrà le impostazioni specifiche del progetto e il file wpr conterrà le impostazioni specifiche dell'area di lavoro.

Per convertire un progetto basato su file in un progetto basato su directory, vai a File → Save as a Directory-Based format.

Formato del progetto basato su directory e su file

Rispetto al formato di progetto basato su file, il formato di progetto basato su directory memorizza le impostazioni in una cartella separata con nomi significativi. Altre differenze sono:

  • Le impostazioni correlate che vengono archiviate in un singolo file ne facilitano la gestione nel formato di progetto basato su directory.

  • Se la cartella contiene la sottocartella dell'idea, IntelliJ riconosce quel progetto. Per questo motivo, non è necessario selezionare esplicitamente il progetto ipr.

  • Il formato del progetto basato su directory suddivide le impostazioni in più file, quindi è più facile selezionare un tipo particolare di impostazione da memorizzare nel sistema di controllo della versione.