TypeScript 版本: 3.3.0-dev.20181128
搜索词:
- TS 服务器
仓库
打开用户项目中的一个文件。这些文件非常大,有些有 150 万行
错误
TS 服务器无响应。这里有一个示例日志文件:
tsserver.log
两个观察结果:
- 我们生成了一个庞大的大纲跨度响应
- 然后发生了这个错误:
Err 306 [18:52:6.115] Exception on executing command {"seq":12,"type":"request","command":"navtree","arguments":{"file":"/Users/matb/Downloads/www/code/80000.chunk.js"}}:
No Project.
Error: No Project.
at Object.ThrowNoProject (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:120007:23)
at IOSession.Session.getFileAndLanguageServiceForSyntacticOperation (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:125190:42)
at IOSession.Session.getNavigationTree (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:125539:31)
at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:124455:61)
at /Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:125847:88
at IOSession.Session.executeWithRequestId (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:125838:28)
at IOSession.Session.executeCommand (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:125847:33)
at IOSession.Session.onMessage (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:125869:35)
at Interface.<anonymous> (/Users/matb/Downloads/www/node_modules/typescript/lib/tsserver.js:127129:27)
at emitOne (events.js:116:13)
at Interface.emit (events.js:211:7)
at Interface._onLine (readline.js:282:10)
at Interface._normalWrite (readline.js:424:12)
at Socket.ondata (readline.js:141:10)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at Pipe.onread (net.js:594:20)
9条答案
按热度按时间cwtwac6a1#
150万!
我对那些百万行的内容非常好奇
2w3rbyxf2#
我正在调查为什么我们开始在
80000.chunk.js
文件上进行请求,尽管它从未在TS服务器上打开(请注意,似乎在此之前和在另一个文件上发生了停顿)vhmi4jdf3#
原始文件大小为50.2 MB。这似乎是VS Code的一个错误,导致我们在没有先打开它的情况下就开始请求这个文件。我们与扩展同步的文件大小限制是50MB。尽管如此,我还没有再次触发它
仓库中较小的10-15MB文件可能更有趣。这是日志:
tsserver.log.zip
使用3.3似乎更快,我没有看到任何停滞。长时间运行的请求:
6rvt4ljy4#
在我们的这边,大文件被分类为超过4mb的任何内容。https://github.com/Microsoft/TypeScript/blob/master/src/server/editorServices.ts#L4
tzxcd3kk5#
这是否意味着我们不应该使用TS服务器同步大于该大小的文件?
jgzswidk6#
这是否意味着我们不应该将大于TS服务器同步的文件进行同步?
是的。
dldeef677#
我们可以这样做。在服务器端,针对大文件的请求是否应该被视为无操作?现在看起来ts服务器仍然尝试处理它们。
olhwl3o28#
ssm49v7z9#
我将在最新的VS Code中再次测试这个。