para intellij idea full java intellij-idea

java - full - intellij idea vs eclipse



¿Qué es el nivel de idioma del proyecto en IntelliJ IDEA? (3)

De acuerdo con la documentación dentro de la sección Exploración de la configuración general del proyecto en la Wiki de IntelliJ , el nivel de lenguaje del proyecto afecta la inteligencia proporcionada por el IDE.

También dicta el comportamiento del compilador utilizado por IntelliJ cuando compila tu código Java a medida que desarrollas.

Esta configuración indica todas las facilidades del compilador que estarían disponibles para el proyecto. Por ejemplo, establecer el nivel de idioma en JDK 5 permitirá que IntelliJ reconozca palabras clave como enum que están presentes en el código fuente.

Estoy usando Java 7 SDK e IntelliJ IDEA IDE.

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)

Todavía no puedo usar las características de Java 7. Después de buscar en Google, podría usar todas las funciones después de configurar el nivel de idioma del proyecto en 7(Diamond, ARM, multicatch etc) . ¿Qué es esto exactamente? Si esto tiene alguna relación con la sintaxis basada en JDK en uso, ¿qué es el level 8(Lambda, annotations etc) ? Java 8 aún no se ha lanzado. Java 8 se espera para marzo de 2014 según Wiki. Alguien por favor explique este concepto de nivel de lenguaje.


La configuración de Language level establece qué características debe admitir la ayuda del código en el editor. Por ejemplo, si está utilizando JDK 1.7 pero quiere que su código sea compatible con JDK 1.6, puede establecer un nivel de idioma inferior al que admite su JDK real (6.0 en el caso de JDK 1.6) y solo obtener refactorizaciones / sintaxis sugeridas son compatibles con 1.6 y versiones anteriores. Dependiendo de su compilador, también puede dar opciones al compilador para eliminar soporte para los elementos de sintaxis más nuevos.

El 8.0 (que, como usted adivina corresponde a Java 8) está disponible para las personas que desean experimentar con una de las instantáneas de Java 8 que están disponibles. Como Java 8 no se ha lanzado, el nivel de lenguaje 8.0 puede muy bien cambiar antes de la publicación.


Si observa las opciones para el comando javac Java compiler , verá que las opciones -source y -source permiten compilar contra versiones alternativas de Java. No estoy seguro de qué opción corresponde al nivel de idioma de IntelliJ (es probable -source ), pero básicamente le dice a IntelliJ que use el Java SDK provisto (en el campo Project SDK ) en la versión de lenguaje Java especificada en lugar de la última proporcionada por dicho SDK.

Entonces, mientras tiene Java 7 instalado, puede establecer el nivel de idioma en 6.0 e IntelliJ compilará su código con la especificación Java 6 en lugar de la especificación Java 7. Esto incluye todas las sugerencias en tiempo real y la verificación de código realizada mientras escribe.

La opción Java 8 probablemente exista debido al hecho de que las compilaciones beta de Java 8 están disponibles para la prueba.

Nunca he experimentado con lo que sucedería si configuras un nivel de idioma superior a la versión JDK.