microsoft / microsoft/TypeScript
Initializing tsconfig.json hangs
まだ誰も着手していません。
- 主要言語
- Go
- スター
- 111k
- フォーク
- 14.3k
- 平均マージ
- 2日 4時間
- マージ済み PR(30日)
- 132
説明
🔎 Search Terms
initializing tsconfig.json
🕗 Version & Regression Information
I use typescript 5.9.3 and have not tested other versions.
⏯ Playground Link
No response
💻 Code
🙁 Actual behavior
- Start VS Code
- Open a Vue project
- Open any .vue file
- Initializing 'tsconfig.json' is displayed on the status bar
- Compilation / syntax errors are not displayed.
- It is not possible to use auto completion / intellisense
- Pressing CTRL-Space just shows "Loading"1.
🙂 Expected behavior
For an open .vue file
- Any compilation / syntax errors are displayed.
- It is possible to use auto completion / intellisense (automatically or via CTRL-Space)
Additional information about the issue
Recently my VS Code seems to have a problem initializing my VueJs workspaces. The problem seems to be related to the TSServer. That's why I create the issue here.
When a .vue file is opened VS Code displays "Initializing 'tsconfig.json'" in the status bar in the lower left-hand corner and it takes at least 20 minute if it finishes at all. Because of this all intellisense features (code completion, error display) do not work as well.
Most of my VueJS workspaces are on a network share and the issue occurs with all of them. The issue does not occur with workspaces on the local hard drive. The issue does not occur on another computer (same extensions, same version of VS Code) where the initialization is finished in less than a minute.
I tried deleting the config folders in my profile (.vscode and AppData\Roaming\Code) and just installing the official Vue extension, but the problem persists. I tried installing VS Code from scratch as well without success.
I compared the tsserver logs of the working and not working computer. While the log messages themselves are more or less identical the computer showing the issues seems to pause the initialization for a couple of seconds once in while:
Working computer:
Info 99 [12:22:26.419] FileWatcher:: Added:: WatchInfo: c:/Users/user/.vscode/extensions/vue.volar-3.2.1/types/props-fallback.d.ts 500 undefined WatchType: Closed Script info
Info 100 [12:22:26.420] event:
{"seq":0,"type":"event","event":"createFileWatcher","body":{"id":30,"path":"c:/Users/user/.vscode/extensions/vue.volar-3.2.1/types/props-fallback.d.ts"}}
Info 101 [12:22:26.863] FileWatcher:: Added:: WatchInfo: //server.tld/web_projects/admin/src/locales/de.json 500 undefined WatchType: Closed Script info
Info 102 [12:22:26.863] event:
{"seq":0,"type":"event","event":"createFileWatcher","body":{"id":31,"path":"//server.tld/web_projects/admin/src/locales/de.json"}}
Not-working computer:
Info 99 [12:33:33.274] FileWatcher:: Added:: WatchInfo: c:/Users/user/.vscode/extensions/vue.volar-3.2.1/types/props-fallback.d.ts 500 undefined WatchType: Closed Script info
Info 100 [12:33:33.274] event:
{"seq":0,"type":"event","event":"createFileWatcher","body":{"id":30,"path":"c:/Users/user/.vscode/extensions/vue.volar-3.2.1/types/props-fallback.d.ts"}}
Info 101 [12:34:09.092] FileWatcher:: Added:: WatchInfo: //server.tld/web_projects/admin/src/locales/de.json 500 undefined WatchType: Closed Script info
Info 102 [12:34:09.092] event:
{"seq":0,"type":"event","event":"createFileWatcher","body":{"id":31,"path":"//server.tld/web_projects/admin/src/locales/de.json"}}
Why is there a pause of 36 seconds? I found other event longer pauses of 3 min, 33 secondes, 35 seconds, 3 min 17 seconds, e.g.:
Info 640 [12:38:18.840] FileWatcher:: Added:: WatchInfo: \\server.tld\web_projekte\admin\node_modules\vue-i18n\package.json 2000 {"excludeDirectories":["//server.tld/web_projekte/admin/node_modules","//server.tld/web_projekte/admin/**/node_modules","//server.tld/web_projekte/admin/dist","//server.tld0/web_projekte/admin/**/dist"]} Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution
Info 641 [12:41:35.474] FileWatcher:: Added:: WatchInfo: \\server.tld\web_projekte\node_modules\@types\node\package.json 2000 {"excludeDirectories":["//server.tld/web_projekte/admin/node_modules","//server.tld/web_projekte/admin/**/node_modules","//server.tld/web_projekte/admin/dist","//server.tld/web_projekte/admin/**/dist"]} Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution
On the other computer the pause is slightly over 1 second.
When I restart the TS server the delays seem to occur on the same log entries with the same duration.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
tsserver のログと file-watcher の初期化エントリから始め、特にネットワーク共有上のファイルの監視中および autoImportProviderProject1 の監視中に発生する停止を確認します。動作する初期化パスと動作しない初期化パスを比較します。完了の条件は、ネットワーク共有上の Vue ワークスペースが長時間の停止なしに初期化を完了し、診断と IntelliSense が復元されることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- typescript, vscode
- 領域
- developer-experience, tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100