Navigácia
ELOWEN · Dokumentácia

Posledná aktualizácia: 20. októbra 2026

Prechádzať dokumentáciu · Jazykový server (LSP)
Prehľad pluginov

Jazykový server (LSP)

LSP kontroluje súbory a odpovedá na otázky ku kódu pomocou jazykových serverov, nie textovým vyhľadávaním. Keď Elowen upraví súbor, skontroluje ho na pozadí a nové diagnostiky odovzdá modelu v jeho ďalšom ťahu. Prvá kontrola server spustí. Vypnutím pluginu sa jeho servery zastavia.

Plugin lsp nainštalujte v Nastavenia → Pluginy → Dostupné. Vyžaduje Elowen 0.30.4 a novší. Oprávnenia Projektu aj nástrojov platia naďalej. Aktuálnu verziu pluginu a minimálnu verziu Elowen nájdete v registri.

Plugin nemá vlastnú stránku v hlavnej navigácii ani panel účtu. V konverzácii LSP v lište chatu ukazuje, či sú živé diagnostiky aktívne. Administrátori môžu v Elowen CLI použiť /lsp na zobrazenie stavu serverov, prepnutie diagnostík a inštaláciu či odobratie serverov spravovaných cez npm.

Nástroj Čo robí
LspDiagnostics Skontroluje súbor a vráti chyby a upozornenia s číslom riadka a stĺpca.
LspGoToDefinition Nájde definíciu symbolu.
LspFindReferences Vypíše odkazy na symbol.
LspHover Zobrazí typ a dokumentáciu symbolu.
LspDocumentSymbol Vypíše funkcie, triedy a premenné v súbore.
LspWorkspaceSymbol Hľadá symboly podľa názvu v aktuálnom pracovnom priestore.

Všetkých šesť nástrojov je iba na čítanie a v režime plánu sú bezpečné. Hľadanie symbolov v pracovnom priestore hlási zlyhanie jazykového servera výslovne, namiesto toho, aby tvrdilo, že sa žiadne symboly nenašli. Zrušené hľadania zostávajú odlišné od zlyhaní servera; prázdny výsledok znamená, že server odpovedal úspešne.

Servery a nastavenie

Elowen podporuje jazykové servery pre TypeScript/JavaScript, Python, Go, Rust, Ruby, PHP, C/C++, Lua, YAML a Bash. Na serveri najprv použije vlastný inštalačný priečinok a potom hľadá v PATH. V spravovaných Projektoch a na spárovanom počítači prehľadá PATH daného cieľa. Chýbajúce servery sa pre daný jazyk preskočia. Spárované počítače používajú vlastné cesty Windows, macOS alebo Linux a vlastné nainštalované jazykové servery.

Servery založené na npm vie Elowen nainštalovať sám: TypeScript, Pyright, Intelephense, YAML a Bash. Ostatné servery nainštalujte s ich jazykovými toolchainmi. Sprievodca nastavením ponúka server TypeScript; administrátori môžu servery inštalovať a odoberať v dialógu /lsp alebo cez API pluginu: POST /brain/lsp/install a POST /brain/lsp/uninstall prijímajú pole command. Stavová routa GET /brain/lsp je dostupná aj bežným používateľom. V spravovaných Projektoch bežia servery v prostredí daného Projektu, zvlášť pre každý účet.

Keď konverzácia používa váš spárovaný počítač, beží tam všetkých šesť nástrojov aj automatické kontroly po úprave. Nainštalujte na tento počítač potrebný jazykový server a sprístupnite ho v PATH klienta. Pracovný adresár konverzácie je jej pracovným priestorom pre LSP. Každý účet a každá konverzácia vlastní samostatný server; zmena vybraného počítača alebo pracovného adresára ten predchádzajúci uvoľní. Nedostupný počítač ohlási zlyhanie. Pripojte sa znova a kontrolu výslovne zopakujte; Elowen požiadavku, ktorá stratila odpoveď, neopakuje.

Konfigurácia a obmedzenia

Doba nečinnosti sa zobrazuje v minútach. Nula vypne uvoľnenie po vypršaní nečinnosti, ale server sa uvoľní aj tak, keď práca jeho konverzácie skončí. Každé nastavenie má krátku nápovedu a ikona nápovedy ponúka podrobnosti.

Nastavenie Kľúč Predvolené Účel
Živá diagnostika diagnosticsEnabled true Kontroluje úpravy. Vypnutím sa zastavia spustené servery; nástroje zostanú v ponuke a hlásia, že je LSP vypnuté. Nastavenie mení príkaz /lsp.
Ako dlho ponechať servery spustené idleTtlMinutes 1 min Záložné uvoľnenie počas práce konverzácie. Nastavte 0, ak chcete vypnúť uvoľnenie podľa veku. Konečné dokončenie server uvoľní aj tak.

Uloženie týchto nastavení aj prepínač v /lsp, ktorý zapisuje rovnaké nastavenie, vyžiadajú reštart Elowen. Plugin nedeklaruje živú konfiguráciu, takže sa zmena prejaví až po reštarte.

Kontroly po úprave sú najlepšou snahou a pokrývajú vlastné operácie Write a Edit v Elowen; externé úpravy sa kontrolujú iba vtedy, keď o to požiada nástroj. Diagnostiky, ktoré čakajú na ďalší ťah konverzácie, sa uchovávajú až pre 20 súborov a čakajúce výsledky si drží až 50 konverzácií. Súbory bez zodpovedajúceho jazykového servera sa preskočia. Ak sa po úprave nepodarí zistenie spravovaného prostredia, hostiteľ zlyhanie zaloguje a kontrolu preskočí; úspešná úprava tým nie je dotknutá. Jazykový server TypeScript používa TypeScript 5.x s pridelením 1024 MiB pre old space a bez samostatného syntax servera. Automatické sťahovanie typings zostáva pri javascriptových projektoch zapnuté.

Každá trvalá konverzácia, vrátane delegovanej podriadenej konverzácie, vlastní najviac jeden server. Automatické diagnostiky aj výslovné nástroje si ho zaobstarávajú v procese, ktorý danú konverzáciu vykonáva. Zmena koreňa projektu alebo jazyka servera zruší staré diagnostiky a pred nahradením starý server uvoľní. Konečné vyrovnanie behu, prerušenie a uvoľnenie relácie uvoľní celý strom procesov; pokus o vyrovnanie, ktorý požaduje pokračovanie, ho neuvoľní. Uvoľnenie sa dokončí až po tom, čo je každý server, ktorý dané uvoľnenie vlastní, potvrdené zatvorený. Ak sa niektorý nepodarí zatvoriť, uvoľnenie sa odmietne a server zostane evidovaný; konverzácia pokračuje s novým serverom a pri ďalšom uvoľnení sa nepotvrdený server zatvára znova. Kontrola nečinnosti beží každých päť sekúnd.