2015-06-03 37 views
10

Trong 0.3.0, tôi thấy intellisense cho bản ghi. Tuy nhiên, tôi cũng mong đợi để xem một số tslinting như tôi có một tslint.json. VSC có hỗ trợ linting nguyên bản hay tôi chỉ cần dựa vào gulp?Cách định cấu hình Visual Studio Code và tslint?

Nếu sau này, cấu hình có thể định cấu hình để chạy dưới dạng tệp được thay đổi hay không cần thực hiện tác vụ thủ công được khởi chạy rõ ràng.

+0

Dựa trên [Trang web] (https://code.visualstudio.com/Docs/languages) họ nói có hỗ trợ cho linting cho nguyên cảo và C# –

+0

Sami, tôi thiếu gì? Tôi thấy "Intelliense, Linting, outling cho CSS, HTML, Javascript, JSON, Ít và Sass" chỉ - ngay bên dưới "tái cấu trúc, tìm tất cả các tham chiếu cho C#, Typescript". Không có linting cho C#/ts và tôi không thấy nó áp dụng các quy tắc tslint.json của tôi trong IDE, vì vậy tôi cho rằng nó chưa được kết nối. Nhưng, muốn xem nếu tôi bỏ lỡ một chuyển đổi ở đâu đó. –

+0

"Không có ý định sửa" https://code.visualstudio.com/issues/Detail/16540 Đề nghị chúng tôi dựa vào một nhiệm vụ https://code.visualstudio.com/Docs/tasks –

Trả lời

4

Bạn có thể thêm công việc linting vào tệp gulpfile của bạn như dưới đây. Hoặc thậm chí là một công việc quan sát. Lưu ý rằng tôi chỉ sử dụng TypeScript, không phải cắm gulp hay tslint, mặc dù chúng cũng tốt.

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(); 
    }); 
} 
+1

Cảm ơn John. Tôi đang sử dụng một watcher bây giờ sử dụng gulp-thông báo. Tôi đã hy vọng cho hội nhập chặt chẽ hơn - thông báo nội tuyến, vv Tôi tưởng tượng nó đang đến. –

+0

Tôi đồng ý. WebStorm 11 mới hiện đã tích hợp chặt chẽ TSX với in linting. Tôi đã đi qua lại giữa VSC và WS, nhưng hiện đang gắn bó với Webstorm cho đến khi VSC có thông báo nội tuyến. – pbanka

+0

Tôi thực sự không sử dụng bất kỳ cái nào trong số này. VS Code hiển thị vấn đề TypeScript trong trình soạn thảo mà không có bất kỳ tác vụ nào trong số này. Bạn muốn gì thêm? Tôi tò mò. –

15

Câu trả lời ngắn

Liệu VSC hỗ trợ linting natively hoặc để tôi chỉ cần dựa vào ngụm?

Có. Mã VS hỗ trợ linting với TSLint extension. Không cần gulp.

bước để tích hợp TSLint vào VS Mã

Đầu tiên, cài đặt điều kiện tiên quyết: TSLint và nguyên cảo.

npm install -g tslint typescript 

Second, thêm một tập tin tslint.json đến gốc của dự án của bạn. Bạn có thể làm điều này với tslint --init, cung cấp cho bạn các giá trị mặc định tốt đẹp. Ngoài ra, tạo ra các tập tin và sử dụng cấu hình tối thiểu này, mà được thừa hưởng recommended rules.

// tslint.json 
{ 
    "extends": "tslint:recommended", 
    "rules": {} 
} 

Thứ ba, cài đặt tiện ích TSLint cho VS Mã.

  1. Mở mã VS trong gốc của dự án.
  2. Mở bảng lệnh CTRL +P
  3. ext install tslint.
  4. Chọn Cài đặt, sau đó chọn Bật, cuối cùng khởi động lại Mã VS.

Thứ tư, tận hưởng TS Lint tích hợp của bạn.

TSLint in action in VS Code.

+1

Tôi cũng sẽ thêm rằng nếu sử dụng tệp tsconfig.json tùy chỉnh cố gắng chạy nó trong bảng điều khiển (ví dụ: tslint **/*. ts) để đảm bảo rằng đó là tệp hợp lệ nếu không nó sẽ không chạy trong VSCode. –

+4

Lưu ý rằng thao tác này sẽ chỉ hiển thị các sự cố tệp đã mở. Để có được danh sách đầy đủ trong chế độ xem "Sự cố", bạn sẽ cần thêm một số bước mà tôi đã viết ở đó: http://michael.laffargue.fr/blog/2016/09/16/vscode-make-vscode-tslint-analyze -multiple-files-project / –

Các vấn đề liên quan