Développer en ABAP dans VS Code — guide pratique d'ADT for VS Code
Installer l'extension officielle ABAP Development Tools for VS Code, se connecter à un système et découvrir les fonctions du quotidien — raccourcis, transports, tests unitaires, ATC, notebooks SQL et serveur MCP pour les assistants IA.
Pendant des années, développer en ABAP voulait dire Eclipse (ou SE80). Avec ABAP Development Tools for VS Code, SAP propose désormais une extension officielle : vous écrivez de l'ABAP dans le même éditeur que pour CAP, Fiori et JavaScript.
Ce guide est une visite pratique, tirée de mon usage quotidien : quoi installer, comment se connecter et quelles fonctions font gagner le plus de temps. Il se base sur la version 1.2 de l'extension.
Pourquoi VS Code pour l'ABAP ?
- Un seul éditeur pour tout — ABAP, CDS, Fiori Elements, UI5 et CAP côte à côte.
- Démarrage léger et les fonctions VS Code que vous connaissez déjà : multi-curseur, palette de commandes, Git, thèmes.
- Prêt pour l'IA — l'extension peut lancer un serveur MCP local afin que les assistants IA lisent les objets ABAP de façon contrôlée.
Installation
- Ouvrez la vue Extensions (Ctrl+Shift+X).
- Recherchez ABAP Development Tools et choisissez l'extension publiée par SAP (
sapse.adt-vscode). - Installez-la puis rechargez VS Code. La version 1.2 nécessite VS Code 1.109 ou plus récent.
Remarque : l'extension s'active à la demande — son language server ne démarre que lorsque vous ouvrez un objet ou un dossier ABAP.
Se connecter à un système
Toutes les commandes ADT se trouvent dans la palette de commandes, catégorie ABAP (Ctrl+Shift+P, puis tapez ABAP).
- Lancez ABAP: New Destination... et suivez l'assistant (système, mandant, utilisateur, langue de connexion).
- Lancez ABAP: Log On to Destination... pour ouvrir une session.
- ABAP: Open Destination Settings (JSON) affiche toutes les destinations en JSON — pratique pour recopier une configuration sur une autre machine.
Ajouter des objets à l'espace de travail
Au lieu d'une arborescence de projet, les objets ABAP apparaissent comme des dossiers dans l'Explorer de VS Code :
- Add Package as Folder to Workspace... — un package et ses sous-packages
- Add Local Objects of User as Folder to Workspace... — vos objets
$TMP - Add Destination as Folder to Workspace... — tout le système
Pour aller directement à un objet, utilisez Open Object... (Ctrl+Shift+A), exactement comme dans Eclipse.
Les raccourcis à retenir
| Raccourci | Action |
|---|---|
| Ctrl+Shift+A | Ouvrir un objet ABAP |
| Ctrl+Shift+Alt+N | Créer un objet ABAP |
| Ctrl+F2 | Contrôler l'objet (syntaxe) |
| Ctrl+F3 | Activer |
| Ctrl+Shift+F3 | Activer tous les objets inactifs |
| F5 | Exécuter la classe comme application console |
| Ctrl+Shift+D | Ouvrir la documentation ABAP |
| Ctrl+Shift+F10 | Lancer les tests ABAP Unit |
| Ctrl+Shift+F11 | Lancer les tests ABAP Unit avec couverture |
| Ctrl+U | Déverrouiller l'objet |
Si vous venez d'Eclipse ADT, les plus importants — Ctrl+F2, Ctrl+F3 et Ctrl+Shift+A — fonctionnent de la même manière.
Créer des objets
Create New ABAP Object... ouvre un assistant : choisissez le type d'objet (classe, vue CDS, behavior definition, service binding...), le package et, pour un package transportable, l'ordre de transport. Les aides à la saisie de l'assistant interrogent le système pendant la frappe.
Transport Organizer
La barre latérale de l'Explorer reçoit une vue ABAP Transport Organizer. Vous y voyez vos ordres et tâches, pouvez changer le propriétaire, ajouter des utilisateurs ou des objets, ouvrir les modifications d'un ordre et copier les numéros d'ordre ou de tâche.
Release est disponible directement dans le menu contextuel. Comme une libération ne peut pas être annulée, je préfère libérer uniquement selon le processus convenu dans l'équipe.
Historique des versions et comparaison
La vue ABAP Timeline liste les versions de l'objet courant. De là :
- Compare with Latest — ce qui a changé par rapport à la version active
- Select for Compare / Compare with Selected — comparer deux versions quelconques
- Toggle Version — basculer entre source active et inactive
Qualité : ABAP Unit et ATC
Les tests ABAP Unit apparaissent dans le Test Explorer standard de VS Code. Lancez une fois Discover ABAP Unit Tests (Ctrl+Shift+F9) ou activez la découverte automatique pour l'éditeur actif ; ensuite, les tests s'exécutent avec ou sans couverture.
Pour les contrôles statiques, Run ABAP Test Cockpit contrôle l'objet courant et Run ABAP Test Cockpit With... permet de choisir une variante — par exemple une variante cloud readiness. Les résultats arrivent dans la vue Problems, d'où vous pouvez même faire une Request Exemption.
SQL Notebook pour l'aperçu des données
ABAP: SQL Notebook crée un notebook dont chaque cellule est une requête ABAP SQL. Chaque cellule peut viser un système différent (Set Cell System) et possède sa propre limite de lignes (Set Cell Max. Rows). Idéal pour garder ses requêtes d'analyse à côté de ses notes.
ABAP Feeds et débogueur
Le panneau ABAP Feeds, en bas, s'abonne aux flux du système (par exemple les erreurs d'exécution) avec des filtres modifiables. Le débogueur ABAP est activé par défaut (adt.debugger.enableDebugger) et utilise l'interface de débogage habituelle de VS Code.
Assistants IA : le serveur MCP
L'extension peut démarrer un serveur MCP local (port par défaut 2236). Les assistants IA compatibles MCP peuvent alors rechercher, lire et contrôler des objets ABAP via vos sessions ouvertes.
La sécurité est prévue d'emblée : les restrictions d'accès sont actives par défaut, et avec une liste d'autorisation vide, rien n'est permis. Vous indiquez explicitement les destinations et packages autorisés. L'outil edit file pour les objets ABAP est lui aussi désactivé par défaut.
{
// 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
}
Mon conseil : commencez en lecture seule (
packages-objectChangesvide) et n'autorisez les modifications que pour un package bac à sable.
Quand Eclipse reste nécessaire
Tout ce qu'offre Eclipse ADT n'est pas encore dans VS Code. Dans ce cas, Open with ADT for Eclipse ouvre l'objet courant dans Eclipse, et Share Link... crée un lien qu'un collègue peut ouvrir dans l'un ou l'autre outil.
En résumé
ADT for VS Code est déjà suffisant pour le travail quotidien en RAP et CDS : navigation rapide, activation, transports, tests unitaires, ATC et aperçu des données sont là — ainsi qu'un moyen sûr d'associer des assistants IA au développement ABAP. Essayez-le à côté d'Eclipse ; passer de l'un à l'autre se fait sans effort.
Commentaires