Eclipse Intellisense?


89

Làm cách nào để yêu cầu Eclipse tự động đưa ra đề xuất khi tôi nhập? Tôi đang tìm kiếm một tính năng giống Visual Studio Intellisense với Resharper.

Hiện tại tôi phải nhấn CTRL+ Spacemỗi lần.

Câu trả lời:


78

Bạn không cần phải nhấn CTRL* spacenhưng có thể độ trễ quá lớn hoặc bạn không thích trình kích hoạt (mặc định là '.'). Đi đến

Window -> Preferences -> Java / Editor / Content Assist

Và thay đổi cài đặt trong Tự động kích hoạt theo ý thích của bạn.

Nếu điều này không hoạt động đối với người dùng windows thì hãy xem câu trả lời này .


1
người dùng Kevin Rossi cố gắng chỉnh sửa đến thời điểm này (mà thực sự là một bình luận): "Đây không phải làm việc với Eclipse Juno C / C ++ distro"
Denys SEGURET

Mỗi trình soạn thảo trong Eclipse có thể có các trình kích hoạt tự động kích hoạt riêng - việc kích hoạt trên các ký tự giống nhau sẽ không có ý nghĩa trong ngôn ngữ.
nitind

Trong Mac nó làADT -> Preferences -> Java/Editor/Content Assist
Adil Malik

170

Tôi đã tiến gần hơn đến hành vi giống VisualStudio bằng cách đặt "Trình kích hoạt tự động hoàn thành cho Java" thành

.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

và đặt độ trễ thành 0.

Bây giờ tôi muốn biết cách đặt tên phương thức tự động hoàn thành khi tôi nhấn (như Intellisense của VS đã làm.


1
Đây là phiên bản nào của nhật thực? Hộp văn bản "Kích hoạt tự động kích hoạt cho Java" chỉ cho phép tôi nhập 4 ký tự.
Zesty

3
Điều này hoạt động rất tốt. Tốt hơn nhiều, vì nó thực sự sẽ hiển thị các biến cục bộ và mọi thứ ngay bây giờ. Cảm ơn! @ HappyCoder4U Điều này có thể không giúp được gì, nhưng tôi đang sử dụng eclipse 3.7M5.
Howler

2
bạn là thiên tài :) không thiết lập như vậy cho các ngôn ngữ phi java dù :(
Ivan G.

1
Tuyệt vời. Cảm ơn bạn! Sử dụng Eclipse trên Mac (3.6.1) tên tham số là 'Trình kích hoạt tự động kích hoạt cho Java'
ninjaPixel

4
Mọi thứ đều hoạt động nhưng bây giờ tôi nhận được một số hành vi rất khó chịu: giả sử tôi muốn nhập "private int counter;" Tôi bắt đầu với riêng tư và tự động hoàn thành bắt đầu với một số đề xuất (đầu tiên là PrivateCredentialPermission). Khi tôi nhập xong private và nhấn "dấu cách" PrivateCredentialPermission sẽ được chèn. Bất kỳ cách nào xung quanh điều này?
VM4

41

Tony là một thiên tài thuần túy. Tuy nhiên, để đạt được tính năng tự động hoàn thành tốt hơn nữa, hãy thử đặt các trình kích hoạt thành:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =.(!+-*/~,[{@#$%^&

(đặc biệt thay đổi theo thứ tự sử dụng để có hiệu suất nhanh hơn :)


2
Phương pháp này giới thiệu một số lỗi. Ví dụ, nếu tôi gõ vào =, nó sẽ ngay lập tức gợi ý điều gì đó. Nếu tôi nhấn dấu cách, = nó sẽ tự động chèn kết quả phù hợp đầu tiên.
theGreenCabbage,

kiểm tra đề xuất Java, đề xuất Loại Java và đề xuất không phải loại java và di chuyển chúng lên trên theo thứ tự, đã làm việc cho tôi.
Shailendra Singh Rajawat

Xem này câu hỏi stack overflow cho một số giải pháp cho vấn đề không gian: stackoverflow.com/questions/14297735/...
William Dutton

Tất cả các ký tự đặc biệt sẽ làm cho Intellisense hoạt động khó khăn ngoại trừ khoảng thời gian. Về cơ bản, nếu bạn không bao giờ muốn nó thành Intellisense sau khi một ký tự được nhập, bạn sẽ không muốn nó có trong danh sách này.
Andrew

6

Nếu nó không hoạt động ngay cả khi bạn đã bật Code Assist, các tệp cấu hình của Eclipse có thể bị hỏng. Một giải pháp phù hợp với tôi (trên Eclipse 3.5.2) là:

  1. Đóng Eclipse.
  2. Đổi tên thư mục không gian làm việc.
  3. Khởi động Eclipse. (Điều này tạo ra một thư mục không gian làm việc mới.)
  4. Nhập (kèm theo bản sao) các dự án Java từ không gian làm việc cũ.

Cố định nó cho tôi là tốt
Kenci

(.) Đẹp Solution, nó đã thực sự hữu ích cho tôi, Eclipse của tôi là không thể hiển thị IntelliSense sau đó, tôi đã phải sử dụng Ctrl + Space 3 lần để hiển thị nó, Cảm ơn bạn cho đẹp Giải pháp :-)
Muhammad

3

Tôi đã từng gặp vấn đề tương tự, sau đó tôi đã tìm kiếm và tìm thấy điều này và nó đã hiệu quả với tôi:

Tôi đã không chọn một số hộp, vì vậy tôi đã kiểm tra lại chúng, sau đó nó hoạt động. Chỉ cần đi đến

Windows> Preferences> Java> Editor> Content Assist> Advanced

và chọn các hộp mà bạn muốn.


3

Câu trả lời của d3dave thật tuyệt. Tuy nhiên theGreenGarbage đã đề cập đến một vấn đề về nó mà tôi cũng thấy khá khó chịu. Vì vậy, đây là một điều không gợi ý ngay lập tức điều gì đó sau dấu '=' và khi nhập khoảng trắng:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.(!+-*/~,[{@#$%^&

Những gì tôi đã làm chỉ đơn giản là xóa khoảng trắng và ký tự '=' khỏi mảng :)

Ngoài ra, nếu bạn muốn có đề xuất khi nhập khoảng trống, nhưng không phải sau dấu '=':

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .(!+-*/~,[{@#$%^&

Đây phải là câu trả lời được chấp nhận. Tuy nhiên, nó dẫn đến một chút tụt hậu.
Neil Chowdhury
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.