4 - Visual Studio Code

Los tres entornos presentados anteriormente: IntelliJ, Eclipse y NetBeans tienen su origen con el propio lenguaje Java, es decir que son herramientas pensadas específicamente para el ecosistema de Java.

Visual Studio Code es más contemporáneo (2015) y fue pensado como un editor para ser utilizado con cualquier lenguaje de programación, debido a esto si analizamos la encuesta anual 2023 de desarrolladores de Stackoverflow lo sitúa en la sima de todos los editores:

encuenta 2023 de stackoverflow VS Code

Podemos afirmar sin equivocarnos que IntelliJ, Eclipse o NetBeans se utilizan más en el ecosistema de Java, pero día a día VS Code conquista a más programadores de Java, una forma de ver su difusión es consultar las millones de descargas de extensiones para Java en VS Code:

extensiones vs code java

Descarga e instalación de Visual Studio Code.

Es importante hacer la salvedad que para poder usar VS Code con Java se requiere primero tener instalado el JDK de Java.

La máquina virtual de Java y otras herramientas las podemos descargar de:
Java SE Development Kit 22 (o superior)

Para la descarga del editor Visual Studio Code lo hacemos del sitio:
VS Code

descarga VS Code

Luego de descargar VS Code procedemos a su instalación:

instalación VS Code

Una vez finalizado la instalación podemos inmediatamente iniciar el editor:

ejecución VS Code

Para crear nuestra aplicación "Hola mundo" vamos a instalar una extensión que nos facilita la creación de aplicaciones en Java:

VS Code instalación de extensión

Procedemos luego de instalar la extensión a crear un archivo llamado "HolaMundo.java" con el siguiente código:

public class HolaMundo {

    public static void main(String[] parametro) {
        System.out.println("Hola Mundo Java en VS Code");
    }

}
VS Code java

Para ejecutar la aplicación Java podemos presionar el ícono del triángulo:

VS Code java ejecución

Según el tipo de aplicación de Java a desarrollar, dependerá que otras extensiones deberemos instalar.

Características de Visual Studio Code:

  1. Soporte de Lenguajes de Programación

    JavaScript y TypeScript: Soporte nativo con autocompletado, depuración y refactorización.
    Python: Extensión oficial que incluye análisis de código, autocompletado, depuración, y soporte para entornos virtuales.
    Java: Extensión disponible para soporte completo, incluyendo depuración, refactorización y construcción de proyectos.
    Otros Lenguajes: Soporte para C++, C#, Go, PHP, Ruby, Swift, y muchos más a través de extensiones.
  2. Análisis de Código y Refactorización

    Inspecciones de Código: Detección de errores y advertencias en tiempo real.
    Refactorización: Soporte para operaciones comunes como renombrar, extraer método, y mover.
    Corrección Rápida: Sugerencias automáticas para corregir errores y mejorar el código.
  3. Navegación y Búsqueda

    Navegación Rápida: Saltar rápidamente entre archivos, símbolos y definiciones.
    Búsqueda Eficiente: Búsqueda poderosa con opciones avanzadas como expresiones regulares y búsqueda en todo el proyecto.
  4. Integración con Herramientas y Tecnologías

    Control de Versiones: Integración nativa con Git, y soporte para otros sistemas de control de versiones a través de extensiones.
    Herramientas de Construcción: Integración con tareas de construcción y ejecución de scripts.
    Contenedores y Virtualización: Soporte para Docker y Kubernetes mediante extensiones.
    Frameworks: Soporte para Node.js, React, Angular, Vue.js, y muchos otros frameworks de desarrollo web.
  5. Depuración y Pruebas

    Depurador Integrado: Depurador potente con puntos de interrupción, relojes y paneles de variables.
    Pruebas Unitarias: Soporte para frameworks de prueba como Jest, Mocha, JUnit, y más a través de extensiones.
  6. Desarrollo Web y Móvil

    Frontend: Soporte para HTML, CSS, Sass, Less, y frameworks como React, Angular, Vue.js.
    Backend: Soporte para Node.js, Python, Java, y otros lenguajes de servidor.
    Desarrollo Móvil: Soporte para Flutter, React Native, y Ionic a través de extensiones.
  7. Productividad y Automatización

    Completado de Código Inteligente: Completado de código avanzado basado en el contexto y el lenguaje.
    Generación de Código: Generación automática de snippets y patrones de código comunes.
    Plantillas de Código: Uso de snippets personalizables para acelerar la escritura de código.
    Macros y Atajos: Grabación de macros y personalización de atajos de teclado.
  8. Interfaz de Usuario

    Interfaz Personalizable: Personalización de temas, disposición de ventanas, y otros aspectos de la interfaz.
    Editor Potente: Herramientas como múltiples cursores, edición en bloques, y soporte para múltiples ventanas y paneles.
  9. Extensibilidad

    Marketplace de Extensiones: Amplio ecosistema de extensiones para añadir funcionalidades adicionales, desde soporte para nuevos lenguajes hasta herramientas de desarrollo específicas.
  10. Herramientas Integradas

    Terminal Integrada: Terminal poderosa integrada para ejecutar comandos directamente desde el editor.
    Soporte para Contenedores: Integración con Docker y Kubernetes para desarrollo y despliegue.
    Herramientas de Administración de Bases de Datos: Extensiones para trabajar con SQL y noSQL.
    Análisis y Perfiles: Extensiones para análisis de rendimiento y perfiles de memoria.
  11. Versiones y Licencias

    Gratuito y de Código Abierto: Disponible de manera gratuita y de código abierto, adecuado para todo tipo de proyectos.
    Amplia Comunidad: Gran comunidad de desarrolladores que contribuyen con extensiones, temas y soporte.