OmniMem: el monitor de RAM que creé para VS Code y todos sus forks
Desde aproximadamente 2018 utilizaba una extensión de Visual Studio Code que me resultaba especialmente útil: mostraba directamente en la barra de estado cuánta memoria RAM estaba consumiendo el IDE en comparación con la memoria total instalada en mi equipo.
Era una funcionalidad sencilla, pero muy práctica.
No tenía que abrir el monitor del sistema, buscar procesos ni abandonar el editor. Con una mirada rápida a la barra de estado podía saber si el entorno de desarrollo estaba consumiendo más recursos de lo habitual.
Durante años funcionó perfectamente. El problema apareció cuando empecé a utilizar otros editores.
Cuando cambiar de IDE rompe una herramienta útil
En mi entorno de trabajo cambié primero a Windsurf y después a Devin Desktop. En mi entorno personal también empecé a utilizar Antigravity IDE.
Todos ellos están relacionados con el ecosistema de VS Code, pero la extensión que utilizaba para monitorizar la memoria dejó de funcionar.
El motivo era bastante habitual en este tipo de herramientas: su implementación dependía de nombres de procesos o rutas específicas de Visual Studio Code.
Mientras utilizas exactamente VS Code, eso puede ser suficiente. Pero cuando cambias a un fork, los nombres de los ejecutables, procesos auxiliares y aplicaciones cambian:
- Visual Studio Code
- Cursor
- Windsurf
- Antigravity IDE
- Devin Desktop
- Trae
- VSCodium
La necesidad seguía existiendo, pero la herramienta ya no funcionaba en los editores que utilizaba diariamente.
Así que decidí crear una alternativa.
Así nació OmniMem
OmniMem – IDE RAM Monitor es una extensión open source que muestra en tiempo real el consumo de memoria del editor directamente en la barra de estado.
Su objetivo principal es funcionar no solo en Visual Studio Code, sino también en los diferentes IDE y forks construidos alrededor de su ecosistema.
Actualmente es compatible con:
- Visual Studio Code
- Cursor
- Windsurf
- Antigravity IDE
- Devin Desktop
- Trae
- VSCodium
- Otros forks basados en VS Code y Electron
La extensión está disponible tanto en Visual Studio Marketplace como en Open VSX, lo que permite instalarla desde diferentes editores y marketplaces.
¿Qué muestra OmniMem?
OmniMem presenta el consumo de memoria del editor directamente en la barra de estado.
Por ejemplo:
2.8GB / 16.0GB
El primer valor representa la memoria utilizada por los procesos relacionados con el IDE. El segundo muestra la memoria total instalada en el sistema.
La información se actualiza periódicamente y puede mostrarse utilizando diferentes formatos:
- Memoria utilizada y memoria total.
- Solo memoria utilizada.
- Porcentaje de memoria.
- Formato compacto.
El intervalo de actualización también es configurable.
La idea es que puedas conocer el consumo del IDE sin interrumpir tu trabajo ni abrir herramientas externas.
Un monitor independiente del nombre del editor
Uno de los principales objetivos de OmniMem era evitar que la compatibilidad dependiera de una lista cerrada de nombres de ejecutables.
En lugar de asumir que el proceso principal siempre se llama Code, la extensión utiliza información del propio runtime para identificar la instalación y los procesos relacionados con el editor que está ejecutándose.
Esto permite que la misma extensión funcione en diferentes productos sin mantener una implementación específica para cada uno.
En macOS, por ejemplo, puede identificar el paquete .app al que pertenece el proceso:
/Applications/Antigravity IDE.app
/Applications/Windsurf.app
/Applications/Visual Studio Code.app
A partir de esa información puede localizar los procesos principales, renderizadores, procesos de GPU, Extension Host y otros procesos auxiliares asociados al mismo editor.
En Linux y Windows se aplican estrategias equivalentes adaptadas a las características de cada sistema operativo.
El resultado es un enfoque mucho más resistente a los cambios de editor.
Detección de extensiones duplicadas
Mientras desarrollaba OmniMem añadí otra funcionalidad que me parecía especialmente útil: la detección de versiones duplicadas de extensiones.
Con el tiempo, la carpeta de extensiones puede conservar varias versiones de un mismo paquete:
publisher.extension-1.0.0
publisher.extension-1.1.0
publisher.extension-2.0.0
Normalmente solo necesitamos la versión activa más reciente, pero las versiones antiguas pueden permanecer almacenadas en disco.
OmniMem puede analizar el directorio de extensiones, agruparlas por identificador y avisar cuando encuentra varias versiones del mismo paquete.
La extensión no elimina archivos automáticamente. Simplemente proporciona la información para que el usuario pueda revisarla y decidir qué hacer.
Ligera, privada y sin dependencias en tiempo de ejecución
Quería que OmniMem fuese una extensión pequeña y predecible.
Por eso se ha diseñado con estas características:
- Sin servicios externos.
- Sin telemetría.
- Sin envío de información fuera del equipo.
- Sin dependencias en tiempo de ejecución.
- Sin procesos persistentes adicionales.
- Sin modificaciones automáticas de archivos.
- Código abierto bajo licencia MIT.
Toda la información utilizada para calcular el consumo de memoria se obtiene localmente.
Instalación
Visual Studio Marketplace
Si utilizas Visual Studio Code o un editor compatible con su Marketplace, puedes instalar OmniMem desde:
👉 Instalar OmniMem desde Visual Studio Marketplace
También puedes buscar lo siguiente desde el panel de extensiones del editor:
OmniMem
Open VSX Registry
Para VSCodium, Antigravity IDE y otros editores que utilizan Open VSX:
👉 Instalar OmniMem desde Open VSX
Instalación mediante VSIX
Cada versión publicada en GitHub incluye también un archivo .vsix.
Puedes descargarlo desde:
👉 Descargar OmniMem desde GitHub Releases
Después puedes instalarlo desde la interfaz del editor utilizando la opción:
Extensions → Install from VSIX...
También puedes hacerlo desde la terminal:
code --install-extension omnimem-x.y.z.vsix
En otros editores solo hay que utilizar su comando correspondiente:
cursor --install-extension omnimem-x.y.z.vsix
windsurf --install-extension omnimem-x.y.z.vsix
antigravity-ide --install-extension omnimem-x.y.z.vsix
Configuración
OmniMem permite personalizar el intervalo de actualización y el formato utilizado en la barra de estado.
Ejemplo de configuración:
{
"memoryMonitor.refreshIntervalMs": 5000,
"memoryMonitor.displayFormat": "used/total"
}
Los formatos disponibles permiten elegir entre una vista detallada o una representación más compacta.
También se puede forzar una actualización manual desde la paleta de comandos:
OmniMem: Refresh Memory Usage
Para comprobar extensiones duplicadas:
OmniMem: Check Duplicate Extensions
Calidad y automatización
Además de desarrollar la extensión, quería que el proceso de publicación fuese reproducible y seguro.
El proyecto cuenta actualmente con:
- Tests unitarios con
node:test. - Cobertura superior al 97 % en líneas.
- Compilación automática con TypeScript.
- Generación y validación del paquete VSIX.
- Publicación automática en Visual Studio Marketplace.
- Publicación automática en Open VSX.
- Creación automática de tags y GitHub Releases.
- Generación del changelog a partir de Conventional Commits.
- Actualización automática del badge de versión del README.
El proyecto utiliza un flujo basado en ramas:
feature/* → develop → main
Las nuevas funcionalidades se integran primero en develop.
Cuando una versión está preparada y validada, se fusiona en main y el pipeline publica automáticamente la extensión en ambos marketplaces.
Un proyecto pequeño nacido de una necesidad real
OmniMem no nació como un intento de construir una herramienta enorme.
Nació porque había una funcionalidad sencilla que utilizaba todos los días y que dejó de estar disponible cuando cambié de editor.
En lugar de volver a VS Code únicamente por aquella extensión, decidí crear una solución que no estuviera vinculada a un producto concreto.
El resultado es una extensión que ahora puedo utilizar en mis diferentes entornos de trabajo y que me gustaría compartir con otros desarrolladores que también alternan entre VS Code y sus distintos forks.
¿Quieres probarla?
OmniMem es completamente open source.
Si utilizas VS Code, Cursor, Windsurf, Antigravity IDE, Devin Desktop, Trae, VSCodium o cualquier otro fork compatible, me encantaría conocer tu experiencia.
Las sugerencias, incidencias y contribuciones son bienvenidas.
Enlaces
⚡ GitHub y código fuente
github.com/SergioSuarezGil/OmniMem-IDE-RAM-Monitor
🛒 Visual Studio Marketplace
Instalar OmniMem desde Visual Studio Marketplace
🌐 Open VSX Registry
Instalar OmniMem desde Open VSX
📦 GitHub Releases y descarga del VSIX
Descargar la última versión
🐛 Reportar un problema o proponer una mejora
Crear una issue
🤝 Pull requests y contribuciones
Contribuir al proyecto
Si OmniMem te resulta útil, puedes apoyar el proyecto dejando una ⭐ en GitHub, compartiéndolo o enviando tus sugerencias.
¡Gracias por leer! ⚡
Top comments (0)