- Live Server y Live Preview permiten recarga en vivo y apertura en Edge desde VS Code.
- La depuración con Edge se integra vía js-debug y Edge DevTools desde Live Preview.
- Conoce las limitaciones del hot reload y cuándo necesitas reiniciar o limpiar caché.
- Configura HTTPS, CORS y proxy si tu entorno lo exige para simular producción.
Si desarrollas para la web es probable que quieras ver los cambios al instante en el navegador sin estar pulsando F5. Con Microsoft Edge puedes activar recarga en vivo de varias formas, ya sea con extensiones de VS Code como Live Server o con la nueva Live Preview, e incluso apoyándote en flujos de trabajo de hot reload de otros entornos cuando proceda.
En esta guía práctica vas a ver cómo activar Live Reload con Edge desde Visual Studio Code, diferencias entre Live Server y Live Preview, cómo depurar con Edge DevTools desde VS Code y en qué casos la recarga instantánea no aplica (por ejemplo, limitaciones típicas del hot reload o cuando tu proyecto ya levanta su propio servidor).
Qué significan Live Reload, Hot Reload y Hot Restart
Live Reload en web es la actualización automática del navegador cuando cambias un archivo. El editor detecta la modificación y refresca la página (o inyecta estilos) sin que tengas que hacerlo tú. Es ideal para HTML/CSS/JS estático o proyectos sencillos sin build avancerado.
Hot reload (como en Flutter) va un paso más allá: inyecta código actualizado en una aplicación en ejecución, manteniendo el estado siempre que se pueda. En entornos como Flutter funciona sobre la máquina virtual de Dart: al guardar, se actualizan clases y se reconstruye el árbol de widgets sin reiniciar por completo la app. Esto es útil para experimentar rápido con interfaces, añadir funciones y corregir fallos sin perder el punto en el que está la app.
Hot restart reinicia la aplicación desde el principio, aplicando los cambios que no puede inyectar el hot reload (por ejemplo, inicializadores estáticos). En Flutter, solo puedes hacer hot reload o hot restart en modo debug; si ejecutas desde terminal, el comando flutter run
acepta la tecla r
para hot reload. Este enfoque conserva el estado cuando es posible, pero hay casos especiales en los que no verás cambios hasta reiniciar.
Limitaciones típicas del hot reload: no se reejecutan main()
ni initState()
; cambios en tipos genéricos, convertir enums a clases (o viceversa), o modificadores de inicializadores estáticos no se reflejarán hasta un hot restart. Los campos estáticos y variables globales se consideran estado y no se reevalúan al recargar. Al editar algo que rompe la compilación, se mostrará el error en consola y tendrás que corregir antes de seguir. Son patrones conceptualmente similares a lo que ocurre cuando un servidor web intenta inyectar cambios: no todo puede recalcularse en caliente.
En el desarrollo web con Edge estos conceptos te ayudan a entender por qué, a veces, un cambio no aparece tras una recarga automática: si lo que has tocado no se vuelve a ejecutar durante el ciclo de reconstrucción de la página, puede que tengas que forzar un reinicio del servidor o un hard refresh del navegador.
Live Server en VS Code: recarga rápida para HTML y estáticos
Live Server es la clásica extensión de VS Code que levanta un servidor local con recarga del navegador. Funciona de maravilla para páginas estáticas y también puede servir de puente para vistas dinámicas sencillas si usas su extensión web complementaria.
Atajos para arrancar/parar el servidor en VS Code: botón de estado “Go Live”; clic derecho en un archivo HTML y “Open with Live Server”; menú contextual en el editor; el atajo alt+L, alt+O
para abrir y alt+L, alt+C
para cerrar (en macOS cmd+L, cmd+O
y cmd+L, cmd+C
); o desde la paleta con “Live Server: Open/Stop”. Si no tienes ningún .html
en el workspace, usa los métodos que no dependen del explorador de archivos.
Funciones que te interesan con Edge: recarga rápida del navegador, exclusión de archivos de la vigilancia de cambios, número de puerto y carpeta raíz configurables, elección del navegador por defecto, soporte para cualquier navegador a través de parámetros de línea de comandos (puedes lanzar Edge), adjuntar depuración de Chrome (vía js-debug) y conexión remota por WLAN (útil para probar en móvil). También soporta HTTPS, CORS, proxy, SVG, multi-root y personalizar la etiqueta que inyecta el script de recarga.
Instalación: abre VS Code, pulsa Ctrl+P
y ejecuta ext install ritwickdey.liveserver
. La extensión está muy pulida y mantiene changelog y FAQ; por ejemplo, se han abordado casos de alto uso de CPU o cierres inesperados del host de extensiones en macOS. Y existe un derivado “Live Server++ (beta)” que intenta aplicar cambios sin guardar.
Cuándo usar Live Server: si tu proyecto no tiene su propio dev server (por ejemplo, React o Angular ya llevan HMR), Live Server te da una experiencia inmediata y fluida. Si ya tienes un servidor de desarrollo, lo normal es abrir la URL de ese servidor en Edge y usar solo la depuración.
Live Preview (Microsoft): servidor integrado y depuración con Edge
Live Preview es la alternativa oficial de Microsoft (en pre-release) que aloja un servidor local y muestra la vista previa embebida en VS Code, además de permitir abrir en un navegador externo como Edge. Es especialmente útil en proyectos sin servidor propio.
Previsualización HTML al vuelo: botón en la esquina superior derecha del editor o menú contextual para abrir la vista. También ofrece un navegador embebido con historial, barra de direcciones, búsqueda (con Ctrl+F
) y acceso a las DevTools del webview.
Live Refreshing: por defecto actualiza conforme escribes; configurable con livePreview.autoRefreshPreview
para refrescar al guardar o desactivar. Las páginas pueden excluirse de la recarga añadiendo data-server-no-reload
al <body>
.
Servidor persistente con logging: puedes lanzar la tarea “Live Preview” para mantenerlo activo y ver el tráfico. Desde “Live Preview: Start Server Logging” verás peticiones y podrás saltar a los archivos servidos con un clic.
Vista externa y depuración: además de la vista embebida, puedes abrir en Edge y adjuntar depuración gracias a la integración con la extensión js-debug y la Edge DevTools Extension. Ejecuta “Live Preview: Show Debug Preview” para configurar el flujo con breakpoints e inspección de elementos.
Cómo abrir y depurar en Microsoft Edge desde VS Code
Para usar Edge como navegador objetivo con recarga en vivo tienes dos caminos sencillos desde VS Code: Live Server (configurando Edge como navegador por defecto o pasando el path por línea de comandos) o Live Preview (seleccionando navegador externo Edge). Live Preview facilita además la depuración integrada.
Paso a paso con Live Preview para depurar en Edge: abre el archivo HTML y lanza la vista con Live Preview; usa el comando “Live Preview: Show Debug Preview”; elige navegación externa y Edge como objetivo; VS Code abrirá Edge y adjuntará js-debug, permitiéndote poner puntos de ruptura, pausar en excepciones e inspeccionar el DOM con Edge DevTools.
Consejos de depuración: si la vista externa en Edge no coincide con la embebida, borra la caché del navegador; desactiva extensiones que inyecten scripts; y consulta qué hacer si Edge no carga páginas web. y confirma que no has marcado data-server-no-reload
si esperas auto-refresco. Cambios en CSS se inyectan sin recargar toda la página cuando es posible.
Arquitecturas con servidor propio (React, Angular, etc.): estos frameworks ya traen su servidor y hot module replacement. Usa su “npm run dev” o equivalente y después “Simple Browser: Show” integrado en VS Code o abre Edge directamente. La Live Preview es más útil cuando no hay servidor.
Limitaciones habituales y buenas prácticas con recarga
No toda modificación se reaplica con recarga automática; consulta actualizar automáticamente una página web para entender el comportamiento. Si cambias un fragmento que no se reejecuta durante el ciclo normal de render de la página, no verás resultados hasta un refresco completo. En entornos de hot reload, cambios en inicializadores estáticos, genéricos o conversión de enums/clases requieren “hot restart”. Los campos estáticos y variables globales se consideran estado y no se reevalúan al recargar. Al editar algo que rompe la compilación, se mostrará el error en consola y tendrás que corregir antes de seguir. Son patrones conceptualmente similares a lo que ocurre cuando un servidor web intenta inyectar cambios: no todo puede recalcularse en caliente.
Estado y cacheo: los navegadores (incluido Edge) pueden mantener caché o estado de cliente. Ajusta cabeceras o desactiva el cacheo en desarrollo; prueba forzando un hard reload. En Live Preview, el externo puede diferir del embebido por caché o estado; limpia y reinicia el navegador si detectas discrepancias.
Exclusión de archivos y rutas: en Live Server puedes excluir patrones para que no disparen recarga, y elegir una etiqueta de inyección alternativa (por defecto body
o head
). También puedes configurar host preferido (localhost
o 127.0.0.1
), CORS y proxy si tu app consume APIs locales.
HTTPS, puertos y multi-root: Live Server soporta HTTPS y multi-root. Live Preview también soporta multi-root y muestra los puertos abiertos desde el indicador de la barra de estado. Si trabajas sin workspace, las previsualizaciones se sirven en instancias separadas con rutas absolutas, lo que puede afectar a enlaces relativos.
Casos avanzados: cambios sin guardar, móviles y pantallas en modo kiosco
Live Server++ (beta) promete ver cambios sin necesidad de guardar el archivo. Es útil para prototipado ultrarrápido, aunque al ser beta conviene adoptarlo con cautela. Si te interesa reducir fricción al máximo, pruébalo en proyectos pequeños.
Pruebas en móvil: tanto Live Server como Live Preview pueden exponer la vista previa por WLAN para que tu smartphone cargue la página desde la red local. Esto te permite ver cómo Edge Mobile o cualquier navegador móvil renderiza tu app en tiempo real.
Señalización digital y kioscos: si distribuyes contenido web en Android empotrado, existen navegadores tipo “kiosco” que incluyen recarga automática bajo ciertos eventos (al encender pantalla, reconectar red, inactividad, etc.), bloqueo de interfaz, listas blancas/ negras de URLs, y administración remota. Estas soluciones usan el WebView de Android, no Edge, pero ilustran que la recarga automatizada se puede orquestar también fuera del escritorio, con opciones de reinicio, cache cleaning o recuperación ante errores.
Auto-reload por eventos en entornos de kiosco: puedes reconfigurar que al detectar que vuelve Internet, tras un error de carga o cuando el dispositivo se reactivase, la página se recargue; incluso es posible limpiar cookies o almacenamiento web en cada reload. Esto es útil si haces cartelería dinámica o dashboards en pantallas siempre encendidas.
FAQ y solución de problemas
“Previewing a file that is not a child of the server root…”: el servidor sirve desde la raíz del workspace o un subdirectorio configurado. Si previsualizas un archivo fuera, algunos enlaces relativos (como los que apuntan a la raíz) pueden romperse. Abre el workspace en la raíz del proyecto o ajusta livePreview.serverRoot
.
Codespaces y vista embebida: en entornos remotos, abre manualmente los puertos reenviados (p. ej., 3000/3001) desde la pestaña “Ports” del editor y permite los redireccionamientos del navegador. Después, la vista embebida debería funcionar.
Diferencias entre Edge y la vista embebida: estilo o layout pueden variar por cacheo o estado del cliente en el navegador externo. Limpia cache y reinicia Edge si notas inconsistencia frente al webview embebido.
No tengo ningún HTML en el espacio de trabajo: con Live Server, usa la paleta de comandos o los atajos generales para iniciar el servidor (los métodos de clic derecho requieren un HTML abierto). Asegúrate de que la raíz del servidor apunta donde están tus archivos.
Quiero pausar la recarga en una página concreta: en Live Preview añade data-server-no-reload
en el <body>
de esa página para que se excluya del auto-refresh.
Configuración práctica: Edge como navegador por defecto
Con Live Server: en las configuraciones de la extensión puedes establecer el navegador predeterminado. Alternativamente, arranca con argumentos de línea para abrir en Edge. Si usas puerto fijo (por ejemplo, 5500), añade una configuración para que no choque con otros servicios.
Con Live Preview: selecciona el destino de previsualización externo y elige Edge. Para depurar, usa “Show Debug Preview” para que js-debug adjunte automáticamente y tengas DevTools de Edge disponibles desde VS Code.
HTTPS local: si necesitas probar service workers, credenciales o APIs que requieren contexto seguro, habilita HTTPS en el servidor de desarrollo que uses (Live Server lo soporta). Recuerda confiar en el certificado local en Edge si lo generas tú.
Proxy y CORS: si tu front llama a una API local con CORS, configura el proxy de la extensión o habilita CORS en el servidor de la API. Evita desactivar políticas del navegador salvo para una prueba puntual: es mejor simular el entorno real desde ya.
Cuándo no usar Live Reload y alternativas
Frameworks con dev server propio: React, Angular, Vue y similares traen hot reload/HMR. No necesitas Live Server/Live Preview para levantar, solo abre la URL del dev server en Edge y depura con js-debug y DevTools.
Apps nativas o híbridas: en Flutter, el hot reload/hot restart gestiona el ciclo de vida y estado. Edge no es el navegador objetivo ahí, pero el patrón mental de cuándo un cambio se aplica y cuándo debes reiniciar es análogo: si cambias inicializadores estáticos o la forma de tipos, necesitarás reinicio completo.
Páginas con autenticación compleja: si dependes de NTLM/Kerberos o descargas por POST especiales, el entorno de previsualización local puede no replicar la integración exacta. En esos casos, prueba sobre un entorno staging con HTTPS real y usa las DevTools de Edge con la sesión válida.
Entornos con restricción severa: si tu caso de uso es kiosko con bloqueo total del sistema, plantéate navegadores específicos que incluyan recarga por eventos, listas blancas y administración remota; Live Reload en escritorio no resolverá la gestión de dispositivo.
Puedes activar recarga en vivo con Edge de forma fiable: Live Server para prototipos y estáticos, Live Preview para una experiencia integrada con depuración en Edge, y dev servers propios para frameworks modernos. Si alguna modificación no aparece al instante, revisa limitaciones de hot reload, caché y si el código afectado se reejecuta tras la recarga; con una configuración correcta, el ciclo “escribir–ver–depurar” se vuelve ágil y sin fricciones.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.