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.