如何配置 Visual Studio 代码和 tslint?

How to configure Visual Studio Code and tslint?

在 0.3.0 中,我看到了 typescript 的智能感知。但是,我也期待看到一些 tslinting,因为我有 tslint.json。 VSC 本身支持 linting 还是我只需要依靠 gulp?

如果是后者,随着文件的更改,它是否可以配置为 运行 还是需要明确启动的手动任务。

您可以向 gulp 文件添加 linting 任务,如下所示。甚至是观察者任务。请注意,我只使用 TypeScript,而不是 gulp plug in 或 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();
    });
}

简答

Does VSC support linting natively or do I just need to lean on gulp?

是的。 VS Code 支持 TSLint extension. 的 linting 不需要 gulp。

将 TSLint 集成到 VS Code 的步骤

首先,安装先决条件:TSLint 和 TypeScript。

npm install -g tslint typescript

其次,添加一个tslint.json文件到你的项目根目录。您可以使用 tslint --init 来执行此操作,这会为您提供良好的默认值。或者,创建文件并使用继承 recommended rules.

的最小配置
// tslint.json 
{
  "extends": "tslint:recommended",
  "rules": {}
}

第三,安装VS Code的TSLint扩展。

  1. 在项目的根目录中打开 VS Code。
  2. 打开命令面板CTRL + P
  3. ext install tslint
  4. 选择安装,然后选择启用,最后重启VS Code。

第四,享受你的集成 TS Lint。