eclipse-wildwebdeveloper / eclipse-wildwebdeveloper/wildwebdeveloper

JS/TS server is started multiple time

オープン
#598 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

upstream-typescript-language-server
主要言語
Java
スター
201
フォーク
76
平均マージ
4日 7時間
マージ済み PR(30日)
21

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず JS/TS language server の設定とその singleton 設定を調べ、次に他の language server がどのように起動されるかを比較します。workspace ごとに 1 つの server が存在し、content-assist の重複した候補、過剰な Node プロセス、入力の遅延が解消されていることを確認できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, node.js, typescript
領域
developer-experience, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。