Penyelesaian kode Eclipse / Java tidak berfungsi

596

Saya telah mengunduh, membuka ritsleting, dan mengatur Eclipse 3.4.2 dengan beberapa plugin (noteable, EPIC, Clearcase, QuantumDB, MisterQ).

Sekarang saya temukan ketika saya mengedit proyek Java penyelesaian kode tidak berfungsi. Jika saya mengetik String.dan menekan ctrl+ spacesembulan akan menampilkan "Tidak Ada Proposal Default" dan bilah status di bagian bawah menunjukkan "Tidak ada penyelesaian yang tersedia".

Ada ide?

Robert Brown
sumber
1
Bagi Anda yang mencoba untuk memperbaikinya di Ubuntu, [inilah jawabannya] [1]. [1]: askubuntu.com/questions/243639/…
syntagma

Jawaban:

1247

Coba pulihkan opsi default di ' Windows > Preferences > Java > Editor > Content Assist > Advanced'

Contoh jenis data yang Anda lihat di layar preferensi ini, namun belum tentu apa yang Anda miliki saat ini.

pengaturan bantuan konten gerhana

(Dari Vadim di posting blog ini "Content Assist Duplicates in Eclipse (Mylyn)" :
jika memiliki duplikat entri Mylyn, hapus centang entri duplikat yang tidak mengandung " (Mylyn)" dalam nama mereka)

The Eclipse halaman bantuan mendefinisikan daftar default untuk mengembalikan:

Pilih jenis proposal yang terdapat dalam daftar bantuan konten 'default' :

  • Proposal Java lainnya,
  • Proposal Template SWT,
  • Proposal Template,
  • Ketik Proposal
VONC
sumber
3
tidak tahu bagaimana ini diubah di lingkungan saya - saya tentu tidak melakukannya, tetapi solusi Anda berfungsi! Terima kasih.
pstanton
71

Saya menambahkan jawaban di sini kalau-kalau ada orang lain menemukan ini di Google. Gejala yang sama; masalah yang berbeda. Bagi saya, cache jenis menjadi rusak.

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

  • Keluar dari Eclipse
  • Pergi ke ruang kerja / .metadata / .plugins / org.eclipse.jdt.core
  • Hapus * .index dan disimpanIndexNames.txt
  • Mulai ulang Eclipse dan cari Ctrl+ Tuntuk jenis yang menyinggung. Indeks akan dibangun kembali.
hoipolloi
sumber
+1, ini berhasil untuk saya. Saya sebelumnya juga menderita Eclipse berpikir proyek saya ada di 1,5 meskipun semua opsi mengatakan sebaliknya, jadi pasti sudah rusak selama masalah ini.
Philip Guin
3
Tunggu, tidak apa-apa. Setelah mencoba metode Anda, CA bekerja tepat sekali, lalu meledak lagi. Ugh. Masalah tetap ada bahkan setelah menciptakan kembali seluruh ruang kerja. Tidak ada solusi lain di sini yang berfungsi ...
Philip Guin
2
+1. Catatan: jika Anda mencoba bantuan konten dalam ekspresi lambda, itu mungkin tidak didukung oleh versi Eclipse Anda.
Bludwarf
Bekerja dengan sangat baik. Terima kasih!
Modo
27

Jika seseorang datang ke sini dan ingin mengaktifkan fungsi autocomplete, buka

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

Kemudian di bagian Aktivasi Otomatis isikan pemicu aktivasi Otomatis untuk Java:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

masukkan deskripsi gambar di sini

Hoa Vu
sumber
Ini mungkin membuat gerhana Anda sangat lambat dengan basis kode besar.
J-ho
19

Bagi mereka yang menjalankan Xfce + yang mengaktifkan plugin IBus, mungkin ada konflik pintasan keyboard.

Lihat info lebih lanjut di blog saya: http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

PEMBARUAN :

seperti yang disarankan oleh komentar @ nhahtdh, menambahkan beberapa info lagi untuk menjawab secara langsung: Plugin IBus di Xfce menggunakan Ctrl+ Spacepintasan default untuk beralih tata letak keyboard. Untuk mengubahnya, buka: Opsi dan ubah ke apa pun yang Anda inginkan.

Peter Butkovic
sumber
3
Harap sertakan bagian penting dari blog Anda di sini, kalau-kalau itu tidak tersedia di masa mendatang.
nhahtdh
2
Masalah yang sama di LXDE. Buka Preferences-> Keyboard Inputdan hapus Next input methodpintasan.
Kshitiz Sharma
1
Masalah yang sama muncul dengan lingkungan desktop Cinnamon.
Akkusativobjekt
11

