Saya telah memperbarui semua panggilan paket penggunaan saya sekarang yang :idle
tidak lagi cara yang layak untuk menunda barang. Saat ini salah satu hit terbesar pada waktu buka saya adalah elpy
memuat banyak modul tambahan. Saat ini permohonan saya agak mendasar:
(use-package elpy
:commands elpy-enable
:init (elpy-enable)
:config
(progn
(setq elpy-rpc-backend "jedi"
elpy-rpc-project-specific 't)
(when (fboundp 'flycheck-mode)
(setq elpy-modules (delete 'elpy-module-flymake elpy-modules)))))
Namun ini agak boros jika saya tidak pernah mengedit modul python. Masalahnya adalah elpy adalah kumpulan mode jadi saya tidak bisa begitu saja menggunakan formulir mode mengikat sebagaimana elpy-enable
perlu dipanggil. Jadi pendekatan apa yang harus saya gunakan. Apakah ini hanya kasus pemicu pada mode python-hook?
use-package
elpy
stsquad
sumber
sumber
:idle
dapat diganti dengan sesuatu seperti di:defer 30
mana nomor tersebut adalah penundaan dalam hitungan detik setelah paket harus dimuat.Jawaban:
Saya tidak tahu Elpy, jadi saya tidak yakin apakah saya memahami masalah Anda dengan benar. Saya tahu
use-package
, dan baru-baru ini menderita masalah yang sama, yaitu penghapusan:idle
.Pada dasarnya, ada dua jalan keluar, tergantung pada bagaimana Anda perlu menggunakan Elpy. Anda dapat menggunakan pria miskin
:idle
, denganrun-with-idle-timer
, misalnyaAtau, Anda bisa mengandalkan lama yang baik
with-eval-after-load
atau menggunakanpython-mode-hook
dan menunda Elpy sampai setelah Mode Python dimuat atau diaktifkan masing-masing:sumber
:commands elpy-enable
untuk membuatnya berfungsi.:init (with-eval-after-load 'python (elpy-enable)) :commands elpy-enable
Penulis elpy menyarankan untuk melakukan ini melalui saran, karena
elpy-enable
memodifikasipython-mode-hook
variabel, sehingga memanggilnya di dalam mode-hook sudah terlambat: https://github.com/jorgenschaefer/elpy/wiki/Configurationpendekatan sederhana:
menggunakan
use-package
:sumber
README.rst
, tetapi tidak di tempat pertama dan paling jelas untuk melihat: bagian instalasi dokumentasi . Saya telah melaporkan ini dalam edisi # 1606 .Saya pikir itu mungkin dengan: setelah
sumber
:defer
jika sudah menggunakannya:mode
. github.com/jwiegley/use-package#notes-about-lazy-loading