Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

VS Code Eklentisi

BERK VS Code Extension, profesyonel geliştirme deneyimi için tam özellikli bir IDE desteği sunar. Language Server Protocol (LSP) ile güçlendirilmiştir.

Kurulum

Marketplace Üzerinden

  1. VS Code'u açın
  2. Extensions (Ctrl+Shift+X) menüsüne gidin
  3. "BERK Language Support" aratyın
  4. "Install" butonuna tıklayın

Komut Satırından

code --install-extension ArslantasM-tools.berk-lang

Temel Özellikler

1. Syntax Highlighting

  • ✅ Türkçe ve İngilizce anahtar kelimeler
  • ✅ String interpolasyon
  • ✅ Yorum satırları
  • ✅ Tip vurguları
  • ✅ Fonksiyon isimleri

2. IntelliSense (Code Completion)

// 'değişken' yazın ve Ctrl+Space
değişken x = 42

// 'x.' yazın - otomatik metodlar gösterilir
x.to_string()
x.karakter_uzunluğu()

3. Go to Definition (F12)

Herhangi bir fonksiyon/değişken üzerine F12 basın:

değişken sonuç = hesapla(10)  // F12 ile hesapla() tanımına git

4. Find All References (Shift+F12)

Bir sembolün tüm kullanıldığı yerleri bulun

5. Rename Symbol (F2)

Güvenli isim değiştirme - tüm referanslar otomatik güncellenir

6. Hover Information

Herhangi bir sembolün üzerine gelin:

  • Tip bilgisi
  • Dokümantasyon
  • İmza bilgisi

7. Diagnostics (Error Checking)

Gerçek zamanlı hata kontrolü:

  • 🔴 Syntax hataları
  • 🟠 Uyarılar
  • 🔵 Bilgilendirmeler

8. Code Actions (Ctrl+.)

Hızlı düzeltmeler ve refactoring:

  • Import otomatik ekleme
  • Tip açıklaması ekleme
  • Değişken ayıklama

9. Signature Help (Ctrl+Shift+Space)

fonksiyon hesapla(x: sayı, y: sayı, z: sayı) yap
son

hesapla(  // Ctrl+Shift+Space - parametre yardımı

10. Document Symbols (Ctrl+Shift+O)

Dosyadaki tüm semboller (fonksiyonlar, değişkenler) listesi

11. Semantic Tokens

Gelişmiş syntax highlighting - tip bilgisine dayalı renklendirme

12. Inlay Hints

Inline tip ve parametre açıklamaları

13. Code Lens

Referans sayıları ve hızlı aksiyonlar

Komutlar

Command Palette (Ctrl+Shift+P) üzerinden:

KomutAçıklamaKısayol
BERK: BuildProjeyi derleCtrl+B
BERK: RunÇalıştırF5
BERK: Build ReleaseRelease derleCtrl+Shift+B
BERK: CleanBuild cache temizle-
BERK: New ProjectYeni proje oluştur-
BERK: Generate DocsDokümantasyon üret-
BERK: Restart LSPLanguage server yeniden başlat-

Kod Snippetleri

Türkçe Snippetler

TriggerAçıklama
fonkFonksiyon şablonu
eğerIf-else bloğu
içinFor döngüsü
yapıStruct tanımı
enumEnum tanımı
testTest fonksiyonu
anaMain fonksiyonu

Kullanım Örneği

// 'fonk' yazın ve Tab
fonksiyon isim(parametre: tip) -> tip yap
    // kod buraya
son

Debugging Desteği

launch.json yapılandırması:

{
  \"version\": \"0.2.0\",
  \"configurations\": [
    {
      \"type\": \"berk\",
      \"request\": \"launch\",
      \"name\": \"Debug BERK Program\",
      \"program\": \"${workspaceFolder}/main.berk\",
      \"stopOnEntry\": false
    }
  ]
}

Ayarlar

settings.json:

{
  \"berk.lsp.enabled\": true,
  \"berk.lsp.trace.server\": \"off\",
  \"berk.build.optimizationLevel\": 2,
  \"berk.format.indentSize\": 4,
  \"berk.lint.warnings\": true,
  \"berk.inlayHints.enabled\": true,
  \"berk.semanticTokens.enabled\": true
}

Format on Save

{
  \"[berk]\": {
    \"editor.formatOnSave\": true,
    \"editor.defaultFormatter\": \"ArslantasM-tools.berk-lang\"
  }
}

Task Runner

tasks.json:

{
  \"version\": \"2.0.0\",
  \"tasks\": [
    {
      \"label\": \"build\",
      \"type\": \"shell\",
      \"command\": \"berk-lang build\",
      \"group\": {
        \"kind\": \"build\",
        \"isDefault\": true
      }
    }
  ]
}

Problem Matcher

BERK hata formatını otomatik algılar:

error[E0308]: tip uyuşmazlığı
  --> src/main.berk:5:14
   |
 5 |     değişken x: sayı = \"merhaba\";
   |              ^^^^      ^^^^^^^^^

Workspace Önerileri

.vscode/extensions.json:

{
  \"recommendations\": [
    \"ArslantasM-tools.berk-lang\"
  ]
}

Performans İpuçları

  1. LSP Cache kullanın:

    \"berk.lsp.cache.enabled\": true
    
  2. Incremental parsing aktif:

    \"berk.lsp.incrementalSync\": true
    
  3. ⚠️ Çok büyük dosyalarda semantic tokens kapatın:

    \"berk.semanticTokens.enabled\": false
    

Sorun Giderme

LSP Çalışmıyorsa

  1. Command Palette → "BERK: Restart LSP"
  2. VS Code'u yeniden başlatın
  3. Output panel → "BERK Language Server" log'larına bakın

Syntax Highlighting Yok

  1. Dosya uzantısı .berk olmalı
  2. Language mode "BERK" seçili olmalı (sağ alt köşe)

Özet

  • ✅ 13 LSP özelliği
  • ✅ Syntax highlighting
  • ✅ Code completion
  • ✅ Go to definition
  • ✅ Debugging
  • ✅ Task runner
  • ✅ Snippetler
  • ✅ Format on save