← Todos los artículos

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.

ADTVS CodeABAPHerramientasIA

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

  1. Abre la vista Extensions (Ctrl+Shift+X).
  2. Busca ABAP Development Tools y elige la extensión publicada por SAP (sapse.adt-vscode).
  3. Instálala y recarga VS Code. La versión 1.2 requiere VS Code 1.109 o superior.
La extensión ABAP Development Tools en la vista Extensions
La extensión ABAP Development Tools en la vista Extensions

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).

  1. Ejecuta ABAP: New Destination... y sigue el asistente (sistema, mandante, usuario, idioma de inicio de sesión).
  2. Ejecuta ABAP: Log On to Destination... para abrir una sesión.
  3. ABAP: Open Destination Settings (JSON) muestra todos los destinos en JSON, muy útil para copiar la configuración a otro equipo.
Crear un destino nuevo desde la paleta de comandos
Crear un destino nuevo desde la paleta de comandos

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.

Un paquete añadido como carpeta del espacio de trabajo
Un paquete añadido como carpeta del espacio de trabajo

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.

El asistente Create New ABAP Object
El asistente Create New ABAP Object

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.

La vista ABAP Transport Organizer
La vista ABAP Transport Organizer

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
Comparar dos versiones desde la ABAP Timeline
Comparar dos versiones desde la ABAP Timeline

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í.

Resultados de ABAP Unit en el Test Explorer y hallazgos de ATC en Problems
Resultados de ABAP Unit en el Test Explorer y hallazgos de ATC en Problems

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.

Un SQL Notebook con una consulta y su resultado
Un SQL Notebook con una consulta y su resultado

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.

settings.json
{
  // 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
}
Ajustes del servidor MCP en el editor de configuración de VS Code
Ajustes del servidor MCP en el editor de configuración de VS Code

Mi consejo: empieza con acceso de solo lectura (packages-objectChanges vací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

Deja un comentario