Eclipse / Java kodu tamamlama çalışmıyor


595

Eclipse 3.4.2'yi bazı eklentilerle (kayda değer, EPIC, Clearcase, QuantumDB, MisterQ) indirdim, sıkıştırmayı açtım ve kurdum.

Şimdi Java projelerini düzenlerken kod tamamlamanın çalışmadığını görüyorum. Ben yazarsanız String.basın ve ctrl+ spacebir pop-up gösterileri "Hayır Varsayılan Önerileri" ve alt gösterileri "yok tamamlama" durum çubuğu.

Herhangi bir fikir?


1
Bunu Ubuntu'da düzeltmeye çalışanlarınız için [işte cevap] [1]. [1]: askubuntu.com/questions/243639/...
syntagma

Yanıtlar:


1246

' ' İçindeki varsayılan seçenekleri geri yüklemeyi deneyinWindows > Preferences > Java > Editor > Content Assist > Advanced

Bununla birlikte, bu tercih ekranında gördüğünüz veri türüne bir örnek, ancak şu anda sahip olduğunuz şart değildir.

tutulma içerik yardımı ayarı

(Gönderen Vadim'le bu blog yazısı "İçerik) Eclipse (Mylyn içinde çoğaltır Assist" :
yinelenen Mylyn girişler varsa, "içermeyen yinelenen girdileri işaretini (Mylyn)kendi adlarına")

Eclipse yardım sayfasına geri varsayılan listesini tanımlar:

'Varsayılan' içerik yardımı listesinde yer alan teklif türlerini seçin :

  • Diğer Java Önerileri,
  • SWT Şablon Önerileri,
  • Şablon Önerileri,
  • Tip Teklifler

3
bunun benim çevremde nasıl değiştiğine dair hiçbir fikrim yok - kesinlikle yapmadım, ama çözümünüz işe yarıyor! Teşekkürler.
pstanton

71

Başka birinin bunu Google'da bulması durumunda buraya bir yanıt ekliyorum. Aynı belirtiler; farklı sorun. Benim için tip önbellekler bozuldu.

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

  • Tutulmadan Çık
  • / .Metadata / .plugins / org.eclipse.jdt.core çalışma alanına gidin
  • * .İndex dosyasını ve savedIndexNames.txt dosyasını kaldırın
  • Eclipse'i yeniden başlatın ve rahatsız edici türü Ctrl+ arayın T. Dizinler yeniden oluşturulacak.

+1, bu benim için çalıştı. Ayrıca daha önce Eclipse'den muzdariptim, aksi takdirde tüm seçeneklere rağmen projemin 1.5 olduğunu düşünüyordum, bu nedenle bu sorun sırasında bozulmuş olmalı.
Philip Guin

3
Bekle, boş ver. Yönteminizi denedikten sonra CA tam olarak bir kez çalışır, sonra tekrar patlar. Ugh. Tüm çalışma alanını yeniden oluşturduktan sonra bile sorun devam ediyor. Burada başka hiçbir çözüm işe yaramadı ...
Philip Guin

2
+1. Not: lambda ifadesinde içerik yardımı denerseniz Eclipse sürümünüz tarafından iyi desteklenmiyor olabilir.
Bludwarf

Çok iyi çalıştı. Teşekkür ederim!
Modo

27

Birinin buraya gelip otomatik tamamlama işlevini etkinleştirmek istemesi durumunda,

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

Ardından Otomatik Etkinleştirme bölümünde Java için otomatik etkinleştirme tetikleyicilerini doldurun :

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

resim açıklamasını buraya girin


Bu, büyük kod tabanı ile tutulmayı çok yavaşlatabilir.
J-ho

19

IBus eklentisini etkinleştiren Xfce + çalıştıran kullanıcılar için klavye kısayol çakışması olabilir.

Blogumda daha fazla bilgi görmek için: http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

GÜNCELLEME :

@ nhahtdh tarafından yapılan yorumda belirtildiği gibi, doğrudan yanıtlamak için biraz daha bilgi ekleyerek: Xfce'deki IBus eklentisi varsayılan olarak klavye düzeni değiştirme için Ctrl+ Spacekısayol kullanır . Değiştirmek için: Seçenekler'e gidin ve istediğiniz başka bir şeye değiştirin.


3
Gelecekte kullanılamaması durumunda lütfen blogunuzun önemli bölümlerini buraya ekleyin.
nhahtdh

2
Aynı sorun LXDE. Gidin Preferences-> Keyboard Inputve kaldırmak Next input methodkısayol.
Kshitiz Sharma

1
Tarçın masaüstü ortamında da aynı sorunlar ortaya çıkıyor.
Akkusativobjekt

11

