Hoàn thành mã Eclipse / Java không hoạt động


595

Tôi đã tải xuống, giải nén và thiết lập Eclipse 3.4.2 với một số bổ trợ (đáng chú ý, EPIC, Clearcase, QuantumDB, MisterQ).

Bây giờ tôi tìm thấy khi tôi chỉnh sửa các dự án Java, việc hoàn tất mã không hoạt động. Nếu tôi nhập String.và nhấn ctrl+ spacemột cửa sổ bật lên hiển thị "Không có đề xuất mặc định" và thanh trạng thái ở dưới cùng hiển thị "Không có hoàn thành có sẵn".

Có ý kiến ​​gì không?


1
Đối với những bạn đang cố gắng khắc phục điều này trên Ubuntu, [đây là câu trả lời] [1]. [1]: askubfox.com/questions/243639/ Cách
cú pháp

Câu trả lời:


1246

Hãy thử khôi phục các tùy chọn mặc định trong ' Windows > Preferences > Java > Editor > Content Assist > Advanced'

Một ví dụ về loại dữ liệu bạn nhìn thấy trong màn hình ưu tiên này, tuy nhiên không nhất thiết là những gì bạn hiện có.

thiết lập nội dung nhật thực

(Từ Vadim trong bài đăng trên blog này "Bản sao hỗ trợ nội dung trong Eclipse (Mylyn)" :
nếu có các mục Mylyn trùng lặp, hãy bỏ chọn các mục trùng lặp không chứa " (Mylyn)" trong tên của chúng)

Các trang trợ giúp Eclipse định nghĩa danh sách mặc định để khôi phục:

Chọn các loại đề xuất có trong danh sách hỗ trợ nội dung 'mặc định' :

  • Các đề xuất Java khác,
  • Đề xuất mẫu SWT,
  • Đề xuất mẫu,
  • Loại đề xuất

3
không biết làm thế nào điều này đã được thay đổi trong môi trường của tôi - tôi chắc chắn đã không làm điều đó, nhưng giải pháp của bạn hoạt động! cảm ơn.
pstanton

71

Tôi đang thêm một câu trả lời ở đây trong trường hợp người khác tìm thấy điều này trên Google. Triệu chứng giống nhau; vấn đề khác nhau. Đối với tôi, bộ đệm đã trở nên hỏng.

Từ http://mschrag.blogspot.co.nz/2009/01/open-type-cant-find-your- class.html

  • Thoát khỏi Eclipse
  • Chuyển đến không gian làm việc / .metadata / .plugins / org.eclipse.jdt.core
  • Xóa * .index và đã lưu IndexNames.txt
  • Khởi động lại Eclipse và tìm kiếm Ctrl+ Tcho loại vi phạm. Các chỉ số sẽ được xây dựng lại.

+1, điều này làm việc cho tôi. Trước đây tôi cũng bị Eclipse nghĩ rằng dự án của tôi đã ở mức 1,5 mặc dù tất cả các tùy chọn đều nói khác, vì vậy nó đã bị hỏng trong vấn đề này.
Philip Guin

3
Đợi đã, đừng bận tâm. Sau khi thử phương pháp của bạn, CA hoạt động chính xác một lần, sau đó lại nổ tung. Ừ Vấn đề vẫn tồn tại ngay cả sau khi tạo lại toàn bộ không gian làm việc. Không có giải pháp nào khác ở đây có vẻ hiệu quả ...
Philip Guin

2
+1. Lưu ý: nếu bạn thử hỗ trợ nội dung theo biểu thức lambda, phiên bản Eclipse của bạn có thể không được hỗ trợ tốt.
Bludwarf

Làm việc rất tốt Cảm ơn bạn!
Modo

27

Trong trường hợp ai đó đến đây và muốn kích hoạt chức năng tự động hoàn tất, hãy đi đến

Preferences -> Java -> Editor -> Content Assist.

