Jelaskan fiturnya
Ide dasarnya telah diperkenalkan ke format-all-the-code
di https://github.com/lassik/emacs-format-all-the-code/issues/47. Asumsinya adalah bahwa server bahasa mungkin memiliki ide yang lebih baik tentang cara memformat kode daripada set default apa pun di format-all-the-code
. Usulannya, dikutip dari sana, seperti ini:
lsp-mode
tidak diaktifkan untuk buffer saat ini, mundur ke perilaku saat ini.textDocument/formatting
dari server bahasa saat ini (atau mungkin server, karena itu tampaknya merupakan alur kerja yang didukung). Jika tidak tersedia, mundur ke perilaku saat ini.textDocument/formatting
(mungkin melalui lsp-format-buffer
) alih-alih alat yang telah ditentukan sebelumnya.Tidak jelas apakah itu ide yang lebih baik untuk membuat format-all-the-things
LSP-aware atau memperluas doom-emacs
' pembungkus pemformatan otomatis. Either way saya akan senang untuk memiliki fitur tersebut.
Sistem Informasi
Maaf atas respon yang terlambat; hanya menimpali untuk memberi tahu Anda bahwa saya mengetahui masalah ini. Modul :editor format
sangat terlambat untuk ditulis ulang, baik untuk membuatnya sadar LSP, dan mungkin untuk mengganti format-all-the-code dengan reformatter.el untuk memfasilitasi backend pemformatan yang lebih dapat disesuaikan.
Saya belum punya waktu untuk mengerjakan ini, tetapi saya belum melupakannya.
Juga, @Kaali di #2516 memunculkan ketidaksadaran LSP ini dalam mode-go. Untuk saat ini, solusi untuk ini adalah menonaktifkan formatter kami dengan menambahkan go-mode
ke +format-on-save-enabled-modes
(yang merupakan daftar yang dinegasikan, secara default, karena elemen pertamanya adalah not
), lalu tambahkan lsp-format-buffer
ke kait sebelum simpan lokal mode itu. misalnya
(add-to-list '+format-on-save-enabled-modes 'go-mode t)
(add-hook! 'go-mode-hook
(add-hook 'before-save-hook #'lsp-format-buffer nil 'local)
(add-hook 'before-save-hook #'lsp-organize-imports nil 'local))
@hlissner Terima kasih atas umpan baliknya! Sebelum Anda mengganti format-all-the-code
, Anda mungkin tertarik dengan perkembangan terkini , yang memperkenalkan pemformat global dan buffer-local yang dapat dikonfigurasi. Jika tidak: jangan pedulikan saya, saya akan senang jika dan ketika itu selesai, tetapi saya juga cukup senang dengan Doom sekarang bahkan tanpa itu :)
Pada 7472cff, perintah format kami mendukung LSP (jika server yang berjalan mendukung pemformatan).
Ini dapat dinonaktifkan secara global dengan
(setq +format-with-lsp nil)
Atau pada basis per-mode dengan
(setq-hook! 'python-mode-hook +format-with-lsp nil)
Bagaimanapun saya akan menganggap ini diselesaikan. Terima kasih telah membawanya ke perhatian saya!
Komentar yang paling membantu
Maaf atas respon yang terlambat; hanya menimpali untuk memberi tahu Anda bahwa saya mengetahui masalah ini. Modul
:editor format
sangat terlambat untuk ditulis ulang, baik untuk membuatnya sadar LSP, dan mungkin untuk mengganti format-all-the-code dengan reformatter.el untuk memfasilitasi backend pemformatan yang lebih dapat disesuaikan.Saya belum punya waktu untuk mengerjakan ini, tetapi saya belum melupakannya.
Juga, @Kaali di #2516 memunculkan ketidaksadaran LSP ini dalam mode-go. Untuk saat ini, solusi untuk ini adalah menonaktifkan formatter kami dengan menambahkan
go-mode
ke+format-on-save-enabled-modes
(yang merupakan daftar yang dinegasikan, secara default, karena elemen pertamanya adalahnot
), lalu tambahkanlsp-format-buffer
ke kait sebelum simpan lokal mode itu. misalnya