Quali sono i buoni strumenti per lo sviluppo del pacchetto Emacs? [chiuso]


17

Abbiamo già una domanda sugli strumenti utili specificamente per i test , ma per quanto riguarda effettivamente la scrittura del codice? Quali pacchetti trovi accelerano il tuo sviluppo? Quali aiuti utilizzi per navigare e comprendere rapidamente e facilmente i tuoi progetti?


3
Questa domanda è molto ampia e aperta. Molti dei pacchetti elencati nella risposta possono applicarsi a qualsiasi sviluppo di codice. Anche quella risposta può finire per contenere un sottoinsieme principale dei pacchetti elencati in Gestione pacchetti. Se preferisci multiple-cursors, qualcun altro potrebbe preferire visual-regexpo ag / ack / grep dalla riga di comando o dall'interno di emacs o emacs integrato query-replaceo query-replace-regexpo qualcos'altro. Argomenti simili possono essere fatti per ogni pacchetto. Invece una buona domanda sarebbe chiedere come fare qualcosa di specifico nello "sviluppo di pacchetti".
Kaushal Modi,

@kaushalmodi È CW, quindi in parte era mia intenzione essere a tempo indeterminato. Porre domande specifiche potrebbe essere un modo migliore per farlo, ma questa domanda esisterebbe ancora come una raccolta di quelle domande. Ho cercato di indirizzare la domanda specificamente su strumenti che sono utili con lo sviluppo di lisps ed emacs multiple-cursors, ad esempio, sono utili ovunque, ma forse ci sono altri pacchetti che rispettano l'ambito esplicito di lisp. Sicuramente macrostepe ielmnon sono applicabili in qualsiasi altra parte. Mostra questo su meta, forse?
Sean Allred,

@kaushalmodi: buoni punti, ma non è per questo che ora è un wiki della community? Presumibilmente potremmo modificare la risposta per contrassegnare i pacchetti specifici di elisp e di sviluppo generale.
Dan

Va bene avere un wiki della comunità ma penso che questo possa facilmente trasformarsi in "Quali sono i tuoi pacchetti preferiti?" CW. Prendiamo un altro aspetto generico nella tua risposta: Navigazione .. Speedbar, proiettile, outshine, orgstruct, g / c / etags, neotree, tabbar, ido, plugin helm e helm, ibuffer, ecc.
Kaushal Modi

@kaushalmodi ido, helm, ibuffer, tabbar-Non credo-sarebbe voci appropriate. Non c'è nulla che semplifichi davvero lo sviluppo degli elis . Sono sicuramente pacchetti fantastici, ma (nella mia esperienza) non hanno nulla da aggiungere allo sviluppo elisp . etags—Quando non ne ho familiarità, sembra che sarebbe appropriato. Forse un altro CW è appropriato per questi altri pacchetti (perché meritano davvero una menzione), ma temo che le tue paure per questa domanda sarebbero sicuramente state realizzate in quello.
Sean Allred,

Risposte:


21

Authoring

  • edebug: Debug passo-passo del codice Elisp.
  • checkdoc: Scopri gli errori di stile nei tuoi commenti e documenti.
  • elint: Linter per Emacs Lisp.
  • paredit: Manipola il codice lisp come alberi anziché come linee. Non avere mai parentesi sbilanciate.
  • lispy: alternativa di tipo vi / superset di paredit. Include inoltre scorciatoie per contorni, restringimento, edebug, ediff, semantico, modalità asso-salto, cursori multipli, sidro, melma e geiser.
  • multiple-cursors: Modifica contemporaneamente più espressioni simili. Tra le altre cose, utile per il refactoring del codice.
  • erefactor: Refactoring del codice.
  • redshank: Un'altra libreria di refactoring (progettata per Common Lisp, ma funziona bene con Emacs Lisp).
  • macrostep: Espansione macro nel buffer interattiva.
  • yasnippet: Snippet di codice per una rapida espansione di espressioni ripetitive (esempi qui )

Navigazione

  • speedbar: La speedbar è un ottimo modo per navigare nel tuo progetto. Riconosce 'tag' come defuns e defvars (e simili) e fornisce i segnalibri visibili come un contorno.
  • outlined-elisp-mode: Una raccolta di impostazioni per la outlinemodalità secondaria per i buffer Elisp.
  • elisp-slime-nav: Salto istantaneo alla funzione e definizioni variabili con M-..

profiling

  • elp: Frontend interattivo per Emacs Lisp Profiler, utile per esplorare ciò che è esattamente lento nella tua funzione di profilo e come interagisce con il resto di Emacs.

Gestione

  • names: Fornisce una macro per creare spazi dei nomi

Controllo della versione

  • Gite il suo front-end Emacs Magit: probabilmente il miglior sistema di controllo della versione e un front-end Emacs molto ben pensato per questo.

Varie

  • ielm: REPL interattivo

Estendi questo elenco con i tuoi strumenti preferiti se ritieni che siano di grande aiuto.
Sean Allred,

Ho elencato risorse aggiuntive qui
clemera
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.