如何配置Visual Studio Code和tslint?

Mar*_*dig 23 tslint visual-studio-code

在0.3.0中,我看到了打字稿的intellisense.但是,我也期待看到一些tslinting,因为我有一个tslint.json.VSC本身是否支持linting还是我只需要依靠gulp吗?

如果是后者,它是否可配置为在文件更改时运行,或者它是否需要是显式启动的手动任务.

Sha*_*tin 31

简短的回答

VSC本身是否支持linting还是我只需要依靠gulp吗?

是.VS Code支持使用TSLint扩展名进行linting.没有需要吞咽.

将TSLint集成到VS代码的步骤

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

npm install -g tslint typescript
Run Code Online (Sandbox Code Playgroud)

其次,将tslint.json文件添加到项目根目录.你可以这样做tslint --init,这给你很好的默认值.或者,创建文件并使用此最小配置,该配置继承推荐的规则.

// tslint.json 
{
  "extends": "tslint:recommended",
  "rules": {}
}
Run Code Online (Sandbox Code Playgroud)

第三,为VS Code安装TSLint扩展.

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

第四,享受您的综合TS Lint.

TSLint在VS Code中的作用.

  • 请注意,这只会显示已打开的文件问题.要在"问题"视图中获取完整列表,您需要在此处编写更多步骤:http://michael.laffargue.fr/blog/2016/09/16/vscode-make-vscode-tslint-analyze - 多 - 文件 - 项目/ (4认同)
  • 我还要补充一点,如果使用自定义tsconfig.json文件尝试在控制台中运行它(即tslint**/*.ts)以确保它是一个有效的文件,否则它将无法在VSCode中运行. (3认同)

Joh*_*apa 5

您可以在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();
    });
}
Run Code Online (Sandbox Code Playgroud)

  • 有点迟到,但我认为@ digger69在编辑器中询问tslint注释.我个人喜欢VS Code的想法,但缺乏tslint注释阻止我摆脱崇高. (2认同)