การทำให้โค้ด Eclipse / Java ไม่ทำงาน


595

ฉันดาวน์โหลดคลายซิปและตั้งค่า Eclipse 3.4.2 ด้วยปลั๊กอินบางอัน (ที่สังเกตได้, EPIC, Clearcase, QuantumDB, MisterQ)

ตอนนี้ฉันพบว่าเมื่อฉันแก้ไขโครงการ Java การกรอกโค้ดไม่ทำงาน ถ้าฉันพิมพ์String.และกดctrl+ spaceป๊อปอัพจะแสดง "ไม่มีข้อเสนอเริ่มต้น" และแถบสถานะที่ด้านล่างแสดงว่า "ไม่มีความสมบูรณ์"

ความคิดใด ๆ


1
สำหรับบรรดาของคุณที่พยายามแก้ไขปัญหานี้ใน Ubuntu [นี่คือคำตอบ] [1] [1]: askubuntu.com/questions/243639//
syntagma

คำตอบ:


1246

ลองกู้คืนตัวเลือกเริ่มต้นใน ' Windows > Preferences > Java > Editor > Content Assist > Advanced'

ตัวอย่างประเภทของข้อมูลที่คุณเห็นในหน้าจอการตั้งค่านี้อย่างไรก็ตามไม่จำเป็นต้องเป็นสิ่งที่คุณมีอยู่ในปัจจุบัน

การตั้งค่าการช่วยเหลือเนื้อหาของ eclipse

(จากVadimในบล็อกโพสต์นี้"การช่วยเหลือซ้ำเนื้อหาใน Eclipse (Mylyn)" :
หากมีรายการ Mylyn ซ้ำให้ยกเลิกการเลือกรายการซ้ำที่ไม่มีชื่อ " (Mylyn)")

หน้าวิธีใช้Eclipseกำหนดรายการเริ่มต้นที่จะกู้คืน:

เลือกประเภทข้อเสนอที่มีอยู่ในรายการความช่วยเหลือด้านเนื้อหา 'เริ่มต้น' :

  • ข้อเสนอ Java อื่น ๆ
  • ข้อเสนอเทมเพลต SWT
  • ข้อเสนอเทมเพลต
  • พิมพ์ข้อเสนอ

3
ไม่ทราบเลยว่าสิ่งนี้เปลี่ยนไปในสภาพแวดล้อมของฉันได้อย่างไร - ฉันไม่ได้ทำอย่างแน่นอน แต่โซลูชันของคุณใช้งานได้! ขอบคุณ
pstanton

71

ฉันกำลังเพิ่มคำตอบที่นี่ในกรณีที่มีคนค้นพบสิ่งนี้บน Google อาการเดียวกัน; ปัญหาที่แตกต่าง สำหรับฉันแล้วแคชประเภทนั้นเสียหาย

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

  • ออกจาก Eclipse
  • ไปที่เวิร์กสเปซ / .metadata / .plugins / org.eclipse.jdt.core
  • ลบ * .index และ saveIndexNames.txt
  • รีสตาร์ท Eclipse และค้นหาCtrl+ Tสำหรับประเภทที่ละเมิด ดัชนีจะถูกสร้างใหม่

+1 สิ่งนี้ใช้ได้สำหรับฉัน ก่อนหน้านี้ฉันเคยทนทุกข์ทรมานจาก Eclipse ด้วยความคิดว่าโครงการของฉันอยู่ใน 1.5 แม้จะมีตัวเลือกทั้งหมดที่พูดเป็นอย่างอื่นดังนั้นจึงต้องได้รับความเสียหายในระหว่างปัญหานี้
Philip Guin

3
รอไม่เป็นไร หลังจากลองใช้วิธีการของคุณแล้ว CA จะทำงานหนึ่งครั้งจากนั้นจึงระเบิดอีกครั้ง ฮึ. ปัญหายังคงอยู่แม้จะสร้างพื้นที่ทำงานทั้งหมดขึ้นใหม่ ดูเหมือนไม่มีวิธีแก้ปัญหาอื่นที่จะใช้งานได้ ...
Philip Guin

