Liigu sisu juurde

Koodigraaf

bee graph vastab koodiküsimustele praeguse Git-töökoopia kohaliku graafi põhjal. MongoDB-d ega bee init pole vaja; väljund asub väljaspool repositooriumi Bee kohalikus kodukaustas.

Käivita Git-töökoopias:

Terminal window
bee graph build --json
bee graph status --check --json
bee graph skill

skill prindib agendile antava juhendi; see ei paigalda hook’i ega kirjuta faile. status --check: värske graaf 0, aegunud 6, puuduv 3. Teise töökoopia jaoks kasuta --root /path/to/repo.

Leia lähtekoodi vahemikud käsuga outline

Jaotis „Leia lähtekoodi vahemikud käsuga outline”
Terminal window
bee graph outline src/Catalog/Product.cs --json

Vaikimisi on väljund JSON, kuni 100 deklaratsiooni ja 12 000 UTF-16 märgiga. Piire saab muuta valikutega --limit 1..1000 ja --budget 2048..65536. Värskuse kontroll räsib kogu lähtepuu ja projekti konteksti; inspectionMs näitab selle töö kestust. Kümnesekundiline tulemuse vastuvõtmise eelarve ei ole range I/O ajalimiit. Väljumiskoodid: 0 täielik, 3 graaf/tee puudub, 4 vigane kasutus, 5 aegunud, mittetäielik või toetamata tulemus.

Kasuta olemasoleva faili hoidla suhtes määratud teed. outline loetleb deklaratsioonid lähtekoodi järjekorras koos algus- ja lõpureaga. Nii saab agent lugeda vajaliku vahemiku kogu faili asemel. Osaliste deklaratsioonide eraldi asukohad säilivad. Lähtekoodi sisu väljundisse ei lisata.

C# kompilaatori loodud liikmed, millel pole oma lähtekoodi deklaratsiooni, jäetakse välja. Kirjutatud konstruktorid, positsiooniliste record-tüüpide omadused ja genereeritud lähtefailide deklaratsioonid säilivad. Eraldi loendur result.counts.excludedSynthesized näitab välistatud liikmeid; total, shown ja omitted loendavad filtreeritud lähtekoodi deklaratsioone.

Käsk loeb salvestatud graafi seda ehitamata või värskendamata ega muuda päringu ajatemplit. Enne vahemike kasutamist kontrolli allika identiteeti, värskust, katvust ja väljajäetud kirjete arvu. Puuduv või vanem graaf võib vajada eraldi bee graph build käsku; tundmatu allika identiteet ei taga värskust. Väljundipiirangud: bee graph outline --help. Graaf hõlmab C#, Vue/TypeScript/TSX-i ning Swifti/Kotlini deklaratsioone. Mobiilide deklaratsioonigraaf ja kompilaatorianalüüs on eraldi võimalused.

C# kutsed ja muudatuse mõju

Jaotis „C# kutsed ja muudatuse mõju”

Roslyn lahendab deklaratsioonid ja kutseseosed C# projekti kaupa, sealhulgas liidese- ja ülekirjutamisseosed. Asenda näidissümbol oma koodi sümboliga; mitmetähenduslik nimi annab oletuse asemel kandidaadid.

Terminal window
bee graph callers 'OrderService.Save' --json
bee graph callees 'OrderService.Save' --json
bee graph explain 'OrderService.Save' --json
bee graph impact 'OrderService.Save' --json

Iga vastus sisaldab katvust ja värskust. Puuduvad restore-väljundid või viitekoostud võivad lahendamist vähendada; enne täielikkuse eeldamist vaata katvust. Bee ei käivita sinu eest dotnet restore.

Lühikesed vastused ja kogu väljundi eelarve

Jaotis „Lühikesed vastused ja kogu väljundi eelarve”

Alates beta.11-st toetavad callers, callees, impact ja explain järgmisi valikuid:

Terminal window
bee graph callers 'OrderService.Save' --json --compact --output-budget-chars 8000
bee graph explain 'src/App.vue' --json --compact --output-budget-chars 8000