Projenizin lib'ini kontrol edin. Aynı sınıfın kullanılabildiği iki tür jar dosyası eklemiş olabilir veya koddaki bir sınıfın iki jar dosyasında yeniden kaynaklanabileceğini söyleyebilirsiniz. Böyle bir durumda da tutulma tamamen karıştığı için kodlara yardımcı olmayı durdurur.

Bunu kontrol etmenin daha iyi yolu, yardımın çalışmadığı dosyaya gidin ve tüm içe aktarmaları yorumlayın, içe aktarmaları tek tek ekleyin ve kod yardımının çalışıp çalışmadığını her içe aktarmada kontrol edin. .


9

Bunların hiçbiri benim için işe yaramadı.

Bu sorunu sadece belirli bir sınıfta yaşıyordum. Sonunda benim için işe yarayan, rahatsız edici sınıfı silmek ve yeniden yaratmaktı. Sorun çözüldü ... gizem o kadar değil!


5

IE için Google Araç Çubuğu'nu yüklediyseniz, aynı sorunla karşılaşabilirsiniz. Çünkü araç çubuğu ctrl kısayolunu yakalar +Space.


5

Bu sorun vardı ve @Marc gibi, sadece belirli bir sınıfta. Birlikte Aç = Java Editör'ü tanımlamam gerektiğini keşfettim. Eclipse newbie olarak, sadece düz bir metin editörü kullandığımı bile fark etmemiştim.

Paket gezgininde, dosyayı sağ tıklayın ve "Birlikte Aç" ı seçin.


4

Bu sorunla karşılaştım ve sorunu çözmeye çalışarak saatler geçirdim. Yukarıdaki farklı cevaplarda belirtilen adımları izlemeye çalıştım, bulduğum çözüm Mona'nın önerdiği satırlarda, ancak biraz farklı. Mona'nın cevabına yorum olarak eklemeyi denedim, ancak hiçbir seçenek mevcut değildi. Tutulmamla ilgili sorun, sınıf yolu bir şekilde bozuldu ve tüm kavanozlar ve bağımlı projeler eksikti. depodan en son .classpath aldıktan sonra iyi çalıştı.


4

Ben de bu sorunla karşılaşıyorum ama farklı bir şekilde çözüldü. İzlediğim adımlar başkaları için yararlı olabilir.

  1. Projeye sağ tıklayın (üzerinde çalıştığınız proje)
  2. Özellikler> Java Derleme Yolu> JRE Sistem Kütüphanesi'ne gidin
  3. Sağ taraftaki Düzenle ... 'yi tıklayın
  4. JRE 7'yi seçin

4

Yapılandırmayı kontrol ettikten ve tamamlama hala çalışmıyorsa:

  • doğru dizin yapısına sahip olduğunuzdan emin olun.

Dosyanın yanında doğru simgeyi görüyor musunuz ?:

resim açıklamasını buraya girin

Dosyanın Eclipse tarafından nasıl ele alınacağını size söyleyecektir:

resim açıklamasını buraya girin

Bu cevabı Maven webapp eseri ile birlikte yaşadığım için gönderiyorum. Varsayılan olarak Maven-WebApp kaynaklar için klasör oluşturmaz ve Java'yı kaynaklara koydum, neler olduğunu 5 dakika merak ediyorum ... :)


3

Pencere> Tercihler> Java> Görünüm> Tip Filtreleri içindeki pek çok seçeneği filtrelemediğinizden emin olun

Bu listedeki öğeler hızlı bir şekilde düzeltilmeyecek, otomatik olarak tamamlanmayacak veya Açık Tür iletişim kutusu gibi çeşitli yerlerde görünmeyecektir.


3

Benim için çalışan bir başka çözüm de Java -> Görünüm -> Tür Filtreleri'ne gidip hepsini devre dışı bırakmaktır.resim açıklamasını buraya girin


3

Belki de bu aynı sorunla karşılaşan diğer insanlara yardımcı olur.

Benim kurulumum: Gradle İçe Aktarma Sihirbazı kullanılarak STS'ye (Eclipse Oxygen.2 (4.7.2)) aktarılan, başka biri tarafından yapılmış eski Gradle projesi (sürüm Gradle 2.12).

Kod tamamlama ya da işe yaramadı (ve hala Java dosyalarında içi boş Js var), ama en azından yaparak kod tamamlama var:

  • proje klasörünü sağ tıklayın> Özellikler> Gradle> Çalışma Alanı Ayarlarını Yapılandır> Java> Editör> İçerik Yardımı> Gelişmiş
  • üst pencerede "Java Teklifleri" ni işaretleyin.
  • 2x Uygula ve Kapat

2