2
+1 หมายเหตุ: หากคุณลองใช้การช่วยงานในเนื้อหาในรูปแบบแลมบ์ดาอาจไม่ได้รับการสนับสนุนในเวอร์ชัน Eclipse ของคุณ
Bludwarf

ทำงานได้ดีมาก ขอบคุณ!
Modo

27

ในกรณีที่มีคนมาที่นี่และต้องการเปิดใช้งานฟังก์ชั่นเติมข้อความอัตโนมัติให้ไปที่

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

จากนั้นในส่วนการเปิดใช้งานอัตโนมัติให้เติมทริกเกอร์การเปิดใช้งานอัตโนมัติสำหรับ Java:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

ป้อนคำอธิบายรูปภาพที่นี่


นี่อาจทำให้ eclipse ของคุณช้ามากด้วยฐานรหัสขนาดใหญ่
J-ho

19

สำหรับผู้ใช้ Xfce + ที่เปิดใช้งานปลั๊กอิน IBus อาจมีข้อขัดแย้งทางลัดของแป้นพิมพ์

ดูข้อมูลเพิ่มเติมเกี่ยวกับบล็อกของฉัน: http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

อัปเดต :

ตามที่แนะนำโดยความคิดเห็นของ @ nhahtdh การเพิ่มข้อมูลเพิ่มเติมเพื่อตอบโดยตรง: ปลั๊กอิน IBus ใน Xfce ใช้โดยค่าเริ่มต้นCtrl+ Spaceทางลัดสำหรับการสลับเค้าโครงแป้นพิมพ์ หากต้องการเปลี่ยนไปที่: ตัวเลือกและเปลี่ยนเป็นสิ่งอื่นที่คุณต้องการ


3
โปรดระบุส่วนสำคัญของบล็อกของคุณที่นี่ในกรณีที่ไม่สามารถใช้งานได้ในอนาคต
nhahtdh

2
ปัญหาเดียวกันLXDEค่ะ ไปที่Preferences-> Keyboard InputและลบNext input methodทางลัด
Kshitiz Sharma

1
ปัญหาเดียวกันปรากฏขึ้นกับสภาพแวดล้อมของเดสก์ท็อป Cinnamon
Akkusativobjekt

11

ตรวจสอบ lib ของโครงการของคุณ อาจเป็นได้ว่าคุณมีไฟล์ jar สองไฟล์ซึ่งมีคลาสเดียวกันนั้นอยู่หรือว่าหนึ่งคลาสในโค้ดสามารถอ้างอิงได้ในไฟล์ jar สองไฟล์ ในกรณีเช่นนี้ eclipse จะหยุดให้ความช่วยเหลือโค้ดเนื่องจากมันสับสนอย่างสิ้นเชิง

วิธีที่ดีกว่าในการตรวจสอบสิ่งนี้คือไปที่ไฟล์ที่การช่วยเหลือไม่ทำงานและแสดงความคิดเห็นการนำเข้าทั้งหมดที่นั่นมากกว่าการเพิ่มการนำเข้าทีละรายการและตรวจสอบที่การนำเข้าแต่ละครั้งหากการช่วยรหัสทำงานหรือไม่คุณสามารถหาชั้นเรียน .


9

สิ่งเหล่านี้ไม่เหมาะกับฉัน

ฉันประสบปัญหานี้ในชั้นเรียนเฉพาะครั้งเดียวเท่านั้น สิ่งที่ได้ผลในที่สุดสำหรับฉันก็คือการลบชั้นเรียนที่กระทำผิดและสร้างใหม่ แก้ไขปัญหาแล้ว ... ความลึกลับไม่มาก!


5

หากคุณติดตั้ง Google Toolbar สำหรับ IE แล้วอาจเป็นไปได้ว่าคุณประสบปัญหาเดียวกัน เพราะแถบเครื่องมือจับ +SpaceCtrl


