In 0.3.0, I'm seeing intellisense for typescript. However, I was also expecting to see some tslinting as I have a tslint.json. Does VSC support linting natively or do I just need to lean on gulp?
If the latter, is it configurable to run as files are changed or does it need to be a manual task that is launched explicitly.
To enable code execution from the current workspace you must enable workspace library execution. TSLint: Manage workspace library execution" and hit Enter key. 3- From the menu that replaces the input, pick enable workspace library execution and again press Enter key.
TSLint has been the recommended linter in the past but now TSLint is deprecated and ESLint is taking over its duties.
TSLint was a linter equivalent to ESLint that was written specifically to work directly on TypeScript code. TSLint is deprecated and you should use typescript-eslint instead.
Does VSC support linting natively or do I just need to lean on gulp?
Yes. VS Code supports linting with the TSLint extension. There is no need for gulp.
First, install prerequisites: TSLint and TypeScript.
npm install -g tslint typescript
Second, add a tslint.json
file to your project root. You can do this with tslint --init
, which gives you nice defaults. Alternatively, create the file and use this minimal config, which inherits recommended rules.
// tslint.json { "extends": "tslint:recommended", "rules": {} }
Third, install the TSLint extension for VS Code.
ext install tslint
. Fourth, enjoy your integrated TS Lint.
You can add a linting task to your gulpfile like below. Or even a watcher task. Notice I just use TypeScript, not gulp plug in nor tslint, though they are fine too.
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(); }); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With