Sau đó, trong phần Kích hoạt tự động điền vào Trình kích hoạt tự động kích hoạt cho Java:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

nhập mô tả hình ảnh ở đây


Điều này có thể làm cho nhật thực của bạn rất chậm với cơ sở mã lớn.
J-ho

19

Đối với những người đang chạy Xfce + có kích hoạt plugin IBus, có thể có xung đột phím tắt.

Xem thêm thông tin trên blog của tôi: http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

CẬP NHẬT :

như được đề xuất bởi nhận xét của @ nhahtdh, thêm một số thông tin khác để trả lời trực tiếp: Plugin IBus trong Xfce sử dụng theo mặc định Ctrl+ Spacephím tắt để chuyển đổi bố cục bàn phím. Để thay đổi, hãy đi tới: Tùy chọn và thay đổi thành bất kỳ thứ gì bạn thích.


3
Vui lòng bao gồm các phần thiết yếu của blog của bạn ở đây, trong trường hợp nó sẽ không có sẵn trong tương lai.
nhahtdh

2
Vấn đề tương tự trong LXDE. Đi đến Preferences-> Keyboard Inputvà xóa Next input methodphím tắt.
Kshitiz Sharma

1
Vấn đề tương tự xuất hiện với môi trường máy tính để bàn Cinnamon.
Akkusativobjekt

11

Kiểm tra lib của dự án của bạn. Có thể là bạn đã bao gồm hai tệp jar như vậy trong đó cùng một lớp có sẵn hoặc nói rằng một lớp trong mã có thể được điều chỉnh trong hai tệp jar. Trong trường hợp như vậy, nhật thực cũng dừng mã hỗ trợ vì nó hoàn toàn bị nhầm lẫn.

Cách tốt hơn để kiểm tra điều này là vào tệp nơi hỗ trợ không hoạt động và nhận xét tất cả các lần nhập ở đó, hơn là thêm từng lần nhập và kiểm tra mỗi lần nhập nếu hỗ trợ mã có hoạt động hay không. Bạn có thể dễ dàng tìm thấy lớp có kết hợp trùng lặp .


9

Không ai trong số này làm việc cho tôi.

Tôi đã gặp vấn đề này chỉ trong một lần lớp học cụ thể. Điều cuối cùng làm việc cho tôi là xóa lớp vi phạm và tạo lại nó. Vấn đề được giải quyết ... bí ẩn không nhiều!


5

Nếu bạn đã cài đặt Thanh công cụ Google cho IE, có thể bạn sẽ gặp phải vấn đề tương tự. Bởi vì, thanh công cụ chụp ctrl phím tắt +Space.


5

Tôi đã có vấn đề này và giống như @Marc, chỉ trên một lớp cụ thể. Tôi phát hiện ra rằng tôi cần chỉ định Open With = Java Editor. Là một người mới sử dụng Eclipse, tôi thậm chí không nhận ra rằng mình chỉ đang sử dụng một trình soạn thảo văn bản đơn giản.

Trong trình thám hiểm gói, nhấp chuột phải vào tệp và chọn "Mở bằng".


4

Tôi đã đối mặt với vấn đề này, và đã dành hàng giờ cố gắng để tìm ra vấn đề. đã cố gắng làm theo các bước được đề cập trong các câu trả lời khác nhau ở trên, giải pháp tôi tìm thấy là trên cùng một dòng như Mona đề xuất, nhưng hơi khác nhau. Đã thử thêm vào như một nhận xét cho câu trả lời của Mona nhưng không có tùy chọn nào khả dụng. Vấn đề với nhật thực của tôi là, classpath bằng cách nào đó đã bị hỏng và tất cả các lọ và các dự án phụ thuộc đều bị thiếu. sau khi lấy. classpath mới nhất từ ​​kho lưu trữ, nó hoạt động tốt.


4

