JavaRush /Java Blog /Random-IT /IntelliJ IDEA 2019.1: cosa c'è di nuovo nel nostro IDE pr...

IntelliJ IDEA 2019.1: cosa c'è di nuovo nel nostro IDE preferito?

Pubblicato nel gruppo Random-IT
Proprio di recente è stato aggiornato IntelliJ IDEA, un ambiente di sviluppo integrato utilizzato da professionisti (creatori e laureati di JavaRush tra loro) e futuri programmatori (in particolare, quasi tutti gli studenti di JavaRush). In questo articolo descriveremo brevemente le innovazioni di IDEA che interessano gli sviluppatori Java.

Supporto per la funzione di anteprima Java 12: Switch Expressions ( JEP 325 ) e Switch rilevamento duplicati

La dodicesima versione del linguaggio Java è stata rilasciata a marzo e uno dei cambiamenti interessanti è una nuova forma di espressioni con l'operatore switch. Questo operatore nella sua forma classica ha una sintassi un po' macchinosa, che dà luogo a continui errori, difficoltà di debug e meritata antipatia da parte degli sviluppatori. In JDK 12 switchhanno deciso di riabilitarlo e la sua sintassi è stata semplificata. Tuttavia, per qualche motivo sconosciuto ai profani, la nuova funzionalità è stata inclusa in Java 12 solo in forma di Anteprima (questo significa che deve essere “connessa” manualmente anche dopo aver installato JDK 12). L'IDEA aggiornata ha imparato a funzionare pienamente con tutti i tipi di operatore switch. L'IDE ha anche imparato a rilevare i rami duplicati switche a unirli tramite una soluzione rapida.

Per dettagli sulle novità di JDK12, vedere l'articolo Java 12 è già qui: Cosa c'è di nuovo?

Refactoring: estensione della funzione di estrazione della variabile

IntelliJ IDEA può riorganizzare le stringhe letterali e il codice eseguibile. Quindi, se devi modificare una variabile, selezionala e seleziona l' opzione Estrai variabile e verrà sostituita in tutto il codice. Ora la funzione preserverà ancora meglio la semantica delle espressioni modificate. Il framework sarà in grado di estrarre una variabile anche da un inizializzatore di campo, ed è anche possibile che la variabile estratta converta automaticamente un operatore ternario in un "se" se la condizione è importante (una condizione è considerata importante se ha un controllo nullo o controllo "instanceof").

Evidenziazione più accurata delle condizioni nelle espressioni ternarie

IntelliJ IDEA 2019.1 fornisce un'evidenziazione più accurata dei luoghi discutibili nelle espressioni ternarie. Adesso verrà evidenziata solo la condizione in cui il valore è stato violato null, mentre prima veniva evidenziata tutta l'espressione ternaria, anche se la violazione era in un solo ramo. Grazie a questa nuova funzionalità, l'evidenziazione è ora più accurata nel caso delle switchespressioni -.

Analisi migliorata delle operazioni matematiche

L'analisi del flusso di dati può monitorare i risultati delle operazioni matematiche e utilizza queste informazioni per avvisare lo sviluppatore di condizioni che sono sempre vere o false. Gli autori di IDEA hanno migliorato l'analisi di molte operazioni matematiche, tra cui moltiplicazione, resto e operazioni bit a bit.

Miglioramento all'annotazione @Contract

L'annotazione @Contract viene utilizzata per definire il contratto a cui un metodo deve conformarsi. Ciò consente all'IDE di individuare problemi nei metodi che chiamano metodi annotati. @Contract ha due attributi: valuee pure. L'attributo valuecontiene clausole che descrivono la relazione di causa-effetto tra gli argomenti e il valore restituito. L' attributo (“pure”) pureè destinato a metodi che non modificano lo stato dei loro oggetti, ma restituiscono semplicemente un nuovo valore. Se il suo valore restituito non viene utilizzato, la rimozione della sua chiamata non influenzerà lo stato del programma né modificherà la semantica a meno che la chiamata al metodo non generi un'eccezione (l'eccezione non è considerata un effetto collaterale). Pertanto, il team di IntelliJ IDEA 2019.1 ha migliorato il supporto per le annotazioni @Contract. Ora l'ambiente di sviluppo può determinare automaticamente la “purezza” dei costruttori dai sorgenti.

Saltare da una traccia dello stack Java alla posizione corrispondente in una stringa

Se hai già raggiunto il livello 9 della ricerca sulla sintassi Java su JavaRush, allora hai già sentito parlare di cos'è uno stack trace . La sua essenza in poche parole è che la funzione chiamata last deve essere completata per prima. Ora, quando fai clic su una traccia dello stack Java, l'IDE proverà a determinare la posizione esatta sulla riga su cui desideri spostare il cursore. In precedenza questo ti portava solo alla prima colonna della riga corrispondente.

Modifiche al debugger JVM

  • È disponibile una nuova azione Esci dal blocco che consente di uscire dal blocco corrente durante il debug di un progetto utilizzando il debugger JVM.
  • Se preferisci il mouse durante il debug, il tuo lavoro diventerà ancora più comodo: ora puoi attivare l'azione di spostamento del cursore semplicemente facendo clic sul numero di riga in modalità debug.
  • È ora disponibile il supporto per gli operatori synchronizede assertper switchl'analizzatore di espressioni del debugger.
In effetti, ci sono molte più novità in IntelliJ IDEA 2019.1. Puoi leggerli sul sito Web JetBrains , gli autori di questo IDE (ma solo in inglese).
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION