tsserver:错误处理请求(无项目)

时间:2016-09-28 15:12:31

标签: typescript visual-studio-code typescript2.0

在“Visual Studio Code”(v1.5.3)中处理TypeScript(v2.0 +)项目时,出现以下错误:

[Error - 10:03:50 AM] 'format' request failed with error.
Error processing request. No Project.
Error: No Project.
...

我使用详细日志记录重新启动了visual-studio-code。

export TSS_LOG='-level verbose -file <my-home>/tss.log'

这提供了更多信息:

Info 1233 request: {"seq":522,"type":"request","command":"format","arguments":{"file":"/<my_project>/src/ts/<the-file>.ts","line":1,"offset":1,"endLine":616,"endOffset":1}}

Err 1234  Exception on executing command {"seq":522,"type":"request","command":"format","arguments":{"file":"/<my_project>/src/ts/<the-file>.ts","line":1,"offset":1,"endLine":616,"endOffset":1}}:
No Project.
Error: No Project.
    at Errors (<my_global_node>/lib/node_modules/typescript/lib/tsserver.js:50793:32)
    at ts.server.ts.server (<my_global_node>/lib/node_modules/typescript/lib/tsserver.js:50795:11)
    at ts (<my_global_node>/lib/node_modules/typescript/lib/tsserver.js:51775:7)
    at Object.<anonymous> (<my_global_node>/lib/node_modules/typescript/lib/tsserver.js:51776:3)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)

Info 1235 response:        
{"seq":0,"type":"response","command":"format","request_seq":522,"success":false,"message":"Error processing request. No Project.
Error: No Project.
    at Errors (/home/fred/.nvm/versions/node/v6.5.0/lib/node_modules/typescript/lib/tsserver.js:50793:32)
    at ts.server.ts.server (/home/fred/.nvm/versions/node/v6.5.0/lib/node_modules/typescript/lib/tsserver.js:50795:11)
    at ts (/home/fred/.nvm/versions/node/v6.5.0/lib/node_modules/typescript/lib/tsserver.js:51775:7)
    at Object.<anonymous> (/home/fred/.nvm/versions/node/v6.5.0/lib/node_modules/typescript/lib/tsserver.js:51776:3)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)"}

tsserver是否认为我没有项目?

我在项目目录root中有'tsconfig.json'和'jsconfig.json'文件。 我有一个运行tsc的'tasks.json'。 我可以用其他类似结果的请求激发tsserver。

1 个答案:

答案 0 :(得分:5)

根据tsserver.js source code

$ export TSS_LOG='-level verbose -file <my-home>/tss.log'
$ code

详细日志文件包含答案,但未报告为错误。

Info 2    Config file name: /<my-project>/src/ts/jsconfig.json
Err 3     Exception on executing command {"seq":0,"type":"request","command":"open","arguments":{"file":"<my-project>/src/ts/<a-class-file>.ts","fileContent":"..."}}: Unexpected end of input
<stack-trace>

问题是有一个空的&#39; jsconfig.json&#39;文件顶部附近的档案&#39; src&#39;树(&#39; src / ts / jsconfig.json&#39;)。 这导致在文件层次结构中搜索项目根太低。具体来说,&#39; tsconfig.json&#39;找不到文件导致“没有项目”#39;错误。

executeCommand()函数返回undefined,当关联的处理程序找不到包含该文件的项目时,会发生这种情况。 这些文件通过&#39;文件与项目相关联。或者包括&#39; &#39; tsconfig.json&#39;中的选项。 &#39; tss.log&#39;文件应包含&#39;信息&#39;有关打开的文件的消息。确保打开您关注的所有文件,特别是检查“配置文件名称”的位置。确保你收到正确的文件。

这个问题没有出现在&#39; tsc&#39;因为它没有考虑&#39; jsconfig.json&#39;作为项目的指标。

典型的日志文件看起来应该更像这样:

Info 0    request: {"seq":0,"type":"request","command":"open","arguments":{"file":"/<my-project>/src/ts/folder1/ClassA.ts","fileContent":"..."}}
Info 1    Search path: /<my-project>/src/ts/folder1
Info 2    Config file name: /<my-project>/tsconfig.json
Err 3     Add recursive watcher for: /<my-project>
Err 4     Add recursive watcher for: /<my-project>/src/ts
Info 5    Opened configuration file /<my-project>/tsconfig.json
Info 6    Project (configured) 0
/<node-root>/lib/node_modules/typescript/lib/lib.es6.d.ts
/<my-project>/node_modules/@types/bluebird/index.d.ts
...a list of all the project files...

-----------------------------------------------
Open file roots of inferred projects:
Open files referenced by inferred or configured projects:
Open file roots of configured projects:
/<my-project>/src/ts/folder1/ClassA.ts
Perf 7    Async elapsed time (in milliseconds): 1060.9415
...