Tôi cũng phải đối mặt với vấn đề này nhưng nó được giải quyết theo nhiều cách khác nhau. Các bước mà tôi làm theo có thể hữu ích cho người khác.

  1. Nhấp chuột phải vào dự án (dự án bạn đang làm)
  2. Chuyển đến Thuộc tính> Đường dẫn xây dựng Java> Thư viện hệ thống JRE
  3. Nhấp vào Chỉnh sửa ... ở bên phải
  4. Chọn JRE 7

4

Khi bạn đã kiểm tra cấu hình và hoàn thành vẫn không hoạt động:

  • hãy chắc chắn rằng bạn có cấu trúc thư mục phù hợp.

Bạn có thấy biểu tượng bên phải tập tin không?:

nhập mô tả hình ảnh ở đây

Nó sẽ cho bạn biết cách tệp sẽ được xử lý bởi Eclipse:

nhập mô tả hình ảnh ở đây

Tôi đang đăng câu trả lời này khi tôi có câu chuyện đó với tạo tác webapp của Maven. Theo mặc định, Maven-WebApp không tạo thư mục cho các nguồn và tôi đặt Java của mình vào tài nguyên, tự hỏi trong 5 phút chuyện gì đang xảy ra ... :)


3

Kiểm tra xem bạn đã không lọc ra nhiều tùy chọn bên trong Cửa sổ> Tùy chọn> Java> Giao diện> Loại bộ lọc

Các mục trong danh sách này sẽ không xuất hiện trong bản sửa lỗi nhanh, được tự động hoàn thành hoặc xuất hiện ở nhiều nơi khác như hộp thoại Loại mở.


3

Một giải pháp khác hiệu quả với tôi là vào Java -> Xuất hiện -> Loại bộ lọc và vô hiệu hóa tất cảnhập mô tả hình ảnh ở đây


3

Có lẽ điều này giúp những người khác gặp phải vấn đề tương tự.

Thiết lập của tôi: dự án Gradle cũ (phiên bản Gradle 2.12) do người khác thực hiện, được nhập bằng Trình hướng dẫn nhập khẩu Gradle vào STS (Eclipse Oxygen.2 (4.7.2)).

Hoàn thành mã cũng không hoạt động (và tôi vẫn có các J rỗng trong các tệp Java), nhưng ít nhất tôi đã hoàn thành mã để hoạt động bằng cách thực hiện:

  • nhấp chuột phải vào thư mục dự án> Thuộc tính> Lớp> Cấu hình cài đặt không gian làm việc> Java> Trình chỉnh sửa> Hỗ trợ nội dung> Nâng cao
  • kiểm tra "Đề xuất Java ở cửa sổ trên.
  • 2x Áp dụng & Đóng

2

Trong trường hợp của tôi, Intellisense chỉ biến mất trong một vài lớp trong một dự án. Hóa ra điều này là do một thư viện bị thiếu trên đường dẫn xây dựng (mặc dù nó đã hoạt động trước đó).

Vì vậy, chắc chắn kiểm tra tất cả các lỗi hoặc vấn đề trong Eclipse và cố gắng tìm nếu một thư viện có thể bị thiếu


2

Tôi gặp phải vấn đề này và kết cục là tôi đang mở tệp bằng trình soạn thảo văn bản chứ không phải trình soạn thảo java.

Tôi muốn nhận xét về https://stackoverflow.com/users/607470/elroy-flynn nhưng phản hồi thêm chỉ hoạt động sau khi tôi có xếp hạng 50? không chắc WTF đó là ...

Cảm ơn, Tom


Khối danh tiếng về cơ bản chỉ là để mọi người có lý do để có được nhiều hơn ngoài việc có nhiều hơn. Vì nó cũng hoạt động như một thước đo mức độ tham gia và tôn trọng của bạn trong cộng đồng (nghĩa là danh tiếng), bạn sẽ nhận được nhiều đặc quyền hơn khi bạn có được danh tiếng nhiều hơn. Bạn có thể muốn xem qua chuyến tham quan để biết thêm giải thích về cách trang web hoạt động: stackoverflow.com/tour .
Amndeep7

