什么是Emacs软件包开发的好工具?[关闭]


17

我们已经有一个专门用于测试的工具的问题,但是实际编写代码又如何呢?您发现哪些软件包可以加快您的开发速度?您使用哪些辅助工具快速轻松地导航和了解您的项目?


3
这个问题是非常广泛和开放的。您在答案中列出的许多软件包都可以应用于任何代码开发。同样,该答案最终可能包含软件包管理器中列出的软件包的主要子集。如果你喜欢multiple-cursors,别人可能喜欢visual-regexp或Ag / ACK / grep的命令行或emacs的或Emacs中内置query-replacequery-replace-regexp或别的东西。可以为每个程序包设置类似的参数。相反,一个很好的问题将是询问如何在“包装开发”中进行特定的操作。
Kaushal Modi 2014年

@kaushalmodi这是CW,所以我的目的是开放式。提出特定问题可能是解决此问题的更好方法,但是此问题仍将作为这些问题的集合而存在。我试图将问题专门针对对lisps和emacs开发有用的工具- multiple-cursors例如,在所有地方都有用,但是也许还有其他软件包尊重lisp的显式作用域。当然macrostep,并ielm不能适用在任何地方别的。也许把它放在meta上?
肖恩·艾瑞德

@kaushalmodi:好点,但这不是为什么现在是社区Wiki吗?大概我们可以编辑答案以标记特定于elisp的和一般开发的软件包。

拥有社区Wiki也可以,但是我认为这可以轻松地转换为“您最喜欢的软件包是什么?” CW。让我们以另一个通用的方面作为您的答案:导航..速度栏,射弹,outshine,orgstruct,g / c / etags,neotree,tabbar,ido,helm和helm插件,ibuffer等
Kaushal Modi

@kaushalmodi idohelmibuffertabbar-我不认为,将是适当的条目。没有什么可以真正真正简化elisp开发。它们肯定是很棒的软件包,但是(以我的经验),它们并没有增加elisp开发的内容。 etags-while我不熟悉它,喜欢它的声音是适当的。也许另一个CW适合其他软件包(因为它们确实值得一提),但是我担心您对此问题的担心肯定会在该软件包中实现。
肖恩·艾瑞德

Answers:


21

创作

  • edebug:Elisp代码的逐步调试。
  • checkdoc:了解您的评论和文档中的样式错误。
  • elint:Emacs Lisp的Linter。
  • paredit:以树而不是线的形式处理Lisp代码。切勿使括号不平衡。
  • lispy:类似于vi的替代/超集paredit。另外还包括轮廓,缩小,edebug,ediff,语义,ace-jump-mode,多光标,苹果酒,粘液和geiser的快捷方式。
  • multiple-cursors:同时编辑多个相似的表达式。除此以外,对代码重构很有用。
  • erefactor:代码重构。
  • redshank:另一个重构库(为Common Lisp设计,但是与Emacs Lisp一起很好地工作)。
  • macrostep:交互式缓冲区内宏扩展。
  • yasnippet:用于快速重复性习语的代码片段(此处为示例)

导航

  • speedbar:速度栏是浏览项目的好方法。它将“标签”识别为defuns和defvars(等等),并提供可见的书签作为轮廓。
  • outlined-elisp-modeoutlineElisp缓冲区的次要模式设置的集合。
  • elisp-slime-nav:使用。即时跳转到函数和变量定义M-.

剖析

  • elp:Emacs Lisp Profiler的交互式前端,可用于探究配置文件功能到底是什么慢,以及它如何与Emacs的其余部分进行交互。

管理

  • names:提供一个宏来创建名称空间

版本控制

  • Git以及它的Emacs前端Magit:可以说是最好的版本控制系统,以及一个非常周到的Emacs前端。

杂项

  • ielm:交互式REPL

如果您认为这些工具对您有帮助,请在此列表中进行扩展。
肖恩·艾瑞德

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.