Visual Studio代码未编译所有* .ts文件

时间:2016-04-15 09:45:02

标签: typescript visual-studio-code

我正在尝试使用Typescript设置VSC,但我无法让VSC使用Ctrl + Shift + B编译所有* .ts文件。
我已经阅读了很多关于如何使用VSC设置Typescript的教程,但我没有成功。

我的tsconfig.json文件(位于root中)如下所示:

{
    "compilerOptions": {
        "target": "ES5",
        "module": "amd",
        "sourceMap": true,
        "outFile": "all.js"
    }
}

和tasks.json文件(位于root / .vscode中):

{
    "version": "0.1.0",
    "command": "tsc", // it should be tsc.cmd instead of tsc
    "isShellCommand": true,
    "showOutput": "silent",
    "args": [ ],
    "problemMatcher": "$tsc"
}  

当我输入“args”:[“$ {file}”]时,它会编译当前文件,而不是all.js,但是在typescript-file-name.js中,它会忽略tsconfig文件。

VSC可以使用自己的任务运行程序编译所有* .ts文件以及如何设置它?

更新
正如我所说的,我已经尝试了很多教程,他们说args为空,把“-p”,“。”在其中,使用npm install -g typescript来检查路径变量......这些都没有用。

缺少的东西是task.json中的tsc.cmd命令。

如果有人知道,我想知道为什么它不能使用“command”:“tsc”甚至在该命令行的tasks.json文件中的注释声明:

// The command is tsc. Assumes that tsc has been installed using npm install -g typescript

2 个答案:

答案 0 :(得分:1)

我相信你应该像这样更改args命令。 请注意,我将命令改为指向本地tsc版本,但这并不重要。重要的内容在args选项中:["-p", "."]

{
    "version": "0.1.0",
    "command": "${cwd}/node_modules/.bin/tsc.cmd",
    "isShellCommand": true,
    "showOutput": "silent",
    "args": ["-p", "."],
    "problemMatcher": "$tsc"
}

答案 1 :(得分:0)

假设您的tsconfig.json设置为使用tsc,此问题的解决方案是: 在项目根文件夹的命令模式下,输入 tsc-w