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?
elisp
interactive-development
package-development
Sean Allred
źródło
źródło
multiple-cursors
, ktoś inny może wolećvisual-regexp
lub ag / ACK / grep z linii poleceń lub od wewnątrz emacs czy emacs wbudowanaquery-replace
lubquery-replace-regexp
czy 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”.multiple-cursors
- na przykład są przydatne wszędzie, ale być może istnieją inne pakiety, które szanują jawne określenie zakresu. Na pewnomacrostep
iielm
nie mają zastosowania nigdzie indziej. Podejdź do meta, może?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.Odpowiedzi:
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 ofparedit
. 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” jakodefun
sidefvar
(i podobne) i zapewnia widoczne zakładki jako kontur.outlined-elisp-mode
: Zbiór ustawień dlaoutline
trybu 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 nazwKontrola wersji
Git
i jego interfejs EmacsaMagit
: prawdopodobnie najlepszy system kontroli wersji i bardzo dobrze przemyślany interfejs Emacsa.Misc
ielm
: interaktywny REPLźródło