VS Code'da ABAP Geliştirme — ADT for VS Code Pratik Rehberi
SAP'nin resmi ABAP Development Tools for VS Code eklentisini kurmak, sisteme bağlanmak ve günlük işte en çok kullanılan özellikler — kısayollar, transport, unit test, ATC, SQL notebook ve yapay zekâ asistanları için MCP sunucusu.
Yıllarca ABAP geliştirmek Eclipse (ya da SE80) demekti. ABAP Development Tools for VS Code ile SAP artık resmi bir eklenti sunuyor; CAP, Fiori ve JavaScript için zaten kullandığınız editörde ABAP da yazabiliyorsunuz.
Bu rehber kendi günlük kullanımıma dayanan uygulamalı bir tur: neyi kurmalı, nasıl bağlanmalı, hangi özellikler en çok zaman kazandırıyor. Eklentinin 1.2 sürümünü esas alıyor.
Neden ABAP için VS Code?
- Her şey için tek editör — ABAP, CDS, Fiori Elements, UI5 ve CAP yan yana.
- Hafif açılış ve zaten bildiğiniz VS Code özellikleri: çoklu imleç, komut paleti, Git, temalar.
- Yapay zekâya hazır — eklenti yerel bir MCP sunucusu çalıştırabiliyor; yapay zekâ asistanları ABAP nesnelerini kontrollü biçimde okuyabiliyor.
Kurulum
- Extensions görünümünü açın (Ctrl+Shift+X).
- ABAP Development Tools diye aratın ve yayıncısı SAP olan eklentiyi seçin (
sapse.adt-vscode). - Kurup VS Code'u yeniden yükleyin. 1.2 sürümü VS Code 1.109 veya üzerini istiyor.
Not: Eklenti kurulur kurulmaz çalışmaya başlamaz; ilk kez bir ABAP nesnesi ya da klasörü açtığınızda devreye girer.
Sisteme bağlanma
Tüm ADT komutları komut paletinde ABAP kategorisinde (Ctrl+Shift+P, sonra ABAP yazın).
- ABAP: New Destination... komutunu çalıştırıp sihirbazı izleyin (sistem, client, kullanıcı, giriş dili).
- Oturum açmak için ABAP: Log On to Destination... çalıştırın.
- ABAP: Open Destination Settings (JSON) tüm destination'ları JSON olarak gösterir — kurulumu başka bir makineye taşımak için çok pratik.
Nesneleri çalışma alanına getirmek
Proje ağacı yerine ABAP nesneleri, VS Code Explorer'da normal klasörler olarak görünür:
- Add Package as Folder to Workspace... — bir paket ve alt paketleri
- Add Local Objects of User as Folder to Workspace... —
$TMPnesneleriniz - Add Destination as Folder to Workspace... — tüm sistem
Herhangi bir nesneye doğrudan gitmek için Open Object... (Ctrl+Shift+A) — tıpkı Eclipse'teki gibi.
Ezberlemeye değer kısayollar
| Kısayol | İşlem |
|---|---|
| Ctrl+Shift+A | ABAP nesnesi aç |
| Ctrl+Shift+Alt+N | Yeni ABAP nesnesi oluştur |
| Ctrl+F2 | Nesneyi kontrol et (sözdizimi) |
| Ctrl+F3 | Aktive et |
| Ctrl+Shift+F3 | Tüm inaktif nesneleri aktive et |
| F5 | Sınıfı konsol uygulaması olarak çalıştır |
| Ctrl+Shift+D | ABAP dokümantasyonunu aç |
| Ctrl+Shift+F10 | ABAP Unit testlerini çalıştır |
| Ctrl+Shift+F11 | ABAP Unit testlerini coverage ile çalıştır |
| Ctrl+U | Nesne kilidini kaldır |
Eclipse ADT'den geliyorsanız en önemlileri — Ctrl+F2, Ctrl+F3 ve Ctrl+Shift+A — aynı şekilde çalışıyor.
Nesne oluşturma
Create New ABAP Object... bir sihirbaz açar: nesne türünü (sınıf, CDS view, behavior definition, service binding...), paketi ve transport edilebilir paketlerde transport request'i seçersiniz. Sihirbazdaki arama yardımları siz yazarken sistemde arar.
Transport Organizer
Explorer kenar çubuğuna bir ABAP Transport Organizer görünümü gelir. Request ve task'larınızı görebilir, sahibini değiştirebilir, kullanıcı ya da nesne ekleyebilir, bir request'in değişikliklerini açabilir ve request/task numaralarını panoya kopyalayabilirsiniz.
Release doğrudan sağ tık menüsünde. Release edilmiş bir transport geri alınamadığı için ben yalnızca ekibin üzerinde anlaştığı süreçle release etmeyi tercih ediyorum.
Sürüm geçmişi ve karşılaştırma
ABAP Timeline görünümü açık nesnenin sürümlerini listeler. Buradan:
- Compare with Latest — aktif sürüme göre ne değişti
- Select for Compare / Compare with Selected — herhangi iki sürümü karşılaştırma
- Toggle Version — aktif ve inaktif kaynak arasında geçiş
Kalite: ABAP Unit ve ATC
ABAP Unit testleri standart VS Code Test Explorer'da görünür. Bir kez Discover ABAP Unit Tests (Ctrl+Shift+F9) çalıştırın ya da aktif editör için otomatik keşfi açın; sonra testleri coverage'lı ya da coverage'sız çalıştırabilirsiniz.
Statik kontroller için Run ABAP Test Cockpit açık nesneyi kontrol eder, Run ABAP Test Cockpit With... ise kontrol varyantı seçtirir — örneğin cloud readiness varyantı. Bulgular Problems görünümüne düşer; oradan doğrudan Request Exemption bile isteyebilirsiniz.
Veri önizleme için SQL Notebook
ABAP: SQL Notebook her hücresi bir ABAP SQL sorgusu olan bir notebook oluşturur. Her hücre farklı bir sisteme bakabilir (Set Cell System) ve kendi satır limitine sahiptir (Set Cell Max. Rows). Analiz sorgularınızı notlarınızla yan yana tutmanın çok iyi bir yolu.
ABAP Feeds ve debugger
Alttaki ABAP Feeds paneli, düzenleyebileceğiniz filtrelerle sistem akışlarına (örneğin çalışma zamanı hataları) abone olur. ABAP debugger varsayılan olarak açıktır (adt.debugger.enableDebugger) ve tanıdık VS Code hata ayıklama arayüzünü kullanır.
Yapay zekâ asistanları: MCP sunucusu
Eklenti yerel bir MCP sunucusu başlatabilir (varsayılan port 2236). MCP destekleyen yapay zekâ asistanları da açık oturumlarınız üzerinden ABAP nesnelerini arayabilir, okuyabilir ve kontrol edebilir.
Güvenlik baştan düşünülmüş: erişim kısıtlamaları varsayılan olarak açık, izin listesi boşsa hiçbir şeye izin yok. Hangi destination ve paketlerin kullanılabileceğini siz açıkça yazarsınız. ABAP nesneleri için edit file aracı da varsayılan olarak kapalı.
{
// 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
}
Tavsiyem: salt okuma erişimiyle başlayın (
packages-objectChangesboş) ve değişikliğe yalnızca bir sandbox paketi için izin verin.
Eclipse'e hâlâ ihtiyaç duyduğunuzda
Eclipse ADT'deki her şey henüz VS Code'da yok. Bu durumlarda Open with ADT for Eclipse açık nesneyi Eclipse'te açar, Share Link... ise bir meslektaşınızın iki araçtan birinde açabileceği bir bağlantı oluşturur.
Özet
ADT for VS Code günlük RAP ve CDS işleri için şimdiden yeterince iyi: hızlı gezinme, aktivasyon, transport, unit test, ATC ve veri önizleme hepsi orada — üstelik yapay zekâ asistanlarını ABAP geliştirmeye güvenli şekilde dahil etmenin bir yolu da var. Eclipse'in yanında bir deneyin; ikisi arasında gidip gelmek hiç zahmetli değil.
Yorumlar