【问题标题】:How to highlight Python modules that are not used in Emacs如何突出显示 Emacs 中未使用的 Python 模块
【发布时间】:2025-12-06 17:25:01
【问题描述】:

大约在 6 个月前,我遇到了一位正在使用 Emacs 的开发人员。我们正在编写 Django 代码,因此也编写了 Python。他启用了一项功能(自己写的?),可以突出显示未使用的导入模块。

我愿意拥有这个,不幸的是我在过去的 15 分钟内没有找到任何相关的东西。所以我的猜测是他自己写的。我与你们可能成为的 Lisp 大师相去甚远,因此我在这里询问有关此类任务的指示;]。

【问题讨论】:

  • 如果它在某个地方,它可能就在这里:github.com/davidhalter/jedi。但是 pylint 能完成这项工作吗?
  • 你能不能不问问这个开发者你见过她用的什么?
  • @lunaryorn,如果能找回他的电子邮件,也许吧。

标签: python emacs elisp syntax-highlighting


【解决方案1】:

您可以通过安装flycheck获得自动python语法检查(包括未使用的导入)

【讨论】:

  • 请注意,仅安装 Flycheck 是不够的。您还需要一个语法检查工具。对于 Python,您需要 Pylint 或 Flake8。我推荐后者。
【解决方案2】:

要使用导入的模块进行自动检查,您需要安装 flycheckpython-mode,然后执行命令 flycheck-verify-setup

以后必须安装python包,例如pep8、pylint、flake8等。在系统端(推荐)或您的虚拟环境中使用 pip 安装他。

【讨论】:

  • 好吧,我有点忘了我的这个问题。我现在使用flake8 几个月了,它满足了这个目的。谢谢!
  • 有没有办法让它工作,所以当您引用导入的模块的属性时,如果该属性不存在或其用法不符合其定义,它会突出显示?这是阻止我完全脱离图形 IDE 的最后一件事。
【解决方案3】:

ropemacs 可以(除其他外)组织导入(删除重复和未使用的导入,对它们进行排序......)。

我不确定是否会突出显示未使用的导入,但它肯定会对此有所帮助。

此外,由于 pyflakes 检测到未使用的导入,可能像 flymake-python-pyflakes 这样的东西可能会突出显示部分(除了其他好东西)

【讨论】:

    最近更新 更多