Cách tốt nhất để sử dụng các gói địa phương trong spacemacs là gì?


18

Tôi là nhà phát triển cho gói (ycmd) được sử dụng bởi spacemacs và tôi cũng muốn thử sử dụng spacemacs. Tôi muốn các spacemac sử dụng "phiên bản phát triển" của gói của tôi, tức là phiên bản tôi đang hack tại địa phương. Cách tốt nhất / thích hợp để nói với tàu vũ trụ sử dụng phiên bản của gói đó thay vì phiên bản từ melpa là gì?

Ngay bây giờ tôi đang sử dụng :load-pathđối số để use-package, nhưng điều này dường như đi ngược lại với hạt sạn một chút. Spacemacs có cho phép tôi chỉ định một thư mục tải cho các gói cụ thể trong cấu hình lớp ở đâu đó không?

Câu trả lời:


14

Các gói địa phương được đưa vào extensions.elthay vì packages.el. Có hai danh sách trong một extensions.eltệp:

  • <layer>-pre-extensions được tải trước packages.el
  • <layer>-post-extensions được tải sau packages.el

Các gói cục bộ được đặt trong thư mục extensionstrong một thư mục con có tên là tên bạn đặt trong một trong hai danh sách. Các load-pathbiến được xử lý tự động.

Bạn có thể nhìn vào một số ví dụ trong pythonlớp.


Cảm ơn vô cùng! Tôi đoán rằng có một cách kinh điển, nhưng tôi đã không kết nối tất cả các dấu chấm.
abingham

Tôi chỉnh sửa câu trả lời để đề cập đến load-pathbiến được đặt tự động.
syl20bnr

@ syl20bnr, bạn cũng cần thêm gói vào `<layer> -excluded-gói, nếu bạn đang làm việc trên một gói đã được sử dụng ở nơi khác?
mkaito

5
extend.el đang bị phản đối ủng hộ các gói địa phương. Xem github.com/syl20bnr/spacemacs/blob/develop/doc/iêu
tony ngày

@tonyday thực sự, pythonlớp mà @ syl20bnr đề cập trong câu trả lời này bây giờ cũng tuân theo các nguyên tắc đó, điều này khiến tôi bối rối cho đến khi tôi thấy nhận xét của bạn :)
mike
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.