Periksa lib proyek Anda. Mungkin Anda memasukkan dua file jar seperti itu di mana kelas yang sama tersedia atau mengatakan satu kelas dalam kode dapat direfrensi dalam dua file jar. Dalam kasus seperti itu, eclipse berhenti membantu kode karena benar-benar bingung.

Cara yang lebih baik untuk memeriksa ini adalah buka file di mana bantuan tidak bekerja dan beri komentar semua impor di sana, daripada tambahkan impor satu per satu dan periksa di setiap impor apakah kode-bantu berfungsi atau tidak. Anda dapat dengan mudah menemukan kelas dengan duplikat refrences .

Mona
sumber
9

Tak satu pun dari ini bekerja untuk saya.

Saya mengalami masalah ini hanya sekali kelas tertentu. Yang akhirnya berhasil bagi saya adalah menghapus kelas yang menyinggung dan membuatnya kembali. Masalah terpecahkan ... misteri tidak banyak!

Marc
sumber
5

Jika Anda telah menginstal Google Toolbar untuk IE, mungkin Anda dapat menghadapi masalah yang sama. Karena, bilah alat menangkap ctrl pintas +Space.

Shashi
sumber
5

Saya punya masalah ini dan suka @Marc, hanya di kelas tertentu. Saya menemukan bahwa saya perlu menunjuk Open With = Java Editor. Sebagai seorang pemula Eclipse, saya bahkan tidak menyadari bahwa saya hanya menggunakan editor teks biasa.

Di paket explorer, klik kanan file dan pilih "Open With".

Elroy Flynn
sumber
4

Saya menghadapi masalah ini, dan menghabiskan waktu berjam-jam untuk mencari tahu masalahnya. mencoba mengikuti langkah-langkah yang disebutkan dalam jawaban berbeda di atas, solusi yang saya temukan adalah pada baris yang sama seperti yang disarankan Mona, tetapi sedikit berbeda. Mencoba menambahkan sebagai komentar pada jawaban Mona tetapi tidak ada opsi yang tersedia. Masalah dengan gerhana saya adalah, classpath entah bagaimana rusak dan semua stoples dan proyek dependen hilang. setelah mengambil .classpath terbaru dari repositori itu berfungsi dengan baik.

Nirmal Mangal
sumber
4

Saya juga menghadapi masalah ini tetapi diselesaikan dengan cara yang berbeda. Langkah-langkah yang saya ikuti mungkin bermanfaat bagi orang lain.

  1. Klik kanan pada proyek (yang sedang Anda kerjakan)
  2. Pergi ke Properties> Java Build Path> JRE System Library
  3. Klik Edit ... di sebelah kanan
  4. Pilih JRE 7
asifaftab87
sumber
4

Setelah konfigurasi Anda diperiksa dan penyelesaiannya masih belum berfungsi:

  • pastikan Anda memiliki struktur direktori yang tepat.

Apakah Anda melihat ikon di sebelah kanan file ?:

masukkan deskripsi gambar di sini

Ini akan memberi tahu Anda bagaimana file akan diperlakukan oleh Eclipse:

masukkan deskripsi gambar di sini

Saya memposting jawaban ini karena saya punya cerita dengan artefak webapp Maven. Secara default Maven-WebApp tidak membuat folder untuk sumber dan saya menempatkan Java saya ke sumber daya, bertanya-tanya selama 5 menit apa yang terjadi ... :)

Witold Kaczurba
sumber
3

Pastikan Anda tidak memfilter banyak opsi di dalam Window> Preferences> Java> Appearance> Type Filter

Item dalam daftar ini tidak akan muncul dalam perbaikan cepat, dilengkapi secara otomatis, atau muncul di berbagai tempat lain seperti dialog Open Type.

Harun
sumber
3

Solusi lain yang berhasil bagi saya adalah pergi ke Java -> Appearence -> Type Filter dan lakukan disable allmasukkan deskripsi gambar di sini

pengguna1889970
sumber
3

Mungkin ini membantu orang lain yang menemukan masalah yang sama.

Pengaturan saya: proyek Gradle lama (versi Gradle 2.12) dibuat oleh orang lain, diimpor menggunakan Wisaya Impor Gradle ke STS (Eclipse Oxygen.2 (4.7.2)).

Penyelesaian kode juga tidak berhasil (dan saya masih memiliki Js berlubang di file Java), tetapi setidaknya saya mendapatkan penyelesaian kode untuk bekerja dengan melakukan:

  • klik kanan pada folder proyek> Properties> Gradle> Configure Workspace Settings> Java> Editor> Content Assist> Advanced
  • centang "Java Proposals di jendela atas.
  • 2x Terapkan & Tutup
Togepi
sumber
2

Dalam kasus saya, Intellisense hanya menghilang di beberapa kelas dalam satu proyek. Ternyata ini adalah karena pustaka yang hilang di jalur build (meskipun itu bekerja sebelumnya).

