Desarrollo ABAP en VS Code — guía práctica de ADT for VS Code
Instalar la extensión oficial ABAP Development Tools for VS Code, conectarse a un sistema y usar las funciones del día a día: atajos, transportes, pruebas unitarias, ATC, notebooks SQL y el servidor MCP para asistentes de IA.
Durante años, desarrollar en ABAP significaba Eclipse (o SE80). Con ABAP Development Tools for VS Code, SAP ofrece ahora una extensión oficial, así que puedes escribir ABAP en el mismo editor que ya usas para CAP, Fiori y JavaScript.
Esta guía es un recorrido práctico basado en mi uso diario: qué instalar, cómo conectarse y qué funciones ahorran más tiempo. Se basa en la versión 1.2 de la extensión.
¿Por qué VS Code para ABAP?
- Un editor para todo — ABAP, CDS, Fiori Elements, UI5 y CAP lado a lado.
- Arranque ligero y las funciones de VS Code que ya conoces: multicursor, paleta de comandos, Git, temas.
- Preparado para la IA — la extensión puede iniciar un servidor MCP local para que los asistentes de IA lean objetos ABAP de forma controlada.
Instalación
- Abre la vista Extensions (Ctrl+Shift+X).
- Busca ABAP Development Tools y elige la extensión publicada por SAP (
sapse.adt-vscode). - Instálala y recarga VS Code. La versión 1.2 requiere VS Code 1.109 o superior.
Nota: la extensión se activa bajo demanda; su language server solo arranca cuando abres un objeto o una carpeta ABAP.
Conectarse a un sistema
Todos los comandos de ADT están en la paleta de comandos, en la categoría ABAP (Ctrl+Shift+P y escribe ABAP).
- Ejecuta ABAP: New Destination... y sigue el asistente (sistema, mandante, usuario, idioma de inicio de sesión).
- Ejecuta ABAP: Log On to Destination... para abrir una sesión.
- ABAP: Open Destination Settings (JSON) muestra todos los destinos en JSON, muy útil para copiar la configuración a otro equipo.
Llevar objetos al espacio de trabajo
En lugar de un árbol de proyecto, los objetos ABAP aparecen como carpetas en el Explorer normal de VS Code:
- Add Package as Folder to Workspace... — un paquete y sus subpaquetes
- Add Local Objects of User as Folder to Workspace... — tus objetos
$TMP - Add Destination as Folder to Workspace... — el sistema completo
Para ir directamente a cualquier objeto, usa Open Object... (Ctrl+Shift+A), igual que en Eclipse.
Atajos que vale la pena memorizar
| Atajo | Acción |
|---|---|
| Ctrl+Shift+A | Abrir objeto ABAP |
| Ctrl+Shift+Alt+N | Crear objeto ABAP |
| Ctrl+F2 | Comprobar objeto (sintaxis) |
| Ctrl+F3 | Activar |
| Ctrl+Shift+F3 | Activar todos los objetos inactivos |
| F5 | Ejecutar la clase como aplicación de consola |
| Ctrl+Shift+D | Abrir la documentación ABAP |
| Ctrl+Shift+F10 | Ejecutar pruebas ABAP Unit |
| Ctrl+Shift+F11 | Ejecutar pruebas ABAP Unit con cobertura |
| Ctrl+U | Desbloquear el objeto |
Si vienes de Eclipse ADT, los más importantes — Ctrl+F2, Ctrl+F3 y Ctrl+Shift+A — funcionan igual.
Crear objetos
Create New ABAP Object... abre un asistente: eliges el tipo de objeto (clase, vista CDS, behavior definition, service binding...), el paquete y, en paquetes transportables, la orden de transporte. Las ayudas de búsqueda del asistente consultan el sistema mientras escribes.
Transport Organizer
La barra lateral del Explorer incorpora la vista ABAP Transport Organizer. Ahí ves tus órdenes y tareas, puedes cambiar el propietario, añadir usuarios u objetos, abrir los cambios de una orden y copiar números de orden o tarea.
Release está directamente en el menú contextual. Como una liberación no se puede deshacer, prefiero liberar solo siguiendo el proceso acordado en el equipo.
Historial de versiones y comparación
La vista ABAP Timeline lista las versiones del objeto actual. Desde ahí:
- Compare with Latest — qué cambió respecto a la versión activa
- Select for Compare / Compare with Selected — comparar dos versiones cualesquiera
- Toggle Version — alternar entre el código activo e inactivo
Calidad: ABAP Unit y ATC
Las pruebas ABAP Unit aparecen en el Test Explorer estándar de VS Code. Ejecuta una vez Discover ABAP Unit Tests (Ctrl+Shift+F9) o activa el descubrimiento automático para el editor activo; después podrás ejecutar las pruebas con o sin cobertura.
Para comprobaciones estáticas, Run ABAP Test Cockpit revisa el objeto actual y Run ABAP Test Cockpit With... permite elegir una variante, por ejemplo una de cloud readiness. Los hallazgos aparecen en la vista Problems, e incluso puedes hacer una Request Exemption desde ahí.
SQL Notebook para previsualizar datos
ABAP: SQL Notebook crea un notebook en el que cada celda es una consulta ABAP SQL. Cada celda puede apuntar a un sistema distinto (Set Cell System) y tiene su propio límite de filas (Set Cell Max. Rows). Es una forma estupenda de guardar consultas de análisis junto a tus notas.
ABAP Feeds y depurador
El panel ABAP Feeds, en la parte inferior, se suscribe a feeds del sistema (por ejemplo errores en tiempo de ejecución) con filtros editables. El depurador ABAP está activado por defecto (adt.debugger.enableDebugger) y usa la interfaz de depuración habitual de VS Code.
Asistentes de IA: el servidor MCP
La extensión puede iniciar un servidor MCP local (puerto por defecto 2236). Los asistentes de IA compatibles con MCP pueden entonces buscar, leer y comprobar objetos ABAP a través de tus sesiones abiertas.
La seguridad viene de serie: las restricciones de acceso están activadas por defecto y, con la lista de permitidos vacía, no se permite nada. Tú indicas explícitamente qué destinos y paquetes se pueden usar. La herramienta edit file para objetos ABAP también está desactivada por defecto.
{
// ADT MCP server for AI assistants – keep the allowlist on
"adt.mcpServer.enabled": true,
"adt.mcpServer.accessRestrictionsEnabled": true,
"adt.mcpServer.accessRestrictions": {
"destinations": "DEV_100_*",
"packages-objectChanges": "ZSANDBOX*"
},
"adt.mcpServer.enableEditFileToolForABAPObjects": false,
// Joule side-by-side (optional)
"adt.joule.url": "",
"adt.joule.editor.predictiveCodeCompletion": true
}
Mi consejo: empieza con acceso de solo lectura (
packages-objectChangesvacío) y permite cambios solo en un paquete sandbox.
Cuando aún necesitas Eclipse
No todo lo de Eclipse ADT está ya en VS Code. Para esos casos, Open with ADT for Eclipse abre el objeto actual en Eclipse y Share Link... crea un enlace que un compañero puede abrir en cualquiera de las dos herramientas.
Resumen
ADT for VS Code ya es suficiente para el trabajo diario con RAP y CDS: navegación rápida, activación, transportes, pruebas unitarias, ATC y previsualización de datos están ahí, además de una forma segura de incorporar asistentes de IA al desarrollo ABAP. Pruébalo junto a Eclipse; pasar de uno a otro no cuesta nada.
Comentarios