2

当 'Visual Studio代码'(V1.5.3)我收到以下错误内的打字稿(V2.0 +)项目的工作:tsserver:错误处理请求(无项目)

[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。

回答

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> 

的问题是,有附近的 'SRC' 树( 'SRC/TS/jsconfig.json')的顶空 'jsconfig.json' 文件。 这导致在文件层次结构中搜索项目根目录太低。特别是,'tsconfig.json'文件未找到导致'没有项目'的错误。

executeCommand()函数返回undefined,当关联的处理函数找不到包含文件的项目时发生。 这些文件通过'tsconfig.json'中的'files'或'include'选项与项目关联。 'tss.log'文件应该包含有关打开文件的'Info'消息。确保您关心的所有文件都已打开,特别是检查“配置文件名”的位置以确保您获得正确的文件。

这个问题没有用'tsc'表示,因为它并不认为'jsconfig.json'是一个项目的指标。

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

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 
...