Tôi không nghĩ điều này có thể làm được. Tôi nghi ngờ rằng tính năng này được cố ý bỏ qua IDE vì nó không thể được sử dụng một cách an toàn theo cách mà các cấu trúc lại "loại bỏ XXX không sử dụng" khác có thể.
Các khai báo không sử dụng mà IDEA (và AFAIK, NetBeans) tìm kiếm dành cho các thành viên riêng tư và các biến cục bộ: những thứ không thể truy cập, thậm chí động, từ bên ngoài lớp hoặc phạm vi đó. (Chà, ít nhất là không làm những việc với Reflection hoặc JVM hacking mà bạn không nên làm.) Bất kể mã bên ngoài làm gì với thư viện của bạn, nó sẽ không làm cho những thứ đó được sử dụng, vì phạm vi của chúng bị hạn chế và IDE có thể thấy tất cả. Trình biên dịch có thể xác định điều này bằng cách chỉ xem mã của bạn.
Đối với các lớp, ngay cả khi chúng không có public
quyền truy cập, chúng có thể được tham chiếu động với Class.forName()
và điều này thực sự xảy ra trong mã trực tiếp. Vì vậy, ngay cả khi chúng dường như không được sử dụng trong mã dự án của bạn, chúng có thể được sử dụng tùy thuộc vào những gì bạn hoặc mã bên ngoài sử dụng thư viện của bạn chạy. Vì vậy, IDE không thể đảm bảo rằng việc xóa các lớp đó sẽ không thay đổi hành vi có thể quan sát được bên ngoài.
Đó là lý do tại sao tôi nghĩ IDEA không cung cấp hành vi này: nó có thể mang lại cho người dùng những kỳ vọng sai lầm về sự an toàn và việc xóa chúng không phải là một cách tái cấu trúc an toàn.