5

ฉันมีปัญหานี้และชอบ @Marc เฉพาะชั้นเรียนเท่านั้น ฉันค้นพบว่าฉันต้องการกำหนด Open With = Java Editor ในฐานะที่เป็นมือใหม่ Eclipse ฉันไม่ได้ตระหนักเลยว่าฉันแค่ใช้โปรแกรมแก้ไขข้อความธรรมดา

ใน explorer แพ็คเกจคลิกขวาที่ไฟล์และเลือก "เปิดด้วย"


4

ฉันประสบปัญหานี้และใช้เวลาหลายชั่วโมงเพื่อหาทางแก้ไข พยายามทำตามขั้นตอนที่กล่าวถึงในคำตอบต่าง ๆ ข้างต้นวิธีแก้ปัญหาที่ฉันพบอยู่ในบรรทัดเดียวกับที่โมนาแนะนำ แต่แตกต่างกันเล็กน้อย พยายามที่จะเพิ่มเป็นความคิดเห็นคำตอบของโมนา แต่ไม่มีตัวเลือก ปัญหากับคราสของฉันคือ classpath ได้รับความเสียหายอย่างใดอย่างหนึ่งและขวดทั้งหมดและโครงการขึ้นอยู่หายไป หลังจากใช้. classpath ล่าสุดจากที่เก็บข้อมูลแล้วก็ใช้งานได้ดี


4

ฉันยังเผชิญกับปัญหานี้ แต่ได้รับการแก้ไขในวิธีที่แตกต่าง ขั้นตอนที่ฉันติดตามอาจเป็นประโยชน์สำหรับผู้อื่น

  1. คลิกขวาที่โครงการ (อันที่คุณกำลังทำงานอยู่)
  2. ไปที่คุณสมบัติ> เส้นทาง Java Build> ไลบรารีระบบ JRE
  3. คลิกแก้ไข ... ทางด้านขวา
  4. เลือก JRE 7

4

เมื่อคุณกำหนดค่าให้คุณตรวจสอบแล้วและการเสร็จสิ้นยังไม่ทำงาน:

  • ตรวจสอบให้แน่ใจว่าคุณมีโครงสร้างไดเรกทอรีที่ถูกต้อง

คุณเห็นไอคอนด้านขวาของไฟล์หรือไม่:

ป้อนคำอธิบายรูปภาพที่นี่

มันจะบอกคุณว่าไฟล์จะได้รับการปฏิบัติโดย Eclipse:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันโพสต์คำตอบนี้เมื่อฉันมีเรื่องนั้นด้วยสิ่งประดิษฐ์ Mapp webapp ตามค่าเริ่มต้น Maven-WebApp ไม่ได้สร้างโฟลเดอร์สำหรับแหล่งข้อมูลและฉันใส่ Java ของฉันลงในทรัพยากรสงสัย 5 นาทีว่าเกิดอะไรขึ้น ... :)


3

ตรวจสอบว่าคุณไม่ได้กรองหลายตัวเลือกในหน้าต่าง> การตั้งค่า> Java> ลักษณะที่ปรากฏ> ตัวกรองประเภท

รายการในรายการนี้จะไม่ปรากฏในการแก้ไขอย่างรวดเร็วถูกเติมข้อมูลอัตโนมัติหรือปรากฏในสถานที่อื่น ๆ เช่นกล่องโต้ตอบชนิดเปิด


3

วิธีแก้ปัญหาอื่นที่ใช้งานได้สำหรับฉันคือไปที่ Java -> ปรากฏ -> ตัวกรองประเภทและปิดใช้งานทั้งหมดป้อนคำอธิบายรูปภาพที่นี่


3

บางทีนี่อาจช่วยคนอื่นที่เจอปัญหาเดียวกัน

การตั้งค่าของฉัน: โครงการ Gradle เก่า (เวอร์ชั่น Gradle 2.12) ทำโดยคนอื่นนำเข้าโดยใช้ตัวช่วยสร้างการนำเข้า Gradle ไปยัง STS (Eclipse Oxygen.2 (4.7.2))

