DoomEmacs Python Lsp 未正确加载

问题描述 投票:0回答:1

我在 MacOS Sonoma 上使用 Emacs 29native-comp。我启用了 lsp-modepython +lsp 语言支持。但是,当我打开Python文件时,遇到以下警告:

Error (python-mode-local-vars-hook): Error running hook "lsp!" because: (void-function lsp-deferred)

此外,我看到消息:

File local-variables error: (doom-hook-error python-mode-local-vars-hook lsp! (void-function lsp-deferred))

如何解决此问题并使 lsp 模式在 Emacs 29 中与 Python 正常工作?

python emacs liskov-substitution-principle emacs-lsp
1个回答
0
投票

解决方案:

打开文件

~/.config/emacs/modules/lang/python/config.el

找到

line 24
,其中可能包含以下代码:

(lsp!(add-hook 'python-mode-local-vars-hook #'lsp! 'append)

将其替换为以下修改后的行:

(after! lsp!(add-hook 'python-mode-local-vars-hook #'lsp! 'append))

(after! ...)
结构确保只有在lsp模式完全加载后才执行钩子。

说明:

在 DoomEmacs 中,

lsp-deferred
函数用于延迟加载
lsp-mode
。 通过添加
(after! ...)
,我们在执行钩子之前等待
lsp-mode
可用。 这可以防止出现
“void-function lsp-deferred”
错误。

请记住在进行此更改后重新启动 Emacs 或重新加载您的配置。 您的 Python LSP 现在应该正确加载。 🚀

© www.soinside.com 2019 - 2024. All rights reserved.