Đây thực sự chỉ là một bình luận, câu trả lời bạn đề cập đã bao gồm vấn đề soạn thảo văn bản. Tôi hiểu nếu bạn không muốn xóa nó và mất nghiệp.
Noumenon

1

Đối với tôi vấn đề là một cuộc xung đột giữa một số phiên bản của cùng một thư viện. Hỗ trợ Eclipse đã sử dụng một phiên bản cũ hơn maven.

Tôi đã phải vào thư mục .m2 và xóa phiên bản lib không mong muốn + khởi động lại nhật thực.


1

Tôi gặp vấn đề trên Eclipse neon khi chỉnh sửa một tệp không thuộc thư mục dự án . Khi tôi sao chép cùng một tệp vào thư mục gốc của dự án, thậm chí không vào thư mục src, việc hoàn thành bắt đầu hoạt động.

Khi tệp được mở từ một thư mục khác, chỉ hoàn thành cho JRE hoạt động. Đó là ví dụ: java.hoàn thành, nhưng junit.không.


1

Chỉ trong trường hợp bất cứ ai đến một điểm tuyệt vọng mà không có gì hoạt động ... Chúng tôi đã thấy rằng nội dung hỗ trợ bằng cách nào đó bị thu hẹp để không có đề xuất nào được hiển thị, chỉ có thể nhìn thấy "Nhấn Ctrl + Space cho phi Java ...". Vì vậy, đó chỉ là vấn đề kéo góc của nội dung hỗ trợ để phóng to cửa sổ bật lên.

Tôi biết, xấu hổ. Hy vọng nó giúp.

Lưu ý: đây là máy chủ Ubuntu có Xfce4 sử dụng Oxygen Oxygen.


1

Đối với những người sử dụng bản dựng nhật thực 3-19 mới nhất:

Nó chỉ xảy ra với tôi khi nâng cấp từ Oxygen lên phiên bản nhật thực 3-19 , vì vậy tôi cho rằng tính năng tự động hoàn thành không được di chuyển chính xác trong quá trình nâng cấp.

Giải pháp duy nhất hiệu quả với tôi là tạo ra một không gian làm việc nhật thực mới và nhập dự án vào đó. Có thể mất vài phút, nhưng nó đáng giá - so với thời gian dành cho các giải pháp khác ...


Có cho tôi tôi không thể duyệt các phương thức java, nhấp vào duyệt / mở khai báo không hoạt động. Và điều này xảy ra khá thường xuyên, các tệp lớp java đã thực sự trở thành các tệp văn bản. Vì vậy, tôi tiếp tục xóa không gian làm việc và nhập dự án maven, trở lại hoạt động trong một phút.
Signonsridhar


0

Tôi đã gặp vấn đề này kể từ khi nâng cấp lên Eclipse 2019-09. Dựa trên một số gợi ý ở trên, đây là những gì làm việc cho tôi.

Tôi đã phải đi đến Eclipse -> Tùy chọn -> Java -> Trình chỉnh sửa -> Hỗ trợ nội dung -> Nâng cao.

Trình chỉnh sửa Java / Hỗ trợ nội dung nâng cao

Tôi phát hiện ra rằng nếu tôi bật bất kỳ đề xuất ràng buộc chính nào, đề xuất Java Non-Type, Java, Java (Tập trung vào nhiệm vụ) hoặc Loại Java, thì tôi có thể sử dụng tự động hoàn tất. Nếu tôi bật tất cả chúng lên, thì không chỉ tự động hoàn thành công việc, mà tôi còn có các phương thức trùng lặp được liệt kê. Tôi đoán, nhưng tôi có thể sẽ sử dụng Đề xuất loại Java. Bất kỳ sự làm rõ về những gì khác nhau cho bốn loại này sẽ được đánh giá cao.


0

Chạy STS trên các dự án Java Spring Boot, đây là những gì phù hợp với tôi:

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.