在 0.3.0 中,我看到了 typescript 的智能感知。但是,我也期待看到一些 tslint,因为我有一个 tslint.json。VSC 是否支持原生 linting,还是我只需要依靠 gulp?
如果是后者,是否可以配置为在文件更改时运行,或者是否需要明确启动的手动任务。
在 0.3.0 中,我看到了 typescript 的智能感知。但是,我也期待看到一些 tslint,因为我有一个 tslint.json。VSC 是否支持原生 linting,还是我只需要依靠 gulp?
如果是后者,是否可以配置为在文件更改时运行,或者是否需要明确启动的手动任务。
VSC 是否支持原生 linting,还是我只需要依靠 gulp?
是的。VS Code 支持使用TSLint 扩展进行 linting。没有必要吞咽。
首先,安装先决条件:TSLint 和 TypeScript。
npm install -g tslint typescript
其次,将tslint.json
文件添加到您的项目根目录。您可以使用 来执行此操作tslint --init
,它为您提供了很好的默认值。或者,创建文件并使用这个继承推荐规则的最小配置。
// tslint.json
{
"extends": "tslint:recommended",
"rules": {}
}
第三,安装 VS Code 的 TSLint 扩展。
ext install tslint
.第四,享受您的集成 TS Lint。
您可以向 gulpfile 添加 linting 任务,如下所示。甚至是观察者任务。请注意,我只使用 TypeScript,而不是 gulp 插件或 tslint,尽管它们也很好。
gulp.task('ts-watcher', function() {
gulp.watch('./src/**/*.ts', ['ts-compile']);
});
gulp.task('ts-compile', function(done) {
runTSC('src/client', done);
});
function runTSC(directory, done) {
var tscjs = path.join(process.cwd(), 'node_modules/typescript/bin/tsc.js');
var childProcess = cp.spawn('node', [tscjs, '-p', directory], { cwd: process.cwd() });
childProcess.stdout.on('data', function (data) {
// Code will read the output
console.log(data.toString());
});
childProcess.stderr.on('data', function (data) {
// Code will read the output
console.log(data.toString());
});
childProcess.on('close', function () {
done();
});
}