Jakie są dobre narzędzia do tworzenia pakietów Emacsa? [Zamknięte]

17

Mamy już pytanie o narzędzia przydatne specjalnie do testowania , ale co z pisaniem kodu? Które pakiety przyspieszają twój rozwój? Jakich pomocy używasz, aby szybko i łatwo nawigować i rozumieć swoje projekty?

Sean Allred
źródło
3
To pytanie jest bardzo szerokie i otwarte. Wiele pakietów wymienionych w odpowiedzi może dotyczyć dowolnego programowania. Również ta odpowiedź może zawierać główny podzbiór pakietów wymienionych w menedżerze pakietów. Jeśli wolisz multiple-cursors, ktoś inny może woleć visual-regexplub ag / ACK / grep z linii poleceń lub od wewnątrz emacs czy emacs wbudowana query-replacelub query-replace-regexpczy coś innego. Podobne argumenty można podać dla każdego pakietu. Zamiast tego dobrym pytaniem byłoby pytanie, jak zrobić coś konkretnego w „rozwoju pakietu”.
Kaushal Modi
@kaushalmodi Jest CW, więc częściowo chciałem być otwarty. Zadawanie konkretnych pytań może być lepszym sposobem na rozwiązanie tego problemu, ale pytanie to nadal istniałoby jako zbiór tych pytań. Próbowałem skierować to pytanie konkretnie na narzędzia, które są pomocne w tworzeniu Lispów i Emacsa multiple-cursors- na przykład są przydatne wszędzie, ale być może istnieją inne pakiety, które szanują jawne określenie zakresu. Na pewno macrostepi ielmnie mają zastosowania nigdzie indziej. Podejdź do meta, może?
Sean Allred
@kaushalmodi: dobre punkty, ale czy nie dlatego jest to teraz wiki społeczności? Prawdopodobnie moglibyśmy edytować odpowiedź na flagi specyficzne dla elisp i ogólne dla programistów.
Dan
W porządku jest mieć wiki społeczności, ale myślę, że można je łatwo przekształcić w „Jakie są twoje ulubione pakiety?” CW. Weźmy w odpowiedzi inny ogólny aspekt: ​​Nawigacja .. Pasek prędkości, pocisk, światło słoneczne, orgstruct, g / c / etags, neotree, tabbar, ido, wtyczki steru i steru, ibuffer itp.
Kaushal Modi
@kaushalmodi ido, helm, ibuffer, tabbar-I nie sądzę, byłoby odpowiednie wpisy. Nie ma nic, co naprawdę ułatwi rozwój elisp . Są to z pewnością fantastyczne pakiety, ale (z mojego doświadczenia) nie mają nic do dodania do rozwoju elisp . etags- chociaż nie jestem z tym zaznajomiony, wydaje się, że byłoby to właściwe. Być może inne CW jest odpowiednie dla tych innych pakietów (ponieważ naprawdę zasługują na wzmiankę), ale obawiam się, że obawy związane z tym pytaniem z pewnością zostałyby spełnione w tym jednym.
Sean Allred,

Odpowiedzi:

21

Autorskie

  • edebug: Debugowanie kodu Elisp krok po kroku.
  • checkdoc: Dowiedz się o błędach stylu w swoich komentarzach i dokumentach.
  • elint: Linter dla Emacsa Lispa.
  • paredit: Manipuluj kodem lisp jako drzewa zamiast linii. Nigdy nie miej niezrównoważonych nawiasów.
  • lispy: vi-like alternate / superset of paredit. Dodatkowo zawiera skróty do konturów, zwężania, edebug, ediff, semantyczny, as-jump-mode, wiele kursorów, cydr, śluz i geiser.
  • multiple-cursors: Jednoczesna edycja wielu podobnych wyrażeń. Poznaj inne rzeczy, przydatne do refaktoryzacji kodu.
  • erefactor: Refaktoryzacja kodu.
  • redshank: Kolejna biblioteka refaktoryzacji (zaprojektowana dla Common Lisp, ale działa dobrze z Emacs Lisp).
  • macrostep: Interaktywne rozwijanie makr w buforze.
  • yasnippet: Fragmenty kodu do szybkiego rozwijania powtarzających się idiomów (przykłady tutaj )

Nawigacja

  • speedbar: Pasek prędkości to świetny sposób na poruszanie się po projekcie. Rozpoznaje „tagi” jako defunsi defvar(i podobne) i zapewnia widoczne zakładki jako kontur.
  • outlined-elisp-mode: Zbiór ustawień dla outlinetrybu pomocniczego dla buforów Elisp.
  • elisp-slime-nav: Natychmiastowe przejście do definicji funkcji i zmiennych za pomocą M-..

Profilowy

  • elp: Interaktywna nakładka dla Emacsa Lisp Profiler, przydatna do badania tego, co dokładnie jest wolne w profilowanej funkcji i jak współdziała z resztą Emacsa.

Zarządzanie

  • names: Zapewnia makro do tworzenia przestrzeni nazw

Kontrola wersji

  • Giti jego interfejs Emacsa Magit: prawdopodobnie najlepszy system kontroli wersji i bardzo dobrze przemyślany interfejs Emacsa.

Misc

  • ielm: interaktywny REPL
Sean Allred
źródło
Rozszerz tę listę o swoje ulubione narzędzia, jeśli uważasz, że są one bardzo pomocne.
Sean Allred
Wymieniłem tutaj
clemera