Domanda

Illij è in questo momento in questo momento da quando mi dice con linee rosse Squiggly quando c'è un errore?(Oltre alle funzionalità di completamento automatico) o sta facendo una sorta di compilazione Psuedo?

Se sta facendo legittime compilazione, dove mette queste classi compilate?Mi piacerebbe puntare la mia directory di Jrebel invece dei singoli cartelle di destinazione del modulo.

È stato utile?

Soluzione

Meo ha ragione, da quello che ho imparato quando ho sviluppato plugin per lingue personalizzate, Intellij non compila nulla fino a quando non farai esplicitamente il tuo progetto. Mentre stai digitando, il suo Lexer / Parser rileva qualsiasi token o codice non valido. Nel frattempo, mantiene un indice di ogni classe e metodo nel tuo progetto e le sue dipendenze, insieme alla loro firma, ecc.

Dopo aver smesso di digitare, vedrai un occhio piccolo colorato nella parte superiore della grondaia giusta. Indica che l'IDE è in esecuzione "Annotatori" e "Ispezioni del codice". Sono in grado di dire se le classi, i metodi e la variabile sono validi in base all'indice corrente e allo stato corrente del file (importazioni, dichiarazioni, ecc.). Lo stesso vale per le variabili non utilizzate, i parametri non validi nelle chiamate del metodo, ecc.

Pro:

    .
  • Annotatori lavorano direttamente su ciò che chiamano un albero PSI, che è fondamentalmente un AST migliorato che rappresenta il tuo file corrente
  • Potrebbe essere più veloce che la compilazione di ogni volta (utilizza un indice e non è necessario ricompilare ogni classe dipendente)
  • Annotatori possono rilevare le cose javac non importa, come i potenziali bug (ad esempio utilizzando = anziché == in una condizione while)

Contro:

    .
  • È un belot di lavoro, fondamentalmente hanno bisogno di riscrivere la logica per trovare ogni errore che javac può produrre (motivo per cui è possibile trovare molti problemi sul loro bugtracker etichettato " buon codice è rosso " o "codice cattivo è verde", il che significa che c'è una differenza tra ciò che rilevano e Cosa avrebbe emesso il compilatore)

TL; DR: non produce alcun .class finché non fai il tuo progetto, tutto è fatto "a mano"

Altri suggerimenti

Per ogni modulo, il percorso di uscita del compilatore è possibile trovare da Paths scheda in Impostazioni del modulo . Jrebel Plugin genera rebel.xml automaticamente e deriva il percorso della directory da Impostazioni del modulo , quindi non è necessario puntare manualmente le posizioni - basta generare ribel.xml utilizzando il plugin IDE: Fare clic con il pulsante destro del mouse sul moduloLa vista del progetto -> JREBEL -> Genera Rebel.xml

Intellij capisce il codice, non è necessario compilare il codice per sapere cosa è sbagliato.

Solo per aggiungere, dopo la compilazione, le classi vengono memorizzate nella directory target, se si tratta di un progetto MAVEN, in caso contrario, la directory è specificata nella struttura del progetto Intellij, in "Project Compiler Output":

 Inserire l'immagine Descrizione qui

Ho trovato i miei file .class andando alle cartelle out / production / principali dalla directory home del progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top