Documentație / IDE-ul

Servere de limbaj și build

Serverele de limbaj pe care Yuli le instalează și le întreține pentru tine, fără npm sau Node în sistem, și adaptoarele de build pentru Python, Go, .NET, sbt, Bazel și Node.

Pentru fiecare limbaj, Yuli folosește serverul de limbaj (LSP) de referință și îl administrează pentru tine: îl descarcă cu permisiunea ta, îl verifică și îl ține în afara proiectelor tale. Java are propriul motor nativ, iar CSS, SCSS și LESS sunt rezolvate de editor.

Servere administrate

Limbaj Server Se instalează din
TypeScript și JavaScript typescript-language-server cu typescript (tsserver-ul real) Registrul npm
Python Pyright Registrul npm
Go gopls go install
Kotlin kotlin-language-server Zip de pe GitHub
C# csharp-ls dotnet tool
PHP Intelephense Registrul npm
Ruby ruby-lsp gem
C și C++ clangd 19.1.2 Zip de pe GitHub
Bash bash-language-server Registrul npm
Dockerfile dockerfile-language-server-nodejs Registrul npm
Rust rust-analyzer Binar de pe GitHub

Fără npm sau Node pe calculatorul tău

  • Pachetele se descarcă direct din registrul npm și se verifică după suma SHA-512 publicată de registru.
  • Nu se rulează scripturi de instalare și nici dependențe opționale.
  • Rulează pe Electron-ul propriu al lui Yuli în modul Node sau pe un Node descărcat de Yuli. Nu e nevoie să ai npm sau Node instalate.
  • Se păstrează în <runtimes>/<server>/<versiune>/.
  • O descărcare se întrerupe doar dacă nu mai sosesc date timp de 60 de secunde; o descărcare lentă, dar activă, nu este întreruptă.

Folderul de runtime-uri al lui Yuli (<runtimes>) depinde de sistem:

%LOCALAPPDATA%\.yulicode\runtimes

Cu permisiunea ta

Dacă lipsește serverul unui limbaj, editorul afișează „Niciun server de limbaj pentru…” cu aceste opțiuni:

Opțiune Ce face
Autorizează descărcarea / Autorizează instalarea Yuli îl instalează și îl pornește
Nu acum Nu mai întreabă în această sesiune
Nu mai întreba Ține minte decizia ta pentru acel server

Nimic nu se va descărca și nu se va executa fără autorizarea ta. Deciziile se salvează în lsp-install-consent.json, lângă configurația ta, pentru fiecare server și fiecare destinație (acest calculator sau un host la distanță).

În Opțiuni globale → Servere de limbaj poți indica calea unui server pe care îl ai deja sau un URL ori o oglindă de încredere.

Adaptoare de build

Yuli detectează cum se construiește fiecare proiect după fișierele lui, fără să ruleze nimic pentru a afla, și folosește acele unelte pentru a compila, rula, testa și afișa rezultatele în panoul Teste.

  • Manageri: pip (requirements*.txt, setup.py sau un pyproject.toml simplu), Poetry, uv, Pipenv și Hatch.
  • Mediu: folosește mediul virtual al proiectului (.venv/venv, folderele Poetry și Pipenv sau cel al Hatch). Fără mediu, folosește run al managerului și, altfel, Python-ul sistemului.
  • Teste: pytest dacă proiectul îl configurează sau depinde de el; altfel, unittest.
  • Același mediu este transmis și lui Pyright, astfel încât completarea automată îți vede dependențele.

Maven, Gradle, Ant și Cargo funcționează ca întotdeauna; vezi Rulare și depanare.

▶ în margine

Lângă cod apare un ▶ pentru a rula sau a depana ce ai în față. Se afișează doar când proiectul este cu adevărat de acel tip.

Limbaj Rulare Depanare
Python if __name__ == "__main__": și teste pytest sau unittest if __name__ == "__main__":
Go func main și func TestX func main și func TestX
C# Teste xUnit, NUnit și MSTest static void Main(

În plus, într-un package.json fiecare script are propriul ▶ (rulează cu managerul proiectului), iar în Java există ▶ pentru clasele cu main, pentru teste și pentru sarcinile Maven și Gradle.

Vezi Depanare pentru sesiunile de depanare și Editor și limbaje pentru restul editorului.