DevMan para Visual Studio CodeElige las versiones de desarrollo de cada proyecto y abre su terminal sin salir de VS Code. Ejecutar y configurar sin carpetaInstala, registra y activa runtimes globales desde el panel DevMan aunque no tengas una carpeta abierta. Usa Configuración para cambiar las ubicaciones de runtimes y paquetes. Pulsa Ejecutar archivo con DevMan en un archivo Java, Python, Node, PHP, Ruby, Go, JAR, DLL o proyecto .NET. El asistente Ejecutar archivo, proyecto o script… también admite npm, Maven, Gradle y ejecuciones guardadas. La terminal muestra la salida en vivo; puedes detener la tarea. Preparar Uvicorn o Puma en el proyecto instala las dependencias explícitamente dentro del entorno del proyecto. Consulta la guía de ejecución. Requisitos
El VSIX incluye DevMan CLI 1.9.0 y su motor .NET autocontenido. No necesitas instalar DevMan Desktop, una CLI separada ni .NET. Al activarse verifica SHA-256 y prepara el motor en el almacenamiento privado del usuario de VS Code. Esta preparación funciona sin conexión ni elevación de permisos. Los runtimes que quieras descargar sí necesitan conexión y conservan sus propios requisitos. El motor se actualiza con la extensión; no se modifica una CLI instalada por separado. Comparte el inventario y la configuración de Instalar
También puedes usar Agregar un runtime que ya tienesEjecuta DevMan: Agregar runtime existente, elige Java, Python, Node.js, .NET, Go, Maven, Gradle, PHP o Ruby, selecciona su carpeta y escribe un alias único, por ejemplo La instalación aparece como Externo. Puedes usarla en un proyecto (se guarda el alias en Se valida que existan los ejecutables necesarios; en Unix también sus permisos de ejecución. No se ejecuta el binario durante el registro ni se comprueba automáticamente su versión real, arquitectura o licencia. El alias es un identificador, no una versión detectada. Java requiere un JDK con Los alias admiten de 1 a 80 letras ASCII, números, puntos, Un Python diferente para cada proyecto
Ejemplo del archivo generado:
Cada terminal recibe el entorno de su proyecto. Si cambias Terminales nuevas con el entorno del proyectoAl detectar versiones en En Windows este perfil abre CMD mediante Con varias carpetas, se usa el proyecto del editor activo; cuando no se puede determinar, aparece un selector. El cambio se guarda en Para desactivarlo, ejecuta DevMan: Restaurar el perfil de terminal anterior o desmarca Funciones| Acción | Dónde encontrarla | | --- | --- | | Ver los nueve runtimes e instalaciones | Panel Runtimes instalados | | Consultar el catálogo e instalar | Icono de descarga de un runtime | | Elegir una versión para un proyecto | Panel Proyectos o clic en una versión instalada | | Abrir la configuración y autocompletar JSON | Icono de configuración del proyecto | | Abrir una terminal con el entorno del proyecto | +, atajo de nueva terminal, icono de DevMan o perfil DevMan: Proyecto | | Activar una versión global | Menú contextual de una versión instalada; solicita confirmación | | Desinstalar una versión | Menú contextual; muestra la ruta y proyectos abiertos afectados | | Ejecutar scripts de | Diagnosticar y ver rutas de paquetes | Menú del panel de runtimes o paleta de comandos | | Consultar fallos | Salida → DevMan, botón Mostrar detalle y Abrir logs de DevMan | Con varias carpetas abiertas, las acciones solicitan el proyecto correspondiente o usan la carpeta del elemento seleccionado. La barra de estado muestra la carpeta del editor activo y sus versiones declaradas. Scripts
Pulsa test en el panel del proyecto. Se ejecuta Configuración y compatibilidad
Los procesos se ejecutan con argumentos separados, sin construir comandos de shell. Las rutas con espacios se conservan. La extensión se desactiva en espacios de trabajo no confiables y en sistemas de archivos virtuales; no es una extensión web para vscode.dev. El código de la extensión admite Windows, Linux y macOS. La descarga y los requisitos de cada runtime dependen de DevMan y del host: PHP y Ruby siguen siendo experimentales; Ruby en Unix puede necesitar herramientas de compilación. La extensión conserva el comportamiento de La instalación de un runtime se realiza en segundo plano y muestra su progreso en Salida → DevMan. Espera a que termine antes de cerrar VS Code. Los comandos de consulta tienen tiempo de espera; una instalación puede tardar más y no tiene un límite fijo. Desarrollar y probarEl código de la extensión usa JavaScript sin dependencias npm de producción. Empaquetar la edición autónoma requiere .NET 10, Python, Node.js y PowerShell 7. Primero restaura la solución con
Para probar en una instancia de desarrollo:
Referencias de implementaciónConfiguración de almacenamientoAbre DevMan: Configuración: runtimes, paquetes y cachés desde la paleta de comandos, o pulsa el engranaje en la cabecera de Runtimes.
Esta configuración pertenece al usuario del host donde se ejecuta la extensión y se comparte con Desktop y CLI. En SSH/WSL se refiere al host remoto. No se guarda en Las instalaciones existentes conservan su ubicación. Guardar una sección no borra cambios pendientes de la otra. Abre terminales nuevas después de guardar paquetes y reinicia Desktop después de cambiar la carpeta de runtimes. Comprobar permisos puede crear carpetas vacías. npm conserva Extensiones de lenguajes y depuradores
| Integración | Comportamiento | |---|---| | Python | API pública para seleccionar el intérprete por carpeta. Una selección existente se conserva en la sincronización automática; la selección explícita desde DevMan puede adoptar el Python base. Los entornos virtuales existentes se conservan. | | Java | Registra el JDK del proyecto en | Node.js | Proporciona ejecutable y entorno al depurador cuando launch.json no define runtimeExecutable/runtimeVersion. No modifica configuraciones attach. | | Go | Configura | PHP | Configura las rutas de validación/depuración cuando la extensión instalada ofrece esas opciones; Xdebug sigue siendo necesario. | | Maven/Gradle | Configura la ruta de Maven, JAVA_HOME, el repositorio y las opciones de importación de Gradle. Conserva los wrappers y scripts del proyecto. | | C# | Configura el entorno del servidor C# y de depuración coreclr. Conserva global.json y el runtime interno del servidor. C# Dev Kit puede requerir reiniciar todas las ventanas de VS Code desde una terminal DevMan para detectar el SDK; no garantiza el cambio de SDK de un servidor ya iniciado. Para distintos SDK por carpeta, usa ventanas separadas. | | Ruby LSP | Ofrece el Ruby global como fallback si no existe configuración manual. La selección del gestor de versiones o la selección privada de Ruby LSP conserva prioridad. Ruby LSP no expone un ajuste público por carpeta equivalente al de Python; la sincronización de Ruby local requiere su selector o iniciar VS Code desde ese entorno. | Al desactivar Dependencias por proyectoEn el árbol de proyectos, pulsa Dependencias del proyecto, o ejecuta DevMan: Configurar dependencias del proyecto. Puedes elegir ubicaciones habituales, paquetes locales o paquetes y cachés locales. La opción se guarda en
CLI, desde la raíz del proyecto:
Servidores y aplicaciones (0.6)En la sección Servidores y aplicaciones, instala versiones de Tomcat/WildFly o registra una carpeta externa. Crea instancias por proyecto eligiendo versión, JDK y puerto. El menú de cada instancia permite iniciar, detener, reiniciar, abrir el navegador, consultar logs y agregar WAR/EAR con el servidor detenido. El tipo Las instancias de servidores pueden administrarse sin abrir una carpeta en VS Code: el comando solicita la carpeta de la aplicación y la muestra en la vista de servidores durante la sesión. La configuración se guarda allí en Compilar y desplegar aplicacionesEn Servidores y Aplicaciones, abre el menú de una instancia Tomcat/WildFly y selecciona Compilar / desplegar aplicación. Funciona con instancias globales incluso sin una carpeta abierta en VS Code.
Los builds limpian las salidas anteriores para evitar desplegar un paquete obsoleto. El proyecto Java debe estar configurado para producir WAR/EAR y ser compatible con el servidor/JDK elegidos. Si aparecen varios paquetes, puedes escoger uno. Un JAR ejecutable se inicia desde Ejecutar archivo o proyecto; no se convierte automáticamente en WAR. Primero se prepara el paquete. Después se solicita confirmar Desplegar e iniciar o Solo desplegar. Detener una instancia afecta a todas las aplicaciones que contiene. El reemplazo conserva el paquete anterior, su carpeta expandida (Tomcat) o marcadores (WildFly) en Los logs del build están en CLI equivalente:
Omite Tomcat: HTML en vivo y WAR en caliente (0.11.0)HTML en vivo: clic derecho sobre una instancia → Activar HTML en vivo (Tomcat). Selecciona la carpeta pública con index.html y un nombre de sitio, por ejemplo El origen debe contener solo archivos públicos. Se permiten HTML/CSS/JS/JSON, imágenes, fuentes y otros recursos estáticos habituales. Se excluyen archivos ocultos (excepto recursos permitidos de .well-known), node_modules/bin/obj, WEB-INF/META-INF, JSP y código de servidor. Los enlaces se rechazan. Si un WAR ya usa ese nombre, elige otro para conservarlo. La carpeta original no se sirve directamente. El menú Detener sincronización HTML pausa las copias; el sitio sigue publicado con la última copia. Cerrar o recargar la ventana de VS Code también detiene la sincronización: actívala de nuevo al volver. Ante un error se pausa y se muestra el detalle; tras resolverlo, vuelve a activarla. Una copia en curso puede terminar después de solicitar la pausa. La recarga automática del navegador es opcional al activar el sitio. WAR en caliente: en Compilar / desplegar aplicación, prepara o selecciona el WAR y elige En caliente (sin detener Tomcat). El WAR completo se coloca mediante un reemplazo de archivo, con respaldo del anterior; Tomcat detecta el cambio y administra la recarga. La aplicación actualizada puede tener una breve interrupción y perder sesiones; las otras aplicaciones no se detienen. Si falla el arranque de la aplicación, revisa sus logs; el respaldo permite volver a publicar el WAR anterior, pero no hay rollback automático tras un fallo de Tomcat. Requiere la configuración de instancia de DevMan (Catalina/localhost, webapps, autoDeploy activo); un Context personalizado con el mismo nombre se conserva y se pide otro nombre. No usa Tomcat Manager ni requiere configurar credenciales. Este modo en caliente es específico de Tomcat; WildFly conserva el flujo con parada. Desktop ofrece una casilla para WAR en caliente; la vigilancia al guardar se realiza desde VS Code. CLI (cada sync-html hace una sincronización; la extensión mantiene la vigilancia):
Omite --global y usa la carpeta de la instancia para trabajar por proyecto. Estos comandos no inician ni detienen el servidor; si está detenido, inícialo cuando corresponda. Los eventos se registran en los logs de diagnóstico de DevMan. Los detalles de despliegue/arranque aparecen en los logs de Tomcat. Recarga automática del navegadorAl activar HTML en vivo, elige Recargar el navegador automáticamente o Actualizar el navegador manualmente. La opción sugerida se configura con Abre el sitio, o recarga una vez una pestaña que ya estaba abierta, para cargar el cliente de desarrollo. Después, guardar HTML, CSS, JavaScript o recursos públicos sincroniza los archivos y recarga las pestañas que tengan abierto ese sitio. No modifica los archivos de origen; solo las copias publicadas de HTML/HTM reciben un script. Funciona también en subcarpetas y en el contexto ROOT. El navegador consulta una pequeña señal en el mismo Tomcat, aproximadamente cada segundo, sin puertos ni extensiones adicionales. Solo se publica una nueva señal después de completar la sincronización y cuando hay cambios. Una sincronización sin cambios no recarga la página. Desactivar la opción retira el script de las copias publicadas y notifica una última recarga a las pestañas anteriores. Detener la sincronización o cerrar VS Code deja la última copia publicada; las pestañas abiertas pueden seguir consultando la señal, pero no hay nuevos cambios que disparen recargas. La recarga completa puede perder el estado de formularios. Una política CSP que bloquee scripts o conexiones del mismo origen puede impedir el funcionamiento; DevMan no la modifica. CLI: |