90

一点背景:

  • PEP 8Python 代码的样式指南。它包含所有 python 程序员应该遵循的约定。
  • 根据 PEP 8, pep8.py是一个(非常有用的)脚本,用于检查给定 python 脚本的代码格式。
  • Eclipse是一个很棒的 IDE。使用Pydev扩展,可用于开发 Python

我在编写脚本时手动运行 pep8.py,但对于较大的项目,我更喜欢使用 Eclipse。在 Eclipse/Pydev 中集成 pep8.py 非常有用,因此它可以在项目中的所有文件中自动运行,并指向包含警告的行。也许有一个明显的方法可以做到这一点,但我还没有找到它。

问题是:如何在 Eclipse 中集成 pep8.py?

4

6 回答 6

87

从 PyDev 2.3.0 开始,pep8默认情况下集成在 PyDev 中,甚至附带它的默认版本。

打开窗口 > 首选项

它必须在 PyDev > Editor > Code Analysis > pep8.py 中启用

错误/警告应显示为标记(与常规代码分析中的其他内容一样)。

如果未分析文件,请参阅https://stackoverflow.com/a/31001619/832230

于 2011-12-16T09:32:19.627 回答
26

我不知道如何将它集成到整个项目中,但我已将它用作分析单个文件的外部工具。

请注意,该pycodestyle软件包是该软件包的官方替换版本,并且是该pep8软件包的较新版本。要安装它,请运行:

$ sudo pip install --upgrade pycodestyle

接下来,在 Eclipse 中:

  1. 选择运行-外部工具-外部工具配置...
  2. 选择程序根节点。
  3. 新的启动配置按钮。
  4. 输入启动配置的名称。我用pycodestyle.
  5. 填写以下字段:

    地点——${system_path:pycodestyle}

    工作目录——${container_loc}

    参数—— "${resource_name}"(这使用当前活动的文件。)

转到Common选项卡并确认Allocate Console复选框已选中。

这种方法的一个好处是您可以使用非常最新版本的包,而不仅限于 PyDev 中包含的旧版本。pylint如果您对以类似方式进行设置感到好奇,请参阅此答案

于 2010-02-19T12:36:16.743 回答
12
  1. 打开你的 Eclipse
  2. 转到帮助并选择安装新软件
  3. 单击添加按钮,将出现“添加存储库”对话框
  4. 您可以使用任何您喜欢的名称。(我使用了 PyDev)
  5. 对于位置,输入“http://pydev.org/updates”
  6. 单击确定。
  7. 您现在正在安装过程中。只是等待它完成。
  8. 安装完成后,关闭 Eclipse 并再次打开。
  9. 现在 PyDev 已安装在您的 Eclipse 中,转到 Window->Preferences
  10. 选择 PyDev->Editor->代码分析
  11. 转到 pep8.py 选项卡
  12. 选择警告单选按钮,然后单击确定。

就是这样。您的 Eclipse IDE 现在已与 PEP8 集成。要自动运行 pep8.py,请右键单击您的项目编辑器。选择 PyDev 并点击“代码分析”。在工作区的问题选项卡中,您将看到指向您在 PEP8 中违规的行的警告(如果您已违规)。

于 2012-01-12T04:55:42.220 回答
10

代码分析:

在 Eclipse ( PyDev ) 中,如果您想使用 pep8 样式进行代码分析,那么

转到:Windows -> 首选项 -> PyDev -> 编辑器 -> 代码分析 -> pep8.py选项卡并选择警告单击应用和确定按钮。

在你的 python 代码中,如果你验证 pep8 编码风格,它会给你警告

自动代码格式化:

在 Eclipse ( PyDev ) 中,如果您想使用 pep8 样式自动格式化python 代码,那么

转到:Windows -> 首选项 -> PyDev -> 编辑器 -> 代码样式 -> 代码格式化程序 -> 单击复选框(使用 autopep8.py 进行控制台格式化?)单击应用和确定按钮。

如果要在下面增加行长(pep8 默认为 79)使用 autopep8.py,--max-line-length=150如果将最大长度设置为 150,则可以设置参数类型

如果按自动格式化快捷键(Ctrl + Shift + f),它将自动格式化您的 python 代码,如 pep8 样式

于 2015-11-27T07:19:03.230 回答
6

这似乎还没有完全集成到 Pydev 中。

正如这篇文章所建议的,

[它] 需要更改 pydev 中的代码——一个灵活的选项是添加首选项,让用户选择他想要匹配的模式以创建超链接(并说明匹配中的哪个组是行,哪个是文件)...

或者,您可以尝试使用硬编码玩:org.python.pydev.debug.ui.PythonConsoleLineTracker(应该很容易掌握)。

确实存在一个请求,但它似乎在创建一年后仍然开放......

于 2008-12-31T15:47:42.180 回答
-1

你没有:) 相反,你利用与 PyLint 的非常好的集成并配置 PyLint 来检查 PEP8 检查的所有内容。请参阅如何配置 PyLint 以检查 PEP8 检查的所有内容?

于 2011-10-30T19:53:36.490 回答