Cliente de APIs HTTP/REST moderno, rápido y ligero, integrado directamente en Visual Studio Code. Una alternativa a Postman / Insomnia sin salir del editor.
![]()
✨ Características
- Interfaz tipo Postman dentro de un Webview con pestañas múltiples.
- Métodos HTTP:
GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS. - Editor de headers y query params dinámicos.
- Editor de Body: JSON (con formateo y validación), Form Data,
x-www-form-urlencodedy texto plano. - Respuesta detallada: código de estado, tiempo, tamaño, headers y JSON formateado con resaltado de sintaxis.
- Historial de peticiones y colecciones de endpoints.
- Variables de entorno reutilizables:
{{base_url}},{{token}}, … - Autenticación: Bearer Token, Basic Auth y API Key (header o query).
- Generación de código: cURL, JavaScript (
fetch), Axios y Pythonrequests. - Importar / exportar colecciones y entornos en formato JSON.
- Autoguardado local mediante el almacenamiento de VS Code.
- Tema claro/oscuro sincronizado automáticamente con VS Code.
🚀 Uso
- Abre la paleta de comandos (
Ctrl/Cmd + Shift + P). - Ejecuta «RestForge: Abrir cliente de API» — o usa
Ctrl/Cmd + Alt + R, o el icono ⚡ de la barra de actividad. - Escribe una URL, elige el método y pulsa Enviar.
🧱 Arquitectura
El proyecto separa claramente las dos mitades de una extensión de VS Code:
src/
├── shared/ Modelo de datos y protocolo de mensajes (compartido)
├── extension/ Código del Extension Host (Node.js)
│ ├── extension.ts Punto de entrada / activación
│ ├── panel/ Gestión del Webview Panel
│ ├── services/ Ejecución HTTP con Axios
│ ├── storage/ Persistencia con globalState
│ └── webview/ Generación del HTML del Webview
└── webview/ UI del Webview (React + Vite + TailwindCSS)
├── components/ Componentes de la interfaz
├── services/ Utilidades, interpolación, generación de código
├── store/ Estado global (Zustand)
└── types/ Tipos del Webview
- Las peticiones HTTP se ejecutan en el Extension Host (Node + Axios), lo que evita por completo las restricciones de CORS del navegador.
- El Webview (React) y el Extension Host se comunican mediante un
protocolo de mensajes tipado (
src/shared/types.ts). - El estado se autoguarda en
globalStatey se restaura al reabrir.
🛠️ Desarrollo
Requisitos: Node.js 18+ y VS Code 1.85+.
npm install # instalar dependencias
npm run build # compilar extensión + webview
npm run dev # modo watch (extensión y webview en paralelo)
Para depurar: abre la carpeta en VS Code y pulsa F5 («Ejecutar extensión RestForge»). Se abrirá una ventana Extension Development Host con RestForge cargado.
Scripts disponibles
| Script | Descripción |
|---|---|
npm run build |
Compila la extensión y el webview a dist/. |
npm run dev |
Recompila automáticamente al guardar cambios. |
npm run icon |
Regenera media/icon.png. |
npm run typecheck |
Verificación de tipos con TypeScript. |
npm run lint |
Análisis estático con ESLint. |
npm run package |
Genera el paquete .vsix. |
npm run publish |
Publica en el Marketplace. |
📦 Empaquetar la extensión (.vsix)
npm run package
Esto ejecuta vsce package, que compila el proyecto (vscode:prepublish) y
genera un archivo restforge-0.1.0.vsix en la raíz.
Para instalarlo localmente:
- VS Code → pestaña Extensiones → menú
···→ Instalar desde VSIX…, o - por terminal:
code --install-extension restforge-0.1.0.vsix
🌐 Publicar en el VS Code Marketplace
- Crea una organización y un Personal Access Token (PAT) en Azure DevOps con permiso Marketplace → Manage.
- Crea un publisher en https://marketplace.visualstudio.com/manage
(el
publisherdepackage.jsondebe coincidir — aquí:RestForge). - Inicia sesión y publica:
npx vsce login RestForge # pega el PAT cuando lo pida
npm run publish # o: npx vsce publish
Para subir una nueva versión: incrementa version en package.json
(vsce publish patch|minor|major lo hace automáticamente).
🗺️ Roadmap
Funcionalidades previstas para próximas versiones:
- Soporte para GraphQL y WebSockets.
- Runner de colecciones (ejecución secuencial con aserciones).
- Variables secretas cifradas con
SecretStorage. - Importación de OpenAPI / Swagger y de colecciones de Postman.
- Subida de archivos en
form-data. - Generación de peticiones asistida por IA.
- Tests automatizados end-to-end.
📄 Licencia
MIT © RestForge