Jadi, pastikan untuk memeriksa semua kesalahan atau masalah di Eclipse dan coba cari tahu apakah ada perpustakaan yang hilang

arhehehe
sumber
2

Saya mengalami ini dan akhirnya saya membuka file dengan editor teks dan bukan editor java.

Saya ingin mengomentari respons https://stackoverflow.com/users/607470/elroy-flynn tetapi menambahkan komentar hanya berfungsi setelah saya mendapat peringkat 50? tidak yakin WTF itu ...

Terima kasih, Tom

Tom Orsi
sumber
Blok reputasi pada dasarnya hanya supaya orang memiliki alasan untuk mendapatkan lebih banyak selain hanya memiliki lebih banyak. Karena itu juga bertindak sebagai ukuran seberapa terlibat dan dihormatinya Anda dalam komunitas (yaitu sebagai reputasi), Anda mendapatkan lebih banyak hak istimewa saat Anda mendapatkan lebih banyak reputasi. Anda mungkin ingin melihat tur untuk penjelasan lebih lanjut tentang cara kerja situs: stackoverflow.com/tour .
Amndeep7
Ini benar-benar hanya sebuah komentar, jawaban yang Anda sebutkan sudah mencakup masalah editor teks. Saya mengerti jika Anda tidak ingin menghapusnya dan kehilangan karma.
Noumenon
1

Bagi saya masalahnya adalah konflik antara beberapa versi dari perpustakaan yang sama. Bantuan Eclipse menggunakan versi yang lebih lama dari pakar.

Saya harus pergi ke direktori .m2 dan menghapus versi lib yang tidak diinginkan + restart gerhana.

ilinca
sumber
1

Saya mengalami masalah pada Eclipse Neon ketika mengedit file yang bukan milik direktori proyek . Ketika saya menyalin file yang sama ke direktori root proyek, bahkan ke direktori src, penyelesaiannya mulai berfungsi.

Ketika file dibuka dari direktori yang berbeda, hanya penyelesaian untuk JRE yang berfungsi. Itu misalnya: java.selesai, tetapi junit.tidak.

Jarekczek
sumber
1

Kalau-kalau ada orang sampai pada titik putus asa di mana tidak ada yang bekerja ... Itu terjadi pada kami bahwa konten membantu entah bagaimana menyusut sehingga tidak ada saran yang ditampilkan, hanya "Tekan Ctrl + Space untuk non-Jawa ..." dapat dilihat. Jadi, itu hanya masalah menyeret sudut konten membantu memperbesar pop-up.

Saya tahu, memalukan. Semoga ini bisa membantu.

Catatan: ini adalah server Ubuntu dengan Xfce4 menggunakan Eclipse Oxygen.

tete
sumber
1

Bagi mereka yang menggunakan bangunan 3-19 gerhana terbaru:

Itu baru saja terjadi pada saya ketika memutakhirkan dari versi Oksigen ke 3-19 , jadi saya menganggap fitur pelengkapan otomatis tidak dimigrasi dengan benar selama proses pemutakhiran.

Satu-satunya solusi yang berhasil bagi saya adalah menciptakan ruang kerja gerhana baru, dan mengimpor proyek ke sana. Mungkin butuh beberapa menit, tetapi itu sepadan - dibandingkan dengan waktu yang dihabiskan untuk solusi lain ...

Naor Bar
sumber
Ya untuk saya, saya tidak dapat menelusuri metode java, klik browse / buka deklarasi tidak berfungsi. Dan ini sering terjadi, file-file kelas java secara efektif menjadi file teks. Jadi saya terus menghapus ruang kerja dan mengimpor proyek pakar, kembali beraksi dalam satu menit.
signonsridhar
0

Saya telah mengalami masalah ini sejak memutakhirkan ke Eclipse 2019-09. Berdasarkan beberapa saran di atas, inilah yang berhasil bagi saya.

Saya harus pergi ke Eclipse -> Preferences -> Java -> Editor -> Content Assist -> Advanced.

Editor Java / Bantuan Konten Lanjutan

Saya mengetahui bahwa jika saya mengaktifkan salah satu dari proposal pengikatan kunci, Java Non-Type, Java, Java (Task-Focused) atau Java Type proposal, maka saya dapat menggunakan pelengkap otomatis. Jika saya menyalakan semuanya, maka tidak hanya melakukan pekerjaan yang lengkap secara otomatis, tetapi saya juga mendapatkan metode duplikat. Saya menebak, tetapi saya mungkin akan menggunakan Java Type Proposals. Klarifikasi apa pun yang berbeda untuk keempat jenis ini akan dihargai.

Bill Snee
sumber
0

Menjalankan proyek STS di Java Spring Boot, inilah yang bekerja untuk saya:

masukkan deskripsi gambar di sini

theRiley
sumber