Các công cụ tốt để phát triển gói Emacs là gì? [đóng cửa]


17

Chúng tôi đã có một câu hỏi về các công cụ hữu ích đặc biệt để thử nghiệm , nhưng thực tế việc viết mã thì sao? Những gói nào bạn tìm thấy tăng tốc độ phát triển của bạn? Những công cụ hỗ trợ nào bạn sử dụng để nhanh chóng và dễ dàng điều hướng và hiểu các dự án của bạn?


3
Câu hỏi này rất rộng và kết thúc mở. Nhiều gói bạn liệt kê trong câu trả lời của bạn có thể áp dụng cho bất kỳ sự phát triển mã nào. Ngoài ra, câu trả lời có thể chứa một tập hợp con chính của các gói được liệt kê trong trình quản lý gói. Nếu bạn thích multiple-cursors, người khác có thể thích visual-regexphoặc ag / ack / grep từ dòng lệnh hoặc từ bên trong emacs hoặc emacs inbuilt query-replacehay query-replace-regexphay cái gì khác. Đối số tương tự có thể được thực hiện cho mỗi gói. Thay vào đó, một câu hỏi hay sẽ là hỏi làm thế nào để làm một cái gì đó cụ thể trong "phát triển gói".
Kaushal Modi

@kaushalmodi Đó là CW, nên một phần ý định của tôi là kết thúc mở. Đặt câu hỏi cụ thể có thể là một cách tốt hơn để giải quyết vấn đề này, nhưng câu hỏi này vẫn sẽ tồn tại như một bộ sưu tập những câu hỏi đó. multiple-cursorsVí dụ, tôi đã cố gắng đặt câu hỏi cụ thể vào các công cụ hữu ích với việc phát triển lisps và emacs , rất hữu ích ở mọi nơi, nhưng có lẽ có những gói khác tôn trọng phạm vi rõ ràng của lisp. Chắc chắn macrostepielmkhông áp dụng ở bất cứ nơi nào khác. Mang cái này lên meta, có thể?
Sean Allred

@kaushalmodi: điểm tốt, nhưng đây không phải là lý do tại sao bây giờ là wiki cộng đồng? Có lẽ chúng ta có thể chỉnh sửa câu trả lời cho các gói chung cụ thể và phát triển chung.
Dân

Có thể có một wiki cộng đồng nhưng tôi nghĩ rằng điều này có thể dễ dàng chuyển thành "Gói yêu thích của bạn là gì?" CW. Hãy lấy một khía cạnh chung trong câu trả lời của bạn: Navigation .. Speedbar, đạn, làm lu mờ, orgstruct, g / c / etags, neotree, thanh tabbar, Ido, lãnh đạo và lãnh đạo plugins, ibuffer, vv
Kaushal Modi

@kaushalmodi ido, helm, ibuffer, tabbar-Tôi không nghĩ-sẽ là mục thích hợp. Không có gì thực sự làm cho sự phát triển elisp dễ dàng hơn. Họ gói chắc chắn tuyệt vời, nhưng (theo kinh nghiệm của tôi) họ không có bất cứ điều gì để thêm vào elisp phát triển. etags-While Tôi không quen thuộc với nó, âm thanh như nó sẽ là thích hợp. Có lẽ một CW khác phù hợp với các gói khác này (vì chúng thực sự đáng được đề cập), nhưng tôi sợ rằng nỗi sợ của bạn cho câu hỏi này chắc chắn sẽ được nhận ra trong đó.
Sean Allred

Câu trả lời:


21

Tác giả

  • edebug: Gỡ lỗi từng bước mã Elisp.
  • checkdoc: Tìm hiểu về lỗi kiểu trong nhận xét và tài liệu của bạn.
  • elint: Kẻ nói dối cho Emacs Lisp.
  • paredit: Thao tác mã lisp như cây thay vì dòng. Không bao giờ có dấu ngoặc đơn không cân bằng.
  • lispy: thay thế giống như vi / superset của paredit. Ngoài ra bao gồm các phím tắt cho phác thảo, thu hẹp, edebug, ediff, semantic, ace-jump-mode, multi-con trỏ, cider, slime và geiser.
  • multiple-cursors: Đồng thời chỉnh sửa nhiều biểu thức tương tự. Nhận thức những thứ khác, hữu ích cho tái cấu trúc mã.
  • erefactor: Lập trình lại.
  • redshank: Một thư viện tái cấu trúc khác (được thiết kế cho Common Lisp, nhưng hoạt động tốt với Emacs Lisp).
  • macrostep: Tương tác mở rộng macro trong bộ đệm.
  • yasnippet: Đoạn mã để mở rộng nhanh chóng các thành ngữ lặp đi lặp lại (ví dụ ở đây )

dẫn đường

  • speedbar: Thanh tốc độ là một cách tuyệt vời để điều hướng qua dự án của bạn. Nó nhận ra 'thẻ' là defuns và defvars (và tương tự) và cung cấp dấu trang hiển thị dưới dạng phác thảo.
  • outlined-elisp-mode: Tập hợp các cài đặt cho outlinechế độ nhỏ cho bộ đệm Elisp.
  • elisp-slime-nav: Nhảy ngay đến chức năng và định nghĩa biến với M-..

Hồ sơ

  • elp: Giao diện tương tác cho Emacs Lisp Profiler, hữu ích cho việc khám phá chính xác những gì chậm trong chức năng được định hình của bạn và cách nó tương tác với phần còn lại của Emacs.

Sự quản lý

  • names: Cung cấp một macro để tạo không gian tên

Kiểm soát phiên bản

  • Gitvà front-end Emacs của nó Magit: được cho là hệ thống kiểm soát phiên bản tốt nhất và một front-end Emacs rất được suy nghĩ cho nó.

Linh tinh

  • ielm: REPL tương tác

Vui lòng mở rộng trong danh sách này với các công cụ yêu thích của bạn nếu bạn tin rằng chúng hữu ích rộng rãi.
Sean Allred

Tôi đã liệt kê các tài nguyên bổ sung ở đây
clemera
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.