เครื่องมือที่ดีสำหรับการพัฒนาแพ็คเกจ Emacs คืออะไร? [ปิด]


17

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


3
คำถามนี้กว้างและเปิดกว้าง แพ็คเกจจำนวนมากที่คุณระบุไว้ในคำตอบสามารถนำไปใช้กับการพัฒนาโค้ดได้ นอกจากนี้คำตอบนั้นยังสามารถบรรจุชุดย่อยที่สำคัญของแพ็คเกจที่ระบุในเครื่องมือจัดการแพ็คเกจ ถ้าคุณต้องการที่multiple-cursorsคนอื่นอาจจะชอบvisual-regexpหรือ AG / แอ๊ / grep จากบรรทัดคำสั่งหรือจากภายในหรือ emacs emacs inbuilt query-replaceหรือquery-replace-regexpหรือสิ่งอื่นใด สามารถสร้างอาร์กิวเมนต์ที่คล้ายกันสำหรับแต่ละแพ็คเกจ คำถามที่ดีควรถามว่าจะทำอะไรที่เฉพาะเจาะจงใน "การพัฒนาบรรจุภัณฑ์"
Kaushal Modi

@kaushalmodi มันเป็น CW ดังนั้นฉันจึงตั้งใจจะเปิดให้บริการ การถามคำถามเฉพาะอาจเป็นวิธีที่ดีกว่าในการทำเรื่องนี้ แต่คำถามนี้จะยังคงมีอยู่ในการรวบรวมคำถามเหล่านั้น ฉันพยายามตั้งคำถามเฉพาะที่เครื่องมือที่มีประโยชน์กับการพัฒนา lisps และ emacs multiple-cursors- มีประโยชน์ทุกที่ แต่อาจมีแพ็คเกจอื่น ๆ ที่ให้ความสำคัญกับการกำหนดขอบเขตที่ชัดเจน อย่างแน่นอนmacrostepและielmไม่สามารถใช้งานได้ทุกที่อื่น นำเรื่องนี้ขึ้นเมตาอาจจะ?
Sean Allred

@kaushalmodi: คะแนนดี แต่นี่ไม่ใช่เหตุผลว่าทำไมตอนนี้จึงกลายเป็นวิกิชุมชน สันนิษฐานว่าเราสามารถแก้ไขคำตอบสำหรับการตั้งค่าสถานะแพคเกจเฉพาะเจาะจงและการพัฒนาทั่วไป
แดน

ไม่เป็นไรที่จะมีวิกิชุมชน แต่ฉันคิดว่าสิ่งนี้สามารถเปลี่ยนเป็น "แพ็คเกจโปรดของคุณคืออะไร" CW ลองใช้มุมมองทั่วไปอื่นในคำตอบของคุณ: การนำทาง .. Speedbar, projectile, outshine, orgstruct, g / c / etags, neotree, tabbar, ido, helm และ helm plug, ibuffer, ฯลฯ
Kaushal Modi

@kaushalmodi ido, helm, ibuffer, tabbar-I ไม่คิดว่าจะเป็นรายการที่เหมาะสม ไม่มีอะไรที่ว่าจริงๆทำให้Elispพัฒนาได้ง่ายขึ้น แน่นอนว่ามันเป็นแพ็คเกจที่ยอดเยี่ยม แต่ (จากประสบการณ์ของฉัน) พวกเขาไม่มีอะไรจะเพิ่มในการพัฒนาที่น่า ตื่นเต้น etags- ในขณะที่ฉันไม่คุ้นเคยกับมัน แต่ดูเหมือนว่าจะเหมาะสม บางที CW อีกอันก็เหมาะสมกับแพ็คเกจอื่น ๆ เหล่านี้ (เพราะพวกเขาสมควรได้รับการกล่าวถึงจริง ๆ ) แต่ฉันกลัวว่าความกลัวของคุณสำหรับคำถามนี้จะเกิดขึ้นจริงในคำถามนั้น
Sean Allred

คำตอบ:


21

เขียน

  • edebug: การดีบักทีละขั้นตอนของรหัส Elisp
  • checkdoc: เรียนรู้เกี่ยวกับข้อผิดพลาดของสไตล์ในความคิดเห็นและเอกสารของคุณ
  • elint: Linter สำหรับ Emacs Lisp
  • paredit: จัดการรหัสเสียงกระเพื่อมเป็นต้นไม้แทนที่จะเป็นบรรทัด ไม่ต้องมีวงเล็บที่ไม่สมดุล
  • lispy: VI-เช่น / pareditเซ็ทางเลือกของการ นอกจากนี้ยังมีทางลัดสำหรับการร่างการ จำกัด edebug, ediff, semantic, ace-jump-mode, หลายเคอร์เซอร์, ไซเดอร์, เมือกและ geiser
  • multiple-cursors: แก้ไขนิพจน์ที่คล้ายกันหลายรายการพร้อมกัน สิ่งอื่น ๆ ที่ใกล้เคียงมีประโยชน์สำหรับการสร้างรหัสใหม่
  • erefactor: การสร้างรหัสใหม่
  • redshank: ไลบรารี refactoring อื่น (ออกแบบมาสำหรับ Common LISP แต่ทำงานได้ดีกับ Emacs Lisp)
  • macrostep: การขยายแมโครอินบัฟเฟอร์
  • yasnippet: ข้อมูลโค้ดสำหรับการขยายตัวอย่างรวดเร็วของสำนวนซ้ำ ๆ (ตัวอย่างที่นี่ )

การเดินเรือ

  • speedbar: สปีดบาร์เป็นวิธีที่ยอดเยี่ยมในการนำทางผ่านโครงการของคุณ จะรับรู้ 'แท็ก' เป็นdefuns และdefvars (และชอบ) และให้คั่นหน้าเว็บที่มองเห็นได้เป็นเค้าร่าง
  • outlined-elisp-mode: ชุดการตั้งค่าสำหรับoutlineโหมดรองสำหรับบัฟเฟอร์ Elisp
  • elisp-slime-nav: M-.ทันทีกระโดดไปยังฟังก์ชันและตัวแปรคำจำกัดความกับ

โปรไฟล์

  • elp: ส่วนหน้าแบบโต้ตอบสำหรับ Emacs Lisp Profiler ซึ่งมีประโยชน์สำหรับการสำรวจว่าฟังก์ชั่นการทำโปรไฟล์ของคุณช้าแค่ไหนและมันโต้ตอบกับส่วนที่เหลือของ Emacs อย่างไร

การจัดการ

  • names: จัดเตรียมแมโครเพื่อสร้างเนมสเปซ

การควบคุมเวอร์ชัน

  • Gitและส่วนหน้าของ Emacs Magit: เป็นระบบควบคุมเวอร์ชันที่ดีที่สุดและส่วนหน้าของ Emac ที่คิดว่าดี

อื่น ๆ

  • ielm: REPL เชิงโต้ตอบ

โปรดขยายรายการนี้ด้วยเครื่องมือที่คุณชื่นชอบหากคุณเชื่อว่ามีประโยชน์อย่างกว้างขวาง
ฌอน Allred

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