Benim durumumda, Intellisense bir projede sadece birkaç sınıfta kayboldu. Bunun, yapı yolundaki eksik bir kitaplıktan kaynaklandığı ortaya çıktı (daha önce çalışmasına rağmen).

Eclipse'deki tüm hataları veya sorunları kesinlikle kontrol edin ve bir kütüphanenin eksik olup olmadığını bulmaya çalışın


2

Buna rastladım ve dosyayı java editörü ile değil metin editörü ile açıyordum.

Ben https://stackoverflow.com/users/607470/elroy-flynn yanıtı hakkında yorum yapmak istedim ama yorum ekle sadece 50 bir derece sonra çalışır? emin değilim ki WTF ...

Teşekkürler, Tom


İtibar bloğu temelde sadece insanların daha fazlasına sahip olmanın yanı sıra daha fazlasını elde etmek için nedenleri var. Ayrıca, toplumda ne kadar dahil olduğunuzu ve saygı duyduğunuzu (yani itibar olarak) ölçtüğü için, daha fazla itibar kazandıkça daha fazla ayrıcalık kazanırsınız. Sitenin nasıl çalıştığına dair daha fazla açıklama için tura göz atmak isteyebilirsiniz: stackoverflow.com/tour .
Amndeep7

Bu gerçekten sadece bir yorum, bahsettiğiniz cevap zaten metin editörü sorununu kapsıyor. Silmek ve karmayı kaybetmek istemiyorsanız anlıyorum.
Noumenon

1

Benim için sorun, aynı kütüphanenin çeşitli versiyonları arasında bir çatışmaydı. Eclipse yardımcısı maven'den daha eski bir sürüm kullanıyordu.

.M2 dizinine gidip istenmeyen lib sürümünü + yeniden başlatmayı silmek zorunda kaldım.


1

Proje dizinine ait olmayan bir dosyayı düzenlerken Eclipse Neon ile ilgili sorunlar yaşıyorum . Aynı dosyayı src dizinine bile değil proje kök dizinine kopyaladığımda, tamamlama çalışmaya başlar.

Dosya farklı bir dizinden açıldığında, yalnızca JRE için tamamlama çalışır. Örneğin: java.tamamlar, ancak tamamlamaz junit..


1

Herkesin hiçbir şeyin işe yaramadığı çaresiz bir noktaya gelmesi durumunda ... İçeriğin bir şekilde büzülmesine yardımcı oldu, bu yüzden hiçbir öneri gösterilmedi, sadece "Java olmayanlar için basın Ctrl + Space ..." görülebildi. Yani, sadece pop-up'ı büyütmek için içerik yardımcısının köşesini sürüklemek meselesiydi.

Biliyorum utanç verici. Umarım yardımcı olur.

Not: Bu, Eclipse Oxygen kullanan Xfce4'lü bir Ubuntu sunucusuydu.


1

En son 3-19 tutulma yapısını kullananlar için:

Dan yükseltme zaman sadece başıma Oksijen için 3-19 Tutulma sürümü, bu yüzden otomatik tamamlama özelliği yükseltme işlemi sırasında doğru göç etmez varsayalım.

Benim için işe yarayan tek çözüm, yeni bir tutulma çalışma alanı oluşturmak ve projeyi / projeleri aktarmaktı. Birkaç dakika sürebilir, ancak buna değer - diğer çözümlere harcanan zamanla karşılaştırıldığında ...


Evet benim için java yöntemlerine göz alamıyorum, tıklayın tıklayın / aç bildirimi çalışmıyor. Ve bu oldukça sık oluyor, java sınıfı dosyaları etkili bir şekilde metin dosyaları haline geldi. Bu yüzden çalışma alanını silmeye devam ediyorum ve maven projesini bir dakika içinde tekrar harekete geçiriyorum.
signonsridhar


0

Eclipse 2019-09'a yükseltme yaptığımdan beri bu sorunla karşılaştım. Yukarıdaki önerilerin bazılarına dayanarak, bu benim için işe yaradı.

Eclipse -> Tercihler -> Java -> Editör -> İçerik Yardımı -> Gelişmiş'e gitmek zorunda kaldım.

Java Editör / İçerik Yardımı Gelişmiş

Java bağlama türü, Java, Java (Görev odaklı) veya Java türü önerilerinden herhangi birini etkinleştirirsem otomatik tamamlamayı kullanabildim. Hepsini açtım, sadece otomatik tamamlama işi yapmadım, aynı zamanda yinelenen yöntemleri de listeledim. Tahmin ediyorum, ama muhtemelen Java Tipi Teklifleri kullanacağım. Bu dört tip için neyin farklı olduğuna dair herhangi bir açıklama takdir edilecektir.


0

Java Spring Boot projelerinde STS çalıştırmak, benim için işe yarayan:

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.