Beschreiben Sie die Funktion
Die Grundidee wurde format-all-the-code
in https://github.com/lassik/emacs-format-all-the-code/issues/47 vorgestellt. Die Annahme ist, dass ein Sprachserver wahrscheinlich eine bessere Idee hat, wie der Code formatiert wird, als jeder Standardsatz in format-all-the-code
. Der dort zitierte Vorschlag sieht so aus:
lsp-mode
für den aktuellen Puffer nicht aktiviert ist, wird auf das aktuelle Verhalten zurückgegriffen.textDocument/formatting
Fähigkeit des aktuellen Sprachservers (oder möglicherweise Servers, da dies anscheinend ein unterstützter Workflow ist). Wenn es nicht verfügbar ist, greifen Sie auf das aktuelle Verhalten zurück.textDocument/formatting
(wahrscheinlich über lsp-format-buffer
) anstelle des vordefinierten Tools.Es ist nicht klar, ob es eine bessere Idee ist, format-all-the-things
LSP-fähig zu machen oder den Auto-Formatierungs-Wrapper von doom-emacs
. Über die Funktion würde ich mich jedenfalls freuen.
System Information
Entschuldigung für die späte Antwort; Ich melde mich nur, um Sie wissen zu lassen, dass mir dieses Problem bekannt ist. Das :editor format
Modul ist schmerzlich überfällig, um es LSP-fähig zu machen und möglicherweise format-all-the-code durch reformatter.el zu ersetzen, um ein anpassbareres Formatierungs-Backend zu ermöglichen.
Ich habe zwar noch keine Zeit, daran zu arbeiten, aber ich habe es nicht vergessen.
Außerdem hat @Kaali in #2516 diese LSP-Unwissenheit im Go-Modus go-mode
zu +format-on-save-enabled-modes
hinzugefügt wird (was standardmäßig eine negierte Liste ist, da das erste Element not
), dann fügen Sie lsp-format-buffer
zum lokalen Vor-Speichern-Hook dieses Modus hinzu. z.B
(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 Danke für das Feedback! Bevor Sie format-all-the-code
ersetzen, interessieren Sie vielleicht die neuesten Entwicklungen , die globale und pufferlokale konfigurierbare Formatierer einführen. Ansonsten: macht mir nichts aus, ich freue mich, wenn und wenn es fertig ist, aber mit Doom bin ich gerade auch ohne ganz zufrieden :)
Ab 7472cff unterstützen unsere Formatbefehle LSP (wenn der laufende Server die Formatierung unterstützt).
Dies kann global deaktiviert werden mit
(setq +format-with-lsp nil)
Oder pro Modus mit
(setq-hook! 'python-mode-hook +format-with-lsp nil)
Auf jeden Fall betrachte ich dies als gelöst. Danke, dass du mich darauf aufmerksam gemacht hast!
Hilfreichster Kommentar
Entschuldigung für die späte Antwort; Ich melde mich nur, um Sie wissen zu lassen, dass mir dieses Problem bekannt ist. Das
:editor format
Modul ist schmerzlich überfällig, um es LSP-fähig zu machen und möglicherweise format-all-the-code durch reformatter.el zu ersetzen, um ein anpassbareres Formatierungs-Backend zu ermöglichen.Ich habe zwar noch keine Zeit, daran zu arbeiten, aber ich habe es nicht vergessen.
Außerdem hat @Kaali in #2516 diese LSP-Unwissenheit im Go-Modus
go-mode
zu+format-on-save-enabled-modes
hinzugefügt wird (was standardmäßig eine negierte Liste ist, da das erste Elementnot
), dann fügen Sielsp-format-buffer
zum lokalen Vor-Speichern-Hook dieses Modus hinzu. z.B