TL;DR
Mở Command Palette (Ctrl+Shift+P / Cmd+Shift+P), chạy Workspaces: Manage Workspace Trust, rồi nhấn Trust. Các extension sẽ được kích hoạt lại ngay lập tức — không cần khởi động lại.
Chuyện gì đang xảy ra
VS Code 1.57 đã ra mắt tính năng bảo mật có tên Workspace Trust. Khi bạn mở một thư mục từ nguồn không xác định — một repo vừa clone, file zip tải về, hoặc network share — VS Code sẽ chuyển sang Restricted Mode và vô hiệu hóa các extension có thể thực thi mã tùy ý.
Lý do rất thực tế: một file .vscode/settings.json hoặc cấu hình task độc hại có thể chạy lệnh trên máy của bạn ngay khi bạn mở project. Workspace Trust ngăn chặn điều đó theo mặc định.
Bạn sẽ thấy thông báo này trong panel Extensions cạnh mỗi extension bị ảnh hưởng:
This extension is disabled in this workspace because it is not trusted
Ngoài ra còn có một banner ở đầu panel:
Restricted Mode is intended for safe code browsing. Some features are disabled.
Cách 1 — Tin tưởng workspace hiện tại (khuyến nghị)
Dùng cách này khi đó là code của bạn, hoặc code bạn đã xem xét kỹ.
- Nhấn
Ctrl+Shift+P(Windows/Linux) hoặcCmd+Shift+P(macOS) để mở Command Palette. - Gõ Manage Workspace Trust và chọn nó.
- Nhấn Trust Workspace & Reload — hoặc chỉ nhấn Trust nếu VS Code không yêu cầu tải lại.
Thích dùng chuột hơn? Nhấn vào biểu tượng khiên ở góc dưới bên trái thanh trạng thái, rồi chọn Trust.
VS Code lưu quyết định này vào profile người dùng của bạn. Lần sau khi bạn mở lại cùng thư mục đó, nó sẽ không hỏi nữa.
Cách 2 — Tin tưởng thư mục cha
Bạn có thư mục ~/projects chứa tất cả các repo? Tin tưởng toàn bộ thư mục đó một lần thay vì phải nhấp qua từng repo mới clone.
- Mở Manage Workspace Trust từ Command Palette.
- Cuộn xuống mục Trusted Folders & Workspaces.
- Nhấn Add Folder và chọn thư mục cha (ví dụ:
/home/yourname/projectshoặcC:\Users\you\dev).
Mọi thư mục con trong đường dẫn đó sẽ được tin tưởng tự động. Bạn sẽ không thấy banner Restricted Mode nữa cho bất kỳ project nào bên trong.
Cách 3 — Tắt hoàn toàn Workspace Trust
Dùng máy công ty bị khóa chặt và tất cả repo đều đến từ Git server nội bộ? Tính năng này chỉ thêm bước rườm rà mà không mang lại nhiều lợi ích.
Thêm dòng này vào User Settings (settings.json) của bạn:
{
"security.workspace.trust.enabled": false
}
Hoặc vào File → Preferences → Settings, tìm workspace trust, và bỏ chọn Security > Workspace Trust: Enabled.
Lưu ý: Cách này sẽ tắt toàn bộ tính năng bảo vệ cho mọi thư mục bạn mở. Đừng làm vậy nếu bạn thường xuyên mở code từ người lạ trên internet — đó chính xác là tình huống mà tính năng này được tạo ra để bảo vệ.
Cách 4 — Tắt hộp thoại khởi động qua cấu hình workspace
Đang làm dự án nhóm dùng chung? Bạn có thể tắt thông báo phiền toái khi mở lần đầu mà không cần tự động tin tưởng workspace. Thêm dòng này vào .vscode/settings.json và commit lên:
{
"security.workspace.trust.startupPrompt": "never"
}
Mỗi thành viên vẫn phải tự tin tưởng thủ công lần đầu mở. Hộp thoại chỉ đơn giản là sẽ không tự xuất hiện nữa. Đây là chủ ý — việc tin tưởng phải là quyết định có ý thức, không phải tác dụng phụ của CI.
Kiểm tra xem đã fix thành công chưa
- Mở panel Extensions (
Ctrl+Shift+X). Các extension trước đó bị vô hiệu hóa giờ sẽ hiển thị là đang hoạt động. - Kiểm tra thanh trạng thái — biểu tượng khiên sẽ biến mất (hoặc chuyển thành dấu tích) khi bạn thoát khỏi Restricted Mode.
- Thử kích hoạt tính năng từ extension vừa được mở khóa: chạy ESLint trên một file, định dạng bằng Prettier, hoặc hover qua một ký hiệu trong Pylance. Nếu có phản hồi, bạn đã thành công.
Tại sao một số extension bị chặn còn một số thì không
Không phải extension nào cũng quan tâm đến Workspace Trust. Mỗi extension khai báo lập trường của mình trong package.json:
"untrustedWorkspaces": { "supported": true }— chạy bình thường trong Restricted Mode."untrustedWorkspaces": { "supported": false }— bị vô hiệu hóa hoàn toàn cho đến khi được tin tưởng."untrustedWorkspaces": { "supported": "limited" }— chỉ hoạt động một phần chức năng.
ESLint, Pylance và hầu hết các language server thuộc nhóm thứ hai. Chúng thực thi các cấu hình ở cấp độ workspace, nên VS Code chặn chúng theo thiết kế. Còn theme, icon pack và keymap? Những thứ đó chỉ đọc dữ liệu — chúng vẫn được bật bất kể trạng thái tin tưởng.
Quản lý danh sách workspace đã tin tưởng
Lỡ tin tưởng nhầm một thư mục, hoặc muốn dọn dẹp các mục cũ? Đây là cách thu hồi quyền truy cập:
- Mở Manage Workspace Trust.
- Cuộn xuống Trusted Folders & Workspaces.
- Nhấn biểu tượng thùng rác cạnh mục muốn xóa.
VS Code lưu toàn bộ dữ liệu tin tưởng trong một file duy nhất trong profile người dùng của bạn:
- Windows:
%APPDATA%\Code\User\globalStorage\storage.json - macOS:
~/Library/Application Support/Code/User/globalStorage/storage.json - Linux:
~/.config/Code/User/globalStorage/storage.json