การทำให้โค้ดสมบูรณ์ไม่ทำงาน (และฉันยังคงมี Js กลวงที่ไฟล์ Java) แต่อย่างน้อยฉันก็ได้โค้ดที่สมบูรณ์ในการทำงานโดยทำ:

  • คลิกขวาที่โฟลเดอร์โครงการ> คุณสมบัติ> การไล่ระดับสี> กำหนดค่าการตั้งค่าพื้นที่ทำงาน> Java> ตัวแก้ไข> การช่วยเหลือเนื้อหา> ขั้นสูง
  • ตรวจสอบ "ข้อเสนอ Java ในหน้าต่างด้านบน
  • 2x สมัครและปิด

2

ในกรณีของฉัน Intellisense หายไปเพียงไม่กี่ชั้นในหนึ่งโครงการ มันกลับกลายเป็นว่านี่เป็นเพราะห้องสมุดที่ขาดหายไปในเส้นทางการสร้าง (แม้ว่ามันจะทำงานก่อนหน้านี้)

ดังนั้นตรวจสอบข้อผิดพลาดหรือปัญหาทั้งหมดใน Eclipse อย่างแน่นอนและลองค้นหาว่าไลบรารีอาจหายไปหรือไม่


2

ฉันพบสิ่งนี้และท้ายที่สุดฉันก็กำลังเปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความไม่ใช่โปรแกรมแก้ไขจาวา

ฉันต้องการแสดงความคิดเห็นในhttps://stackoverflow.com/users/607470/elroy-flynn การตอบกลับ แต่การเพิ่มความคิดเห็นใช้งานได้หลังจากที่ฉันมีคะแนน 50 เท่านั้น ไม่แน่ใจ WTF นั่นคือ ...

ขอบคุณทอม


บล็อกชื่อเสียงนั้นเป็นเพียงเพื่อให้ผู้คนมีเหตุผลที่จะได้รับมากขึ้นนอกเหนือจากการมีมากขึ้น เนื่องจากมันยังทำหน้าที่เป็นเครื่องวัดว่าคุณมีส่วนร่วมและเคารพในชุมชน (เช่นชื่อเสียง) คุณจึงได้รับสิทธิพิเศษมากขึ้นเมื่อคุณได้รับชื่อเสียงมากขึ้น คุณอาจต้องการที่จะดูที่การท่องเที่ยวสำหรับคำอธิบายมากขึ้นสำหรับวิธีการที่เว็บไซต์ทำงาน: stackoverflow.com/tour
Amndeep7

นี่เป็นเพียงความคิดเห็นคำตอบที่คุณพูดถึงแล้วครอบคลุมถึงการแก้ไขข้อความ ฉันเข้าใจว่าถ้าคุณไม่ต้องการลบมันและเสียกรรมไป
Noumenon

1

สำหรับฉันปัญหาคือความขัดแย้งระหว่างไลบรารีรุ่นเดียวกันหลายเวอร์ชัน Eclipse assist กำลังใช้เวอร์ชันที่เก่ากว่า maven

ฉันต้องไปที่ไดเรกทอรี. m2 และลบเวอร์ชัน lib ที่ไม่ต้องการ + รีสตาร์ทคราส


1

ฉันพบปัญหาใน Eclipse นีออนเมื่อแก้ไขไฟล์ที่ไม่ได้อยู่ในไดเรกทอรีโครงการ เมื่อฉันคัดลอกไฟล์เดียวกันไปยังไดเร็กทอรี root ของโปรเจ็กต์ไม่แม้แต่ไปยังไดเร็กทอรี src ความสมบูรณ์จะเริ่มทำงาน

เมื่อไฟล์ถูกเปิดจากไดเร็กทอรีอื่นการทำงาน JRE ให้สมบูรณ์เท่านั้น นั่นคือตัวอย่าง: java.เสร็จสมบูรณ์ แต่junit.ไม่ได้