--compact jätab tulemuste loendi kirjetest välja kirjeldavad väljad, näiteks display, project ja test. --output-budget-chars N piirab kogu stdout JSON-i koos lõpu reavahetusega UTF-16 koodiühikutes; miinimum on 256. Mõlemad nõuavad --json ja neid saab kasutada eraldi. Need ei muuda senist päringuvalikut --budget, graafi katvust ega värskenduspoliitikat.

Edukas vastus säilitab graafi/allika identiteedi, värskuse ja katvuse. Enne kõigi seoste olemasolu eeldamist loe output.truncated, output.omittedItems ja output.omittedByPath. Kui nõutavad metaandmed ei mahu, tagastab käsk output_budget_too_small väljumiskoodiga 4; suurenda eelarvet. See ei ole tokenipiir ega kiirema päringu garantii. Ilma mõlema valikuta jääb senine JSON-vorming samaks.

Graaf eraldab .vue, .ts, .tsx deklaratsioonid ja staatilised impordid. Vue <script> ja <script setup> säilitavad lähtefaili reanumbrid. Toetatakse tsconfigi baseUrl, paths, pärilust, levinud tsconfig.app.json viiteid ning toetatud literaalseid Vite aliaseid. Dünaamilist konfiguratsiooni ei käivitata; toetamata impordid jäävad lahendamata.

Kui repositooriumis on src/App.vue:

Terminal window
bee graph explain 'src/App.vue' --json

explain näitab importe ja pöördimpordiseoseid. Kahe olemasoleva faili või sümboli ID vahel järgib path impordiservi:

Terminal window
bee graph path 'src/App.vue' 'src/components/Welcome.vue' --json

Kasuta oma töökoopias olemasolevaid teid. Vue/TS katvus ütleb calls: "none": need on deklaratsioonid ja impordid, mitte semantilised kutsesihtmärgid. Süntaksigraaf ei jäljenda TypeScripti kompilaatori lähtefailide hulka.

Swifti ja Kotlini deklaratsioonid

Jaotis „Swifti ja Kotlini deklaratsioonid”

Alates beta.12-st osalevad .swift, .kt ja .kts failid graafi ehitamises ja ülevaadetes. Käivita bee graph build --json, seejärel bee graph outline Sources/App.swift --json, kasutades oma töökoopias olemasolevat teed. Parser ei vaja Swifti või Kotlini kompilaatorit ega JVM-i.

Toetatud alamhulk hõlmab tüüpe, funktsioone, omadusi ja tüübialiaseid koos faili/tüübi kuuluvuse ning füüsiliste reavahemikega. Impordid ja pärilusseosed põhinevad süntaksil. Sõltuvus võib olla sümboolne; failideülest tüüpide sidumist, laienduste liikmete ühendamist ega semantilisi kutseid ei lahendata. Katvus näitab selgelt calls:none.

Loe iga faili parseStatus välja: parsed tähendab, et toetatud alamhulk skanniti diagnostikata, mitte et programm kompileerub. partial või error säilitab leitud deklaratsioonid, selgitab piirangut ja tagastab koodi 5. Piirid on 16 MiB, 250 000 tokenit ja 128 pesastatud ulatust. Toetamata süntaks ei tähenda tühja ja täielikku faili. Järgmine ehitus värskendab vana graafi uue ekstraktori versiooni jaoks.

Lähtekoodi ja konfiguratsiooni muudatused kuuluvad värskuskontrolli. Seosepäringute korral ehitatakse puuduv graaf; aegunud graaf võib piiratud aja jooksul automaatselt värskeneda. --fresh sunnib värskendama, --no-refresh loeb salvestatud graafi ilma ehitamata. Ajalimiidi ületamisel võib vastus olla märgitud aegunuks.

Skriptimooduli lisamine, eemaldamine või ümbernimetamine põhjustab täisehituse, et import ei säilitaks kadunud sihtmärki. Lugemine ja servad jäävad töökoopia piiridesse. Shelli graaf ja semantilised Vue/TS kutsed ei kuulu beta.4 koosseisu.