2013-07-18 11 views
48

Sto usando Java 7 SDK e IntelliJ IDEA IDE.Qual è il livello della lingua del progetto in IntelliJ IDEA?

java version "1.7.0_11" 
Java(TM) SE Runtime Environment (build 1.7.0_11-b21) 
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode) 

Non riesco ancora a utilizzare le funzionalità di Java 7. Dopo un po 'di googling, ho potuto utilizzare tutte le funzionalità dopo aver impostato il livello di lingua del progetto su 7(Diamond, ARM, multicatch etc). Cos'è esattamente questo? Se questo ha qualche relazione con la sintassi basata su JDK in uso, cos'è ? Java 8 non è ancora stato rilasciato. Java 8 è previsto a marzo 2014 secondo Wiki. Qualcuno, per favore, spiega questo concetto di livello linguistico.

risposta

69

I set di impostazioni Language level che supportano l'assistenza del codice nell'editor devono essere supportati. Ad esempio, se si utilizza JDK 1.7 ma si desidera che il proprio codice sia compatibile con JDK 1.6, è possibile impostare il livello di lingua inferiore rispetto ai reali supporti JDK (6.0 nel caso di JDK 1.6) e ottenere solo i refactoring/sintassi suggeriti sono supportati su 1.6 e versioni precedenti. A seconda del compilatore, può anche dare le opzioni del compilatore per rimuovere il supporto per gli elementi di sintassi più recenti.

L'8.0 (che, come indovini corrisponde a Java 8) è disponibile per le persone che desiderano sperimentare uno degli Java 8 snapshots disponibili. Poiché Java 8 non è stato rilasciato, il livello di lingua 8.0 potrebbe cambiare molto prima del rilascio.

+0

Quindi queste impostazioni che impostano le funzioni di assistenza al codice nell'editor devono supportare l'integrazione nell'IDE o vengono recuperate tramite la rete con gli aggiornamenti? –

+0

@AniketThakur Sembra essere aggiornato insieme all'IDE stesso, almeno non ho mai notato modifiche che non sono state accompagnate da un aggiornamento IDE. –

+0

ok gr8. Grazie! –

3

Come da documentazione all'interno della sezione Esplorazione delle impostazioni generali del progetto allo IntelliJ Wiki, il livello di lingua del progetto influisce sull'intelligenza fornita dall'IDE.

Stabilisce inoltre il comportamento del compilatore utilizzato da IntelliJ durante la compilazione del codice Java durante lo sviluppo.

Questa impostazione indica tutte le funzionalità del compilatore che sarebbero disponibili per il progetto. Ad es. impostando il livello della lingua su JDK 5 consentirà a IntelliJ di riconoscere parole chiave come enum presenti nel codice sorgente.

3

Se si guarda allo options for the javac Java compiler command, vedrete che le opzioni -source e -target consentono di compilare versioni alternative di Java. Non sono sicuro di quale opzione corrisponda all'impostazione del livello di lingua di IntelliJ (è probabile che sia -source), ma in sostanza indica a IntelliJ di utilizzare l'SDK Java fornito (nel campo Project SDK) nella versione della lingua Java specificata anziché l'ultima fornita da detto SDK.

Così mentre Java 7 è installato, è possibile impostare il livello di lingua su 6.0 e IntelliJ compilerà il codice con le specifiche Java 6 anziché con le specifiche Java 7. Ciò include tutti i suggerimenti in tempo reale e il controllo del codice eseguito durante la digitazione.

L'opzione Java 8 è probabilmente dovuta al fatto che le versioni beta di Java 8 sono disponibili per il test.

Non ho mai sperimentato cosa sarebbe successo se si imposta un livello di lingua su qualcosa di più elevato rispetto alla versione JDK.

Problemi correlati