Khắc phục lỗi 'Command not found' trong VS Code

beginner💻 VS Code2026-06-25| Visual Studio Code trên Windows, macOS, hoặc Linux. Thường xảy ra khi sử dụng Command Palette (Ctrl+Shift+P / Cmd+Shift+P).

Error Message

Command 'extension.commandName' not found
#vscode#phat-trien-extension#khac-phuc-loi#javascript

Vấn đềBạn cố gắng chạy một lệnh—có thể là 'Live Server' hoặc định dạng Prettier—và VS Code hiển thị thông báo lỗi 'Command not found'. Đây là một lỗi khá gây bối rối. Tiện ích mở rộng (extension) hiển thị là 'Installed' (Đã cài đặt) trong thanh bên, nhưng trình soạn thảo lại hoạt động như thể nó không tồn tại. Điều này xảy ra do mặc dù VS Code nhận ra tên lệnh từ manifest của extension, nhưng tiến trình chạy ngầm thực tế (Extension Host) đã không kết nối được vào engine.

Tại sao lỗi này xảy raMột số vấn đề có thể làm đứt gãy liên kết giữa một nút bấm và mã nguồn của nó:

  • Tiến trình Extension Host bị treo ngầm mà không có thông báo.- Thiếu các phụ thuộc (dependencies), như phiên bản Node.js cụ thể hoặc trình thông dịch Python, ngăn cản việc kích hoạt.- Tệp package.json của bạn có lỗi đánh máy trong phần activationEvents.- Bộ nhớ đệm (cache) của extension cục bộ bị hỏng sau một bản cập nhật không thành công.- Extension quá mới (hoặc quá cũ) so với phiên bản VS Code hiện tại của bạn.## Các bước khắc phục### 1. Thực hiện Developer ReloadĐừng chỉ đóng và mở lại ứng dụng. 'Developer Reload' nhắm trực tiếp vào Extension Host mà không làm đóng toàn bộ không gian làm việc của bạn. Đây là cách nhanh nhất để giải quyết 90% các lỗi tạm thời.
  • Nhấn Ctrl+Shift+P (Windows/Linux) hoặc Cmd+Shift+P (macOS).- Nhập Developer: Reload Window và nhấn Enter.Đợi vài giây để các extension khởi tạo. Nếu lệnh hoạt động, có khả năng bạn vừa gặp phải một tiến trình bị treo.

2. Kiểm tra nhật ký (Logs) của Extension HostNếu lỗi vẫn tiếp diễn, VS Code có thể đang cố thông báo chính xác vấn đề là gì. Bạn chỉ cần biết nơi để kiểm tra.

  • Mở bảng Output bằng cách vào View > Output.- Chuyển menu thả xuống (góc trên bên phải của bảng) từ 'Tasks' sang Extension Host.- Tìm các đoạn văn bản màu đỏ. Bạn có thể thấy lỗi Module not found hoặc Activation failed.Ví dụ, nếu bạn thấy lỗi về việc thiếu tệp thực thi git, bạn sẽ biết rằng extension không bị hỏng—mà là do đường dẫn hệ thống (system path) của bạn.

3. Cài đặt lại để xóa các tệp bị lỗiCác bản cập nhật thỉnh thoảng bị lỗi giữa chừng, để lại các tệp chưa được ghi hoàn tất. Việc cài đặt lại sạch sẽ thường khắc phục được điều này.

  • Mở chế độ xem Extensions (Ctrl+Shift+X).- Tìm extension (ví dụ: 'C# Dev Kit' hoặc 'ESLint') và nhấn Uninstall.- Khởi động lại VS Code. Bước này rất quan trọng để đảm bảo các tệp cũ được giải phóng hoàn toàn.- Tìm kiếm extension đó và nhấn Install.### 4. Xóa bộ nhớ đệm (Cache) của VS CodeVS Code lưu trữ siêu dữ liệu của extension trong thư mục CachedData để tăng tốc độ khởi động. Nếu thư mục này bị mất đồng bộ, nó có thể trỏ đến các tệp không còn tồn tại. Việc xóa nó là an toàn; VS Code sẽ tự động xây dựng lại trong lần khởi chạy tiếp theo. Trên Windows:
rmdir /s /q %APPDATA%\Code\CachedData

Trên macOS/Linux:

rm -rf ~/Library/Application\ Support/Code/CachedData # macOS
rm -rf ~/.config/Code/CachedData # Linux

5. Dành cho nhà phát triển Extension: Kiểm tra ManifestNếu bạn đang xây dựng một extension và các lệnh của chính bạn không hoạt động, hãy kiểm tra tệp package.json. Bạn phải đăng ký các lệnh ở hai nơi riêng biệt.

Đầu tiên, định nghĩa mục nhập giao diện người dùng trong contributes.commands:

"contributes": {
  "commands": [
    {
      "command": "myExtension.helloWorld",
      "title": "Xin chào thế giới"
    }
  ]
}

Thứ hai, thông báo cho VS Code khi nào cần tải mã của bạn. Kể từ phiên bản 1.74, VS Code đã tốt hơn trong việc 'lazy loading' (tải chậm), nhưng việc liệt kê rõ ràng lệnh trong activationEvents là lựa chọn an toàn nhất khi gỡ lỗi:

"activationEvents": [
  "onCommand:myExtension.helloWorld"
]

Cuối cùng, hãy xác minh rằng trường main của bạn trỏ đến tập lệnh đã biên dịch thực tế (ví dụ: ./out/extension.js) chứ không phải một tệp nguồn bị thiếu.

Xác minhĐể xác nhận mọi thứ đã trở lại bình thường, hãy mở Developer Tools (Help > Toggle Developer Tools). Chuyển sang tab Console. Chạy lệnh của bạn. Nếu nó hoạt động, console sẽ không có thông báo lỗi. Nếu thất bại, bạn sẽ thấy một stack trace chi tiết giúp bạn xác định chính xác dòng mã gây ra lỗi.

Mẹo chuyên nghiệp- Kiểm tra yêu cầu phiên bản: Một số extension yêu cầu VS Code 1.80+. Nếu bạn đang sử dụng phiên bản 'Long Term Support' cũ hơn, extension có thể không tải được.- Lưu ý xung đột: Cài đặt cả 'Prettier' và 'Prettier - Code formatter' có thể dẫn đến xung đột ID lệnh. Chỉ nên sử dụng một cái.- Biến môi trường: Nếu một extension phụ thuộc vào node hoặc npm, hãy đảm bảo bạn đã khởi chạy VS Code từ một terminal có các công cụ đó trong đường dẫn (path).

Related Error Notes