Vấn đềBạn nhấn F5 để bắt đầu debug, nhưng thay vì ứng dụng khởi chạy, một thông báo popup chặn tiến trình của bạn. Điều này xảy ra vì trình debugger của VS Code đang tìm kiếm một chỉ dẫn cụ thể—được định nghĩa bởi thuộc tính preLaunchTask—nhưng nó lại không tồn tại trong các file cấu hình của bạn. Nó giống như việc cố gắng gọi đến một số điện thoại chưa được đăng ký vậy.
Thông báo lỗi chính xác trông như thế này:
The task 'npm: build' referenced in launch.json cannot be found.
Tóm tắt: Cách sửa nhanh trong 60 giây- Mở .vscode/launch.json và sao chép chính xác văn bản bên trong preLaunchTask.- Mở .vscode/tasks.json và đảm bảo tồn tại một task có label khớp hoàn toàn với văn bản đó.- Nếu thiếu tasks.json, bạn phải tạo nó thủ công trong thư mục .vscode.- Khởi động lại VS Code để buộc làm mới bộ nhớ đệm của trình chạy task (task runner cache).## Bước 1: Xác minh sự trùng khớp của LabelVS Code kết nối trình debugger với các script build của bạn bằng cách so khớp chuỗi ký tự đơn giản. Nếu có một lỗi đánh máy, một khoảng trắng thừa hoặc sai khác về chữ hoa/chữ thường, liên kết sẽ bị hỏng. Máy tính rất máy móc; chúng không biết rằng "npm: build" và "npm: Build" được dùng cho cùng một mục đích.
Kiểm tra launch.jsonTruy cập file .vscode/launch.json của bạn. Tìm cấu hình bạn đang cố gắng chạy và tìm dòng preLaunchTask:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Khởi chạy chương trình",
"program": "${workspaceFolder}/app.js",
"preLaunchTask": "npm: build"
}
]
}
Kiểm tra tasks.jsonBây giờ, hãy mở .vscode/tasks.json. label ở đây phải khớp 1:1 với preLaunchTask ở trên.
{
"version": "2.0.0",
"tasks": [
{
"label": "npm: build",
"type": "shell",
"command": "npm run build"
}
]
}
Nếu nhãn của bạn chỉ là "build" nhưng launch.json yêu cầu "npm: build", trình debugger sẽ luôn thất bại.
Bước 2: Đừng phụ thuộc vào tính năng tự động phát hiện (Auto-Detection)VS Code cố gắng quét file package.json của bạn để tự động phát hiện các task như npm: build. Tuy nhiên, quá trình này có thể chậm. Nếu bạn cố gắng debug trong vòng 5–10 giây đầu tiên sau khi mở một dự án lớn, extension có thể chưa hoàn thành việc quét.
Giải pháp đáng tin cậy nhất là định nghĩa task một cách rõ ràng. Điều này giúp loại bỏ các phỏng đoán không chắc chắn. Nếu bạn muốn sử dụng một script từ package.json, hãy sử dụng định dạng rõ ràng này trong tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "build",
"problemMatcher": [],
"label": "npm: build"
}
]
}
Bước 3: Tìm kiếm lỗi cú pháp JSONMột dấu phẩy bị thiếu ở dòng 12 có thể làm hỏng toàn bộ file tasks.json của bạn. Khi JSON bị sai định dạng, VS Code sẽ âm thầm bỏ qua file đó thay vì hiển thị lỗi cú pháp. Nó chỉ đơn giản hoạt động như thể các task không tồn tại.
Tôi khuyên bạn nên sử dụng JSON Formatter & Validator trên ToolCraft. Hãy dán code của bạn vào đó để phát hiện các dấu phẩy thừa hoặc thiếu dấu ngoặc—những lỗi rất dễ bỏ sót trong một trình soạn thảo có giao diện tối (dark theme).

