MIA: Conectar a una base MongoDB — la URI se guarda en el almacén de secretos de VS Code (cifrado).
MIA: Analizar base de datos — la vista «MongoIndexAdvisor» de la barra lateral lista los índices recomendados (regla ESR).
Sobre cada índice: aplicar (con confirmación modal), copiar o insertar el createIndex en el editor.
Selecciona una o varias consultas (db.peliculas.find({...}).sort({...}), con ISODate(...), ObjectId(...), regex, .limit()...; o JSON
{"collection","filter","sort"}) y usa el menú contextual MIA: Analizar la consulta seleccionada (útil en Atlas gratuito, sin
profiler). Sin selección se analiza el archivo completo. Solo find/findOne.
El análisis solo lee; crear un índice es una acción aparte que siempre pide confirmación.
Instalar
Marketplace (cuando esté publicada): buscar «MongoIndexAdvisor» en la vista Extensions.
Desde un .vsix: cada ejecución del workflow vscode-extension lo deja como artefacto, y las versiones
etiquetadas lo adjuntan al release. Extensions → … → Install from VSIX… o code --install-extension mia-vscode.vsix.
Desarrollo: desde la raíz del repo, code --extensionDevelopmentPath vscode-mia.
Desarrollo y mejoras
No hay paso de compilación: el código es extension.js (JavaScript plano). Prueba rápida: npm test dentro de vscode-mia/.
Cada mejora sigue el mismo ciclo: cambiar el código, añadir la prueba, anotarlo en CHANGELOG.md bajo «Sin publicar».
Publicar una versión
Subir version en package.json (semántico: arreglo → patch, función nueva → minor) y pasar lo de «Sin publicar»
a una sección ## [X.Y.Z] en CHANGELOG.md.
git tag vscode-vX.Y.Z && git push origin vscode-vX.Y.Z.
El workflow comprueba que etiqueta, manifiesto y changelog coinciden, empaqueta el .vsix, lo publica (si están los
secretos VSCE_PAT / OVSX_PAT) y lo adjunta a un release.
Configuración única: crear el publisher en https://marketplace.visualstudio.com/manage con el mismo ID que publisher en
package.json y guardar el token de Azure DevOps (permiso Marketplace → Manage) como secreto VSCE_PAT.