eclipse-wildwebdeveloper / eclipse-wildwebdeveloper/wildwebdeveloper

JS/TS server is started multiple time

Offen
#598 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

upstream-typescript-language-server
Vorherrschende Sprache
Java
Sterne
201
Forks
76
Ø Merge
4 T. 7 Std.
Gemergte PRs (30 T.)
21

Beschreibung

Hi,
I'm beginning to test WildWebDeveloper in a fairly large workspace, with many projects containing TypeScript sources.

I see some strange effects, like:

  • multiple identical Content Assist proposals (I have seen up to six),
  • lots and lots of Node processes as children of Eclipse, even for projects for which I have no editor active,
  • most importantly, a considerable slowdown while typing.

I still need to do more tests, so I cannot give you exact reproduction steps right now.

To give you the picture, I have 22 Eclipse projects that contain TS sources (and a tsconfig.json).
I am also using monorepo-like tooling, so my common libraries are all installed in a top-level node_modules directory.
The fact that there are multiple Node processes running does worry me, since I suspect that the same huge JS libraries are being parsed and evaluated multiple times, by every one of the servers.

I noticed that language server have a singleton property that guarantees that they are started only once per workspace.
However, the JS/TS language server is the only one that is not marked as singleton.
Why is that? Is it a deliberate choice or just an oversight?

A while back I had tried setting it as singleton and everything appeared to work perfectly.

Thanks.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Untersuchung der Konfiguration des JS/TS-Sprachservers und seiner Singleton-Einstellung und vergleiche anschließend, wie andere Sprachserver gestartet werden. Als abgeschlossen gilt die Bestätigung, dass es einen Server pro Workspace gibt und dass doppelte content-assist-Vorschläge, übermäßige Node-Prozesse und eine Verlangsamung beim Tippen behoben sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, node.js, typescript
Bereich
developer-experience, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.