1

ในกรณีที่ใครก็ตามมาถึงจุดที่สิ้นหวังที่ไม่มีอะไรทำงาน ... มันเกิดขึ้นกับเราว่าเนื้อหาช่วยลดทอนลงดังนั้นจึงไม่แสดงคำแนะนำเพียงแค่ "กด Ctrl + Space สำหรับผู้ที่ไม่ใช่ Java ... " ดังนั้นมันเป็นเพียงเรื่องของการลากมุมของเนื้อหาช่วยขยายป๊อปอัป

ฉันรู้ว่าน่าอาย หวังว่ามันจะช่วย

หมายเหตุ: นี่เป็นเซิร์ฟเวอร์ Ubuntu ที่มี Xfce4 โดยใช้ Eclipse Oxygen


1

สำหรับผู้ที่ใช้คราสสร้างล่าสุด 3-19:

มันเพิ่งเกิดขึ้นกับฉันเมื่ออัปเกรดจากOxygenเป็นเวอร์ชัน3-19คราสดังนั้นฉันจึงถือว่าคุณสมบัติการทำให้สมบูรณ์อัตโนมัติไม่ได้รับการโยกย้ายอย่างถูกต้องระหว่างกระบวนการอัปเกรด

ทางออกเดียวที่ทำงานได้สำหรับฉันคือการสร้างพื้นที่ทำงานคราสใหม่และนำเข้าโครงการ / s อาจใช้เวลาสักครู่ แต่ก็คุ้มค่าเมื่อเทียบกับเวลาที่ใช้ในโซลูชันอื่น ๆ ...


ใช่สำหรับฉันฉันไม่สามารถเรียกดูวิธีการจาวาคลิกเรียกดู / การประกาศเปิดไม่ทำงาน และสิ่งนี้กำลังเกิดขึ้นบ่อยครั้งไฟล์คลาส Java ได้กลายเป็นไฟล์ข้อความอย่างมีประสิทธิภาพ ดังนั้นฉันจึงลบพื้นที่ทำงานและนำเข้าโครงการ Maven กลับสู่การปฏิบัติในอีกไม่กี่นาที
signonsridhar

0

หากคุณพบปัญหานี้ใน enum หรือเมื่อเริ่มต้นอาร์เรย์ด้วยคลาสที่ไม่ระบุชื่อแสดงว่าเป็นข้อบกพร่องที่รู้จักใน Eclipse ดูเนื้อหาคราส assist ไม่ได้ทำงานใน enum รายการพารามิเตอร์คงที่


0

ฉันพบปัญหานี้แล้วตั้งแต่อัปเกรดเป็น Eclipse 2019-09 จากคำแนะนำข้างต้นนี่คือสิ่งที่ได้ผลสำหรับฉัน

ฉันต้องไปที่ Eclipse -> Preferences -> Java -> Editor -> Content Assist -> Advanced

Java Editor / Content Assist ขั้นสูง

ฉันพบว่าหากฉันเปิดข้อเสนอการเชื่อมโยงที่สำคัญข้อเสนอ Java Non-Type, Java, Java (งานที่มุ่งเน้น) หรือข้อเสนอประเภท Java แล้วฉันก็สามารถใช้การทำให้สมบูรณ์อัตโนมัติ หากฉันเปิดใช้งานทั้งหมดไม่เพียง แต่ทำงานอัตโนมัติให้เสร็จสมบูรณ์ แต่ฉันได้รับวิธีการที่ซ้ำกันในรายการ ฉันคาดเดา แต่ฉันอาจจะใช้ข้อเสนอประเภท Java การชี้แจงสิ่งที่แตกต่างสำหรับสี่ประเภทนี้จะได้รับการชื่นชม


0

การรัน STS บนโปรเจ็กต์ Java Spring Boot ต่อไปนี้เป็นสิ่งที่ดีสำหรับฉัน:

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.