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
- VS Code'u açın
- Extensions (Ctrl+Shift+X) menüsüne gidin
- "BERK Language Support" aratyın
- "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:
| Komut | Açıklama | Kısayol |
|---|---|---|
| BERK: Build | Projeyi derle | Ctrl+B |
| BERK: Run | Çalıştır | F5 |
| BERK: Build Release | Release derle | Ctrl+Shift+B |
| BERK: Clean | Build cache temizle | - |
| BERK: New Project | Yeni proje oluştur | - |
| BERK: Generate Docs | Dokümantasyon üret | - |
| BERK: Restart LSP | Language server yeniden başlat | - |
Kod Snippetleri
Türkçe Snippetler
| Trigger | Açıklama |
|---|---|
fonk | Fonksiyon şablonu |
eğer | If-else bloğu |
için | For döngüsü |
yapı | Struct tanımı |
enum | Enum tanımı |
test | Test fonksiyonu |
ana | Main 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ı
-
✅ LSP Cache kullanın:
\"berk.lsp.cache.enabled\": true -
✅ Incremental parsing aktif:
\"berk.lsp.incrementalSync\": true -
⚠️ Çok büyük dosyalarda semantic tokens kapatın:
\"berk.semanticTokens.enabled\": false
Sorun Giderme
LSP Çalışmıyorsa
- Command Palette → "BERK: Restart LSP"
- VS Code'u yeniden başlatın
- Output panel → "BERK Language Server" log'larına bakın
Syntax Highlighting Yok
- Dosya uzantısı
.berkolmalı - 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