← Tüm yazılar

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.

ADTVS CodeABAPAraçlarYapay Zekâ

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

  1. Extensions görünümünü açın (Ctrl+Shift+X).
  2. ABAP Development Tools diye aratın ve yayıncısı SAP olan eklentiyi seçin (sapse.adt-vscode).
  3. Kurup VS Code'u yeniden yükleyin. 1.2 sürümü VS Code 1.109 veya üzerini istiyor.
Extensions görünümünde ABAP Development Tools eklentisi
Extensions görünümünde ABAP Development Tools eklentisi

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

  1. ABAP: New Destination... komutunu çalıştırıp sihirbazı izleyin (sistem, client, kullanıcı, giriş dili).
  2. Oturum açmak için ABAP: Log On to Destination... çalıştırın.
  3. ABAP: Open Destination Settings (JSON) tüm destination'ları JSON olarak gösterir — kurulumu başka bir makineye taşımak için çok pratik.
Komut paletinden yeni destination oluşturma
Komut paletinden yeni destination oluşturma

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... — $TMP nesneleriniz
  • 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.

Explorer'da çalışma alanı klasörü olarak eklenmiş bir paket
Explorer'da çalışma alanı klasörü olarak eklenmiş bir paket

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.

Create New ABAP Object sihirbazı
Create New ABAP Object sihirbazı

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.

ABAP Transport Organizer görünümü
ABAP Transport Organizer görünümü

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ş
ABAP Timeline'dan iki sürümü karşılaştırma
ABAP Timeline'dan iki sürümü karşılaştırma

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.

Test Explorer'da ABAP Unit sonuçları ve Problems'ta ATC bulguları
Test Explorer'da ABAP Unit sonuçları ve Problems'ta ATC bulguları

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.

Bir sorgu ve sonucuyla SQL Notebook
Bir sorgu ve sonucuyla SQL Notebook

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

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
}
VS Code ayar düzenleyicisinde MCP sunucusu ayarları
VS Code ayar düzenleyicisinde MCP sunucusu ayarları

Tavsiyem: salt okuma erişimiyle başlayın (packages-objectChanges boş) 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

Yorum yazın