Kod grafı
bee graph, mevcut Git çalışma kopyasının yerel grafıyla kod sorularını yanıtlar.
MongoDB veya bee init gerekmez; çıktı deponun dışında, Bee’nin yerel dizininde saklanır.
Oluşturma ve durum
Bölüm başlığı “Oluşturma ve durum”Bir Git çalışma kopyası içinde çalıştırın:
bee graph build --jsonbee graph status --check --jsonbee graph skillskill, ajana verebileceğiniz rehberi yazdırır; hook kurmaz, dosya yazmaz.
status --check: güncel graf 0, eski graf 6, olmayan graf 3.
Başka bir çalışma kopyası için --root /path/to/repo kullanın.
Outline ile kaynak aralıklarını bulun
Bölüm başlığı “Outline ile kaynak aralıklarını bulun”bee graph outline src/Catalog/Product.cs --jsonVarsayılan çıktı JSON’dır; en fazla 100 bildirim ve 12.000 UTF-16 karakter içerir. --limit 1..1000 ve --budget 2048..65536 ile ayarlayın. Güncellik denetimi bütün kaynak ağacının ve proje bağlamının hash’ini hesaplar; inspectionMs bu işin süresini gösterir. On saniyelik sonuç kabul bütçesi kesin bir I/O zaman aşımı değildir. Çıkış kodları: 0 tamamlandı, 3 harita/yol yok, 4 geçersiz kullanım, 5 eski, eksik veya desteklenmeyen sonuç.
Repo içinde var olan göreli bir dosya yolu kullanın. outline, bildirimleri
kaynak sırasıyla başlangıç ve bitiş satırlarıyla listeler. Böylece ajan bütün
dosya yerine gereken aralığı okuyabilir. Partial bildirimlerin ayrı konumları
korunur; kaynak gövdeleri çıktıya eklenmez.
C# derleyicisinin ürettiği, kaynakta ayrı bildirimi olmayan üyeler dışlanır.
Yazılmış constructor’lar, positional record property’leri ve üretilmiş kaynak
dosyalarındaki bildirimler korunur. result.counts.excludedSynthesized bu ayrı
sayıyı gösterir; total, shown ve omitted filtrelenmiş kaynak bildirimlerini sayar.
Komut kayıtlı grafı okur; build, refresh veya sorgu zaman damgası güncellemesi
yapmaz. Aralıkları kullanmadan kaynak kimliğini, güncelliği, kapsamı ve
gösterilmeyen öğeleri kontrol edin. Eksik veya eski graf için açıkça
bee graph build çalıştırmak gerekebilir; bilinmeyen kaynak kimliği güncellik
garantisi değildir. Çıktı sınırları için bee graph outline --help kullanın.
Graph kapsamı C#, Vue/TypeScript/TSX ve Swift/Kotlin bildirimlerini içerir.
Mobil bildirim grafı ile derleyici analizi ayrı yeteneklerdir.
C# çağrıları ve değişiklik etkisi
Bölüm başlığı “C# çağrıları ve değişiklik etkisi”Roslyn, C# projesi bazında bildirimleri ve interface/override dahil çağrı ilişkilerini çözer. Örnek sembolü kendi kodunuzdaki bir sembolle değiştirin; belirsiz isimler tahmin yerine aday döndürür.
bee graph callers 'OrderService.Save' --jsonbee graph callees 'OrderService.Save' --jsonbee graph explain 'OrderService.Save' --jsonbee graph impact 'OrderService.Save' --jsonHer yanıt kapsam ve güncellik içerir. Eksik restore çıktısı veya referanslar
çözümlemeyi düşürebilir; yanıtı eksiksiz saymadan kapsamı okuyun. Bee sizin yerinize
dotnet restore çalıştırmaz.
Kısa yanıtlar ve bütün çıktıyı kapsayan bütçe
Bölüm başlığı “Kısa yanıtlar ve bütün çıktıyı kapsayan bütçe”Beta.11’den itibaren callers, callees, impact ve explain şu seçenekleri destekler:
bee graph callers 'OrderService.Save' --json --compact --output-budget-chars 8000bee graph explain 'src/App.vue' --json --compact --output-budget-chars 8000--compact, sonuç listesindeki display, project ve test gibi açıklayıcı
alanları çıkarır. --output-budget-chars N,
son satır sonu dahil bütün stdout JSON’unu UTF-16 kod birimiyle sınırlar; alt
sınır 256’dır. İkisi de --json gerektirir ve tek başına kullanılabilir.
Mevcut --budget sorgu seçeneğini, graf kapsamını veya yenileme politikasını değiştirmez.
Başarılı yanıtta graf/kaynak kimliği, güncellik ve kapsam korunur. Bütün ilişkilerin
gösterildiğini varsaymadan output.truncated, output.omittedItems ve
output.omittedByPath alanlarını okuyun. Zorunlu üstveri sığmazsa komut
output_budget_too_small ve çıkış kodu 4 döndürür; bütçeyi artırın.
Bu sınır token sayısı veya sorgu hızlanma garantisi değildir. İki seçenek de
verilmezse mevcut JSON biçimi korunur.
Vue, TypeScript ve TSX
Bölüm başlığı “Vue, TypeScript ve TSX”.vue, .ts, .tsx bildirimleri ve statik import ilişkileri çıkarılır. Vue
<script> ve <script setup> bildirimlerinde orijinal satır numaraları korunur.
tsconfig baseUrl, paths, kalıtım, yaygın tsconfig.app.json referansları ve
desteklenen sabit Vite alias’ları okunur. Dinamik yapılandırma çalıştırılmaz;
desteklenmeyen import’lar çözümlenmemiş kalır.
src/App.vue içeren bir depoda:
bee graph explain 'src/App.vue' --jsonexplain, import’ları ve ters ilişkileri gösterir. İki mevcut dosya veya sembol
kimliğiyle path, import kenarlarından yol bulabilir:
bee graph path 'src/App.vue' 'src/components/Welcome.vue' --jsonKendi deponuzda bulunan yolları kullanın. Vue/TS kapsamı calls: "none"
bildirir: bildirim ve import grafıdır, semantik çağrı hedefleri değildir.
Sözdizimi grafı TypeScript derleyicisinin kaynak dosya kümesini yeniden üretmez.
Swift ve Kotlin bildirimleri
Bölüm başlığı “Swift ve Kotlin bildirimleri”Beta.12 ile .swift, .kt ve .kts dosyaları graph build ve outline kapsamına girer. Önce bee graph build --json, ardından deponuzda var olan bir yolla bee graph outline Sources/App.swift --json çalıştırın. Ayrıştırıcı için Swift/Kotlin derleyicisi veya JVM gerekmez.
Desteklenen alt küme; tip, fonksiyon, özellik ve tip takma adlarını dosya/tip üyeliği ve gerçek satır aralıklarıyla çıkarır. Import ve kalıtım/uyum ilişkileri sözdizimine dayanır. Bağımlılık sembolik olabilir; dosyalar arası tip çözümleme, extension üyelerini birleştirme ve anlamsal çağrı çözümleme yoktur. Kapsam açıkça calls:none bildirir.
Her dosyanın parseStatus alanını okuyun: parsed, desteklenen alt kümenin tanı olmadan tarandığını belirtir; programın derlendiğini kanıtlamaz. partial veya error, çıkarılabilen bildirimleri korur, sınırı açıklar ve çıkış 5 döndürür. Kaynak sınırları 16 MiB, 250.000 token ve 128 iç içe kapsamdır. Desteklenmeyen sözdizimini boş ve tam bir dosya saymayın. Sonraki build, yeni extractor sürümü için eski grafı yeniler.
Güncel tutma
Bölüm başlığı “Güncel tutma”Kaynak ve yapılandırma değişiklikleri güncellik kontrolüne dahildir. İlişki
sorgularında olmayan graf istek üzerine oluşur; eski graf süre sınırı içinde
otomatik yenilenebilir.
--fresh yenilemeyi zorlar, --no-refresh yeniden oluşturmadan kayıtlı grafı okur.
Süre sınırı aşıldığında yanıt eski olarak işaretlenebilir.
Script modülü ekleme, silme veya yeniden adlandırma tam oluşturmayı tetikler; import kaybolmuş hedefi tutmaz. Okumalar ve kenarlar mevcut çalışma kopyası içinde kalır. Shell grafı ve semantik Vue/TS çağrıları beta.4’e dahil değildir.