2013-08-14 16 views
14

Đôi khi, tôi nhận được thông báo này trong thanh trạng thái khi tôi nhấn F3 trên Gõ vào một trình soạn thảo Java:Làm thế nào để loại bỏ "Lựa chọn văn bản hiện tại không thể được mở trong một trình soạn thảo" trong Eclipse?

lựa chọn văn bản hiện tại không thể được mở trong một trình soạn thảo

Khi tôi sao chép lựa chọn vào clipboard và sử dụng Ctrl + Shift + T để mở hộp thoại "Loại mở", tôi có thể dán giá trị và nó sẽ hiển thị loại và tôi có thể mở nó. Loại này nằm trên đường dẫn lớp (không có lỗi biên dịch).

Trong các trình soạn thảo Java khác trong cùng một dự án, F3/Ctrl-Click hoạt động.

Trong trình chỉnh sửa "bị hỏng", trình chỉnh sửa chỉ hoạt động trên các trường và phương thức nội bộ. Đối với các trường nội bộ, nó chỉ hoạt động ở nơi mà trường được xác định. Tất cả những nơi mà một lĩnh vực được sử dụng đã chết. "Mark Occurrences" hoạt động, mặc dù.

Làm cách nào để loại bỏ nó?

Cho đến nay, tôi đã cố gắng:

  1. Đóng và mở trình soạn thảo
  2. sạch dự án
  3. sạch tất cả các dự án
  4. "Cập nhật dự án ..." trong menu ngữ cảnh Maven
  5. Khởi động lại Eclipse
  6. Khởi động lại Eclipse với -clean

Điều này xảy ra trên Eclipse 3.7.2 với m2e 1.3.1 được cài đặt.

Trả lời

6

[CẬP NHẬT] Điều này có vẻ là bug somewhere in the depths of m2e and JDT. Thông thường, nó xuất hiện khi bạn có một số dự án (Maven đa mô-đun/lò phản ứng xây dựng) và các module MA, MBMC phụ thuộc vào nhau:

MC phụ thuộc vào MB phụ thuộc vào một loại tham số bên trong X.Y<T> của MA.

bạn đã đóng mô-đun MB. Trên classpath của MC, điều này sẽ trông giống như vậy:

MB.jar 
MA 

Đó là MB tồn tại như một JAR trên classpath trong khi MA được nhập khẩu như một dự án Eclipse từ không gian làm việc.

Trong trường hợp này, Eclipse bị nhầm lẫn khi đọc các tệp .class trong MB.jar cần các loại tham số bên trong từ MA. Đoán của tôi là nó cần loại từ MB.jar, phân tích nó cho biết phụ thuộc vào loại trong MA mà sau đó nó sẽ cố gắng phân tích cú pháp chỉ để thấy rằng tham số kiểu cho T không thể được giải quyết vì phân tích cú pháp MB isn ' t xong rồi.

Có ba sửa:

  1. Đóng MA. Điều đó sẽ nhập mọi thứ dưới dạng JAR.
  2. Mở dự án MB.
  3. Hãy loại bên trong một loại mục cấp đầu

[OLD]

Nếu điều này xảy ra, hãy thử các bước theo thứ tự tăng tuyệt vọng:

  1. Đóng trình biên tập và mở nó lần nữa.
  2. Làm sạch dự án
  3. Đóng dự án và mở lại.
  4. Khởi động lại Eclipse

Nếu tất cả những gì không:

  1. Xuất sở thích của bạn
  2. Thoát Eclipse
  3. Delete (hoặc đổi tên) thư mục .metadata trong không gian làm việc của bạn. Đó là một thư mục vô hình trên một số hệ điều hành nhưng nó ở đó.
  4. Khởi động Eclipse lại
  5. Nhập sở thích của bạn
  6. nhập tất cả các dự án một lần nữa. Đối với điều này, chọn không gian làm việc. Sau đó Eclipse sẽ liệt kê tất cả các dự án trong hộp thoại và bạn có thể chọn tất cả chúng trong cùng một lúc.

liên quan:

  • Bug 430605 - [chọn] lựa chọn văn bản hiện tại không thể được mở trong một trình soạn thảo
+0

+1. Thích nghi hơn với câu hỏi của bạn hơn câu trả lời của tôi (đã xóa). – VonC

+0

@Aaron, bạn còn thử điều gì khác không? Tôi vẫn gặp lỗi này sau khi thực hiện tất cả các bước trên! – Mercenary

+0

@Mercenary: Xem các chỉnh sửa của tôi. Hãy cho tôi biết nếu điều đó phù hợp với bạn. –

2

Có một lỗi trong Eclipse (trong Luna ít nhất) cho một rất cụ thể quy trình làm việc, có thể không phải là câu trả lời cho câu hỏi cụ thể này, nhưng có thể hữu ích cho người khác.

Nếu bạn thực hiện nhập khẩu vào thư mục src (nghĩa là thư mục src có tiêu điểm trước khi thực hiện nhập) từ một bình trích xuất (dưới dạng mã nguồn), và bạn đặt các điểm ngắt trong các tệp * .java lồng nhau trong các gói lồng nhau, nó sẽ không đạt được những điểm ngắt đó. Để có thể làm việc, bạn phải tiếp tục nhấn F3 thay vì sử dụng "Open Declaration" để truy cập tập tin * .java mà bạn muốn đặt breakpoint, sau đó thêm breakpoint bằng cách nhấp đúp vào lề trái. Sau đó Run> Debug As> Java Application.

Các vấn đề liên quan