javascript - Làm thế nào để Visual Studio Code kiểm tra toàn bộ dự án để tìm lỗi?
Tôi đang sử dụng VS Code để phát triển TypeScript/JavaScript. Khi tôi mở một tệp, nó sẽ kiểm tra tệp đó có lỗi hay không. Vấn đề là nếu tôi đang tái cấu trúc (như chuyển một số mã chia sẻ sang vị trí mới hoặc đổi tên) thì nó sẽ không hiển thị cho tôi các lỗi mà thao tác này gây ra cho đến khi tôi mở tệp gặp vấn đề. ...vì vậy nếu tôi muốn tái cấu trúc nhiều, tôi phải mở từng tệp chỉ để nó quét tệp đó tìm lỗi.
Làm thế nào để tôi có thể khiến VS Code quét toàn bộ dự án để tìm lỗi mà không phải mở từng tệp thủ công từng cái một?
Câu trả lời #1
VS Code (v1.44) có một tính năng thử nghiệm, cho phép báo cáo lỗi trên toàn dự án trong TS. Hãy thử nó:
// put this line in settings.json
"typescript.tsserver.experimental.enableProjectDiagnostics": true
Câu trả lời #2
Đã tìm ra. Lưu ý câu trả lời này đặc thù cho TypeScript, đó là thứ tôi đang sử dụng. Đây là nó:
Đảm bảo rằng TypeScript đã được cài đặt toàn cầu (tôi chỉ có cài đặt cục bộ của mình thôi dường như): npm install -g typescript
Sau đó trong VS Code nhấn Shift+Ctrl+B. Nếu bạn chưa thiết lập trình chạy tác vụ, nó sẽ hỏi bạn muốn gì. Tôi đã chọn typescript và tệp tasks.json sẽ trông như sau:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"args": ["-p", "."],
"showOutput": "silent",
"problemMatcher": "$tsc"
}
Sau đó nhấn Shift+Ctrl+B (hoặc Shift+Command+B trên macOS) sẽ kiểm tra toàn bộ dự án để tìm vấn đề và chúng sẽ được báo cáo trong bảng "vấn đề" của bạn.
Câu trả lời #3
Nếu bạn không muốn cài đặt TypeScript toàn cục, bạn có thể làm như sau:
Cài đặt TypeScript cục bộ trên dự án, đó là
yarn add --dev typescripthoặcnpm install --save-dev typescript.Thêm một script chạy kiểm tra kiểu vào
./package.json.--noEmitcó nghĩa là trình biên dịch sẽ không tạo ra bất kỳ tệp JavaScript nào.
{
"scripts": {
"check-types": "tsc --noEmit"
}
}
- Cho VSCode biết về script chạy trong
/.vscode/tasks.json.
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "check-types",
"problemMatcher": [
"$tsc"
]
}
]
}
Để chạy các tác vụ, hãy nhấn phím F1 và chọn 'Run Task', sau đó chọn 'npm: check-types'.
Nếu bạn thêm các dòng sau vào tác vụ, nhấn
Ctrl+Bsẽ chạy nó."group": { "kind": "build", "isDefault": true }
Câu trả lời #4
Khi bạn đã mở dự án của mình trong VS Code, hãy mở terminal của VS Code và chạy:
node_modules/.bin/tsc --noEmit
Câu trả lời #5
Đối với phiên bản mới nhất của tasks.json đây là json chính xác, theo các tính năng bị loại bỏ trong phiên bản 1.14. Tạo cái này dưới dạng /.vscode/tasks.json
{
"version": "2.0.0",
"command": "tsc",
"type": "shell",
"args": [
"-p",
"."
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$tsc"
}
