Emacs 패키지 개발을위한 좋은 도구는 무엇입니까? [닫은]


17

테스트에 특히 유용한 도구에 대한 질문이 있지만 실제로 코드를 작성 하는 것은 어떻습니까? 개발 속도를 높이는 패키지는 무엇입니까? 프로젝트를 쉽고 빠르게 탐색하고 이해하기 위해 어떤 보조 도구를 사용합니까?


3
이 질문은 매우 광범위하고 개방적입니다. 답변에 나열된 많은 패키지가 모든 코드 개발에 적용될 수 있습니다. 또한 그 답변은 패키지 관리자에 나열된 패키지의 주요 하위 집합을 포함 할 수 있습니다. 원하는 경우 multiple-cursors, 다른 사람이 선호 할 수 visual-regexp또는 AG / ACK / 그렙 이맥스 또는 이맥스 내에서 명령 행 또는에서 붙박이 query-replace하거나 query-replace-regexp또는 뭔가 다른. 각 패키지에 대해 비슷한 주장을 할 수 있습니다. 대신 "패키지 개발"에서 특정 작업을 수행하는 방법을 묻는 것이 좋습니다.
카우

@kaushalmodi CW이기 때문에 부분적으로 개방적인 의도였습니다. 구체적인 질문을하는 것이이 문제를 해결하는 더 좋은 방법 일 수 있지만이 질문은 여전히 ​​그러한 질문의 모음으로 존재합니다. 나는 질문을 구체적으로 lisps와 emacs 개발에 도움이되는 도구에 목표로 삼으려고 노력했다. multiple-cursors예를 들어, 어디에서나 유용하지만 lisp의 명시 적 범위를 존중하는 다른 패키지가있을 수있다. 확실 macrostep하고 ielm적용되지 않습니다 어디 다른. 메타로 가져 오세요?
Sean Allred

@ kaushalmodi : 좋은 지적이지만 이것이 커뮤니티 위키 인 이유는 아닌가? 아마도 우리는 elisp 특정 및 개발 일반 패키지에 플래그를 지정하기 위해 답변을 편집 할 수 있습니다.
Dan

커뮤니티 위키를 갖는 것은 괜찮지 만 이것이 "좋아하는 패키지는 무엇입니까?"로 쉽게 변형 될 수 있다고 생각합니다. CW. 답변의 또 다른 일반적인 측면을 살펴 보겠습니다. 탐색. 스피드 바, 발사체, 빛나다, 조직, g / c / etags, neotree, tabbar, ido, helm and helm 플러그인, ibuffer 등
Kaushal Modi

@kaushalmodi ido, helm, ibuffer, tabbar- 내가 생각-것하지 않는 적절한 항목을합니다. 정말 만드는 어디에도 없습니다 elisp 쉽게 개발. 그들은 확실히 환상적인 패키지를,하지만 (내 경험) 그들에 추가 할 것도없는 elisp 개발. etags— 익숙하지는 않지만 적절할 같습니다 . 아마도 다른 CW는 다른 패키지에 적합 할 것입니다 (실제로 언급 할 가치가 있기 때문에).이 질문에 대한 당신의 두려움이 분명히 그 패키지에서 실현 될 것이라고 두려워합니다.
Sean Allred

답변:


21

저작

  • edebug: Elisp 코드의 단계별 디버깅.
  • checkdoc: 의견과 문서에서 스타일 오류에 대해 알아 봅니다.
  • elint: Emacs Lisp 용 린더.
  • paredit: lisp 코드를 줄 대신 나무로 조작합니다. 불균형 괄호가 없습니다.
  • lispy:의 vi-like 대안 / 슈퍼 셋 paredit. 또한 윤곽선, 좁히기, edebug, ediff, 시맨틱, 에이스-점프 모드, 다중 커서, 사이다, 점액 및 가이저에 대한 바로 가기가 포함됩니다.
  • multiple-cursors: 여러 개의 유사한 표현을 동시에 편집합니다. 코드 리팩토링에 유용한 다른 것들.
  • erefactor: 코드 리팩토링.
  • redshank: 다른 리팩토링 라이브러리 (Common Lisp 용으로 설계되었지만 Emacs Lisp와 잘 작동 함).
  • macrostep: 대화식 인 버퍼 매크로 확장.
  • yasnippet: 반복되는 관용구의 빠른 확장을위한 코드 스 니펫 ( 여기 예제 )

항해

  • speedbar: 스피드 바는 프로젝트를 탐색하는 좋은 방법입니다. '태그'를 defuns 및 defvars 등 으로 인식 하고 눈에 보이는 책갈피를 개요로 제공합니다.
  • outlined-elisp-mode: outlineElisp 버퍼 의 부 모드 설정 모음입니다 .
  • elisp-slime-nav:로 기능 및 변수 정의로 즉시 점프 M-..

프로파일 링

  • elp: Emacs Lisp Profiler의 대화식 프론트 엔드로, 프로파일 링 된 기능에서 느리게 무엇이 무엇인지, 다른 Emacs와 어떻게 상호 작용 하는지를 탐색하는 데 유용합니다.

조치

  • names: 네임 스페이스를 만드는 매크로를 제공합니다

버전 관리

  • GitEmacs 프론트 엔드 Magit: 아마도 최고의 버전 제어 시스템이자 Emacs 프론트 엔드입니다.

기타

  • ielm: 대화식 REPL

도움이된다고 생각되면 즐겨 사용하는 도구로이 목록을 확장하십시오.
Sean Allred

추가 리소스를 여기에
clemera
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.