Emacs paket geliştirme için iyi araçlar nelerdir? [kapalı]


17

Özellikle test için yararlı araçlar hakkında bir sorum var , ama kodu gerçekten yazmaya ne dersiniz ? Hangi paketleri bulursunuz gelişiminizi hızlandırıyorsunuz? Projelerinizde hızlı ve kolay bir şekilde gezinmek ve anlamak için hangi yardımları kullanıyorsunuz?


3
Bu soru çok geniş ve açık uçlu. Yanıtınızda listelediğiniz paketlerin çoğu herhangi bir kod geliştirme için geçerli olabilir. Ayrıca bu yanıt, paket yöneticisinde listelenen paketlerin büyük bir alt kümesini içerebilir. İsterseniz multiple-cursors, bir başkası tercih edebilir visual-regexpveya ag / ack / grep Emacs'ta emacs'ın veya içindeki komut satırından veya gelen dahili query-replaceveya query-replace-regexpveya başka bir şey. Her bir paket için benzer argümanlar yapılabilir. Bunun yerine iyi bir soru, "paket geliştirme" de özel bir şeyin nasıl yapılacağını sormak olacaktır.
Kaushal Modi

@kaushalmodi Bu CW, bu yüzden kısmen açık uçlu olmak niyetimdi. Belirli sorular sormak bu konuda daha iyi bir yol olabilir, ancak bu soru hala bu soruların bir koleksiyonu olarak var olacaktır. Soruyu özellikle lisps ve emacs gelişimine yardımcı olan araçlara yöneltmeye çalıştım - multiple-cursorsörneğin, her yerde yararlı, ancak belki lisp'in açık kapsamına saygı duyan başka paketler de var. Elbette macrostepve başka hiçbir yerde ielmuygulanamaz . Bunu meta üzerine getir, belki?
Sean Allred

@kaushalmodi: iyi puan, ama bu yüzden artık bir topluluk wiki'si değil mi? Muhtemelen elisp-spesifik ve geliştirme-genel paketleri işaretlemek için cevabı düzenleyebiliriz.
Dan

Bir topluluk wiki'sine sahip olmak iyidir, ancak bunun kolayca "En sevdiğiniz paketler nelerdir?" CW. Cevabınızdaki başka bir genel yönü ele alalım: Gezinme .. Speedbar, mermi, güneş ışığı, orgstruct, g / c / etags, neotree, tabbar, ido, dümen ve dümen eklentileri, çöpçü, vb
Kaushal Modi

@kaushalmodi ido, helm, ibuffer, tabbar-I düşünce olurdu değil, uygun girişler olacak. Elisp geliştirmeyi gerçekten kolaylaştıran hiçbir şey yoktur . Kesinlikle harika paketlerdir, ancak (benim tecrübelerime göre) elisp gelişimine ekleyecek hiçbir şeyleri yok . etagsOnunla aşina değilim -henüz, böyle sesler olurdu uygun. Belki de bu diğer paketler için başka bir CW uygundur (çünkü gerçekten bahsetmeyi hak ediyorlar), ancak korkuyorum ki bu soru için korkularınız kesinlikle bu birinde gerçekleşecek.
Sean Allred

Yanıtlar:


21

Yazma

  • edebug: Elisp kodunda adım adım hata ayıklama.
  • checkdoc: Yorumlarınızda ve dokümanlarınızda stil hataları hakkında bilgi edinin.
  • elint: Emacs Lisp için Linter.
  • paredit: Lisp kodunu çizgiler yerine ağaçlar olarak değiştirin. Asla dengesiz paranteziniz yok.
  • lispy: vi benzeri alternatif / süper set paredit. Ayrıca anahatlar, daraltma, edebug, ediff, semantik, ace-jump-mode, çoklu imleçler, elma şarabı, balçık ve geiser için kısayollar içerir.
  • multiple-cursors: Birden çok benzer ifadeyi aynı anda düzenleyin. Kod yeniden düzenleme için yararlı başka şeyler amognst.
  • erefactor: Yeniden yapılandırılan kod.
  • redshank: Başka bir yeniden düzenleme kütüphanesi (Common Lisp için tasarlanmıştır, ancak Emacs Lisp ile iyi çalışır).
  • macrostep: Etkileşimli arabellek makro genişletmesi.
  • yasnippet: Tekrarlayan deyimlerin hızlı bir şekilde genişletilmesi için kod parçacıkları ( buradaki örnekler )

navigasyon

  • speedbar: Hız çubuğu projenizde gezinmek için harika bir yoldur. 'Etiketler'i defuns ve defvars (ve benzeri) olarak tanır ve görünür yer imlerini anahat olarak sağlar.
  • outlined-elisp-mode: outlineElisp arabellekleri için küçük mod ayarlarının bir koleksiyonu .
  • elisp-slime-nav: Anında fonksiyona atlama ve değişken tanımları ile M-..

profil oluşturma

  • elp: Emacs Lisp Profiler için etkileşimli ön uç, profilli işlevinizde tam olarak neyin yavaş olduğunu ve Emacs'ın geri kalanıyla nasıl etkileşime girdiğini keşfetmek için yararlıdır.

yönetim

  • names: Ad alanları oluşturmak için bir makro sağlar

Sürüm kontrolü

  • Gitve Emacs ön ucu Magit: tartışmasız en iyi sürüm kontrol sistemi ve bunun için çok iyi düşünülmüş bir Emacs ön ucu.

Çeşitli

  • ielm: etkileşimli REPL

Çok yararlı olduklarını düşünüyorsanız, lütfen favori araçlarınızla bu listeyi genişletin.
Sean Allred

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.