我希望使用syntastic
的{{1}}插件在我使用vim
编写打字稿文件时为我提供实时错误检查。我已在tsc
中激活了tsc
。关于如何让vim
使用最近的父tsc
个文件作为配置的任何建议?我发现默认情况下tsconfig.json
没有这样做,这使tsc
配置变得困难。谢谢!
syntastic
的原因是因为模块解析方法之类的选项似乎不起作用(“require”未定义),而且它也没有捕获我的定义文件在tsconfig.json
中的files
属性中定义。
我尝试解决这个问题失败了:
tsconfig.json
这导致Syntastic向我吐出这个错误:
let g:syntastic_typescript_checks=['tsc', 'tslint']
" typescript: find tsconfig.json
function! FindTypescriptRoot()
return fnamemodify(findfile('tsconfig.json', './;'), ':h')
endfunction
let g:syntastic_typescript_tsc_args=['-p', FindTypescriptRoot()]
这可能是因为它正在运行像app.ts|| TS5042: Option 'project' cannot be mixed with source files on a command line.
这样的命令,这是对该标志的非法使用......但我不明白为什么我tsc -p /path/to/project/ app.ts
中的设置被{{{}}忽略了1}} :(
答案 0 :(得分:19)
将let g:syntastic_typescript_tsc_fname = ''
添加到.vimrc
。
在romainl中提及的his answer,Typescript维基的"Using tsconfig.json"部分说明:
通过在没有输入文件的情况下调用tsc,在这种情况下,编译器将从当前目录开始搜索
tsconfig.json
文件并继续向上运行父目录链。
您可以Vim使用Syntastic向.vimrc
添加以下内容,如果您使用Janus .vimrc.after
,则let g:syntastic_typescript_tsc_fname = ''
可以{ {3}}回答了LCD 047:
worldOne0000011111222225355worldTwo0000011111222225355
答案 1 :(得分:2)
使用tsconfig.json
通过在没有输入文件的情况下调用
< / LI>tsc
,在这种情况下,编译器将从当前目录开始搜索tsconfig.json
文件并继续向上运行父目录链。通过调用
tsc
没有输入文件和-project
(或只是-p
)命令行选项来指定包含tsconfig.json
的目录的路径文件在命令行中指定输入文件时,将忽略
tsconfig.json
个文件。
所以,基本上,你需要找到一种方法来告诉Syntastic 而不是将文件名传递给tsc
。
我建议从现在开始使用他们的问题跟踪器。