@ คำตอบของดั๊กล้าสมัยเล็กน้อยและการมุ่งเน้นของเขาคือการขยายโค้ดโดยใช้ตัวอย่างที่กำหนดไว้ล่วงหน้า
ฉันคิดว่าคำถามของ OP เกี่ยวกับระบบภายใน (ยกตัวอย่างเช่นชื่อวิธีการเรียนอัตโนมัติ)
ฮิปปี้ขยายใช้ในการเป็นที่นิยม, วิเคราะห์ไวยากรณ์คือแท็ก emacs ดังนั้นจึงรองรับทุกภาษา ctags รองรับ (รวมถึง C ++, Java) แต่ผลลัพธ์ไม่สมบูรณ์เนื่องจาก ctags ใช้นิพจน์ทั่วไปเพื่อวิเคราะห์โค้ดเท่านั้น ดูรายละเอียดinit-hippie-expand.elของฉัน คุณสามารถเริ่มต้นด้วยการตรวจสอบค่าของhippie-expand-try-functions-list
การเติมข้อความอัตโนมัติเป็นสิ่งที่ทันสมัยพร้อม UI แฟนซี (เมนูแบบเลื่อนลงแม้ในหน้าต่างคอนโซล) ถ้าคุณใช้เสียงดังกราวด์เป็นแบ็กเอนด์ Intellisense ดีกว่ามาก ในการทำให้เสียงดังกราวทำงานคุณต้องติดตั้ง auto-complete-clang ซึ่งเป็นปลั๊กอินของ auto-complete รองรับเฉพาะภาษาที่รองรับ (C / C ++ / Obj-C) ดังที่Sylvain Bennerชี้ให้เห็นคุณสามารถใช้emacs-eclimเป็นจาวาแยกวิเคราะห์แบ็คเอนด์ซึ่งเรียกว่าปฏิบัติการของคราส การเติมข้อความอัตโนมัติสามารถรองรับจาวาได้ ดูinit-auto-complete.elของฉันสำหรับรายละเอียด
semanticมีทั้ง UI และเอ็นจิ้นการวิเคราะห์เอนด์เอนด์ มันช้า UI แบบเลื่อนลงนั้นใช้ได้ แต่ต้องมีหน้าต่าง X ผลการ intellisense ดีกว่า ctags และ documenation ก็เกินบรรยายสำหรับฉัน ดูinit-semantic.elสำหรับรายละเอียด
โหมด บริษัทคล้ายกับการทำให้สมบูรณ์อัตโนมัติความแตกต่างคือมันรวมทุกอย่างไว้ในชุดเดียว ตัวอย่างเช่นนักพัฒนา C ++ จะต้องติดตั้งโหมด บริษัท เท่านั้น (การเติมข้อความอัตโนมัติต้องมีปลั๊กอินบุคคลที่สาม) ความแตกต่าง UI ก็คือ บริษัท จะแสดงผู้สมัครโดยอัตโนมัติ ดังนั้นคุณกดปุ่มน้อยลงใน บริษัท เป็นไปได้ที่จะทำสิ่งเดียวกันในการเติมอัตโนมัติหลังจากการปรับแต่ง
โดยสรุปการกรอกข้อมูลอัตโนมัติ บริษัท เป็นที่นิยมมากที่สุดสองทางเลือก ยินดีด้วยการขยายความหมายและฮิปปี้ แต่ก็ใช้น้อยกว่า คนอื่น ๆ พูดถึงเรื่องเล็กเกินไปและฟีเจอร์ของพวกเขาได้รับการกล่าวถึงในสี่เรื่องใหญ่แล้ว ตัวอย่างเช่นการเติมข้อมูลอัตโนมัติสามารถใช้ yasnippet เป็นแหล่งอินพุต (ป้อนอัตโนมัติให้ UI, แต่ผู้สมัครที่แท้จริงจะผลิตโดย yasnippet back end)
ผมขอแนะนำให้ใช้อัตโนมัติสมบูรณ์หรือ บริษัท เป็นปลั๊กอินเสร็จโค้ดที่สำคัญและทั้งความหมายหรือฮิปปี้ขยายเป็นปลั๊กอินเสริม
ฉันใช้โหมด บริษัท และฮิปปี้ขยายเนื่องจาก
ตอนนี้ (ปี 2560) โหมด บริษัท ได้รับการดูแลอย่างแข็งขันมากกว่าการเติมอัตโนมัติและมีปลั๊กอินบุคคลที่สามเพิ่มเติม (ตัวอย่างเช่น Latex Latex)
ฮิปปี้ขยายไม่ได้ใช้งานมาก แต่ก็ไม่ได้ใช้TAB
คีย์ซึ่ง บริษัท โหมด / semantic / auto-complete ใช้
ถ้าคุณใช้ บริษัท โหมดสำหรับ C ++ / Java company-backends
คุณอาจต้องการที่จะปรับเปลี่ยน
เคล็ดลับเพิ่มเติมเกี่ยวกับโหมด บริษัท
company-backends
คุณอาจจำเป็นต้องปรับแต่งค่าของ (company-eclim company-semantic company-clang (company-dabbrev-code company-gtags company-etags company-keywords))
ตัวอย่างเช่นสมมติว่าค่าที่เป็น แล้วถ้าcompany-eclim
ได้รับไม่ใช่ศูนย์ผู้สมัครcompany
คิดว่าคุณกำลังเขียน Java company-eclim
ดังนั้นมันจะไม่ทำงานหลังจากแบ็กเอนด์
ทีนี้มาดู(company-dabbrev-code company-gtags company-etags company-keywords)
กัน แบ็กเอนด์ทั้งสี่เหล่านี้จะถูกใช้ร่วมกัน ตัวอย่างเช่นแม้ว่าหลังจากcompany-dabbrev-code
ดึงผู้สมัครที่ไม่เป็นศูนย์สำเร็จแล้วแบ็กเอนด์อีกสามคนยังคงดำเนินการอยู่
ในโลกแห่งความเป็นจริงมักจำเป็นต้องปรับลำดับของแบ็กเอนด์ใหม่หรือเพิ่มแบ็กเอนด์ใหม่ ( company-rtags
ตัวอย่าง)
complete.el
ลองใช้ไลบรารีมาตรฐาน มันเก่ามากและไม่ค่อยมีคนรู้จัก แต่การเติมเต็มในบัฟเฟอร์จะมีประโยชน์M-x find-library complete
จากนั้นอ่านคำอธิบายในไฟล์