如何在 Eclipse 中集成 pep8.py?
Posted
技术标签:
【中文标题】如何在 Eclipse 中集成 pep8.py?【英文标题】:How to integrate pep8.py in Eclipse? 【发布时间】:2010-09-28 20:03:03 【问题描述】:一点背景:
PEP 8 是Python 代码风格指南。它包含所有 Python 程序员应遵循的约定。 根据 PEP 8,pep8.py 是一个(非常有用的)脚本,用于检查给定 python 脚本的代码格式。 Eclipse 是一个很棒的 IDE。加上Pydev扩展,可以用来开发Python我在编写脚本时手动运行 pep8.py,但对于较大的项目,我更喜欢使用 Eclipse。 在 Eclipse/Pydev 中集成 pep8.py 非常有用,因此它可以在项目中的所有文件中自动运行,并指向包含警告的行。 也许有一个明显的方法可以做到,但我还没有找到。
问题是:如何在Eclipse中集成pep8.py?
【问题讨论】:
现在有一个默认的 pep8 集成。见:***.com/questions/399956/… 鉴于自从您接受Dmitry Kochkin 的答案后情况发生了变化,我是否可以建议您将接受的答案更改为Fabio Zadrozny 的答案或angelo.bixly 的答案?这将有助于像我一样从 Google 提出这个问题的未来访问者,使我们能够首先找到最新信息 - 否则这些答案可能需要很长时间才能被推送到顶部。 【参考方案1】:从 PyDev 2.3.0 开始,pep8
默认集成在 PyDev 中,甚至附带它的默认版本。
打开窗口 > 首选项
必须在 PyDev > Editor > Code Analysis > pep8.py 中启用
错误/警告应显示为标记(与常规代码分析中的其他内容一样)。
如果文件未被分析,请参阅https://***.com/a/31001619/832230。
【讨论】:
默认显示很多警告。但是,当我从命令行运行它时,它会显示更多。如何说服它在 Eclipse 中显示从命令行运行时显示的所有警告?选项是一样的。此外,将 pep8 输出重定向到控制台没有任何作用。 PyDev 当前使用的是旧版本,因为它使用其内部 Jython 版本(当前为 2.2.1)。有计划让它在外部运行以获得结果或更新内部 Jython 以支持更新版本的 pep8.py。 显然,这不适用于 PyDev 4.2.0,在警告或错误模式下都不会显示任何标记。 刚刚在这里测试过,它确实对我有用...请注意,您的源代码必须位于源文件夹下(即:在 PYTHONPATH 中)才能正常工作(如果仍然没有,请在 pydev 跟踪器上报告问题)。 一旦我将它设置为错误模式,它就开始工作了。从您激活它到它开始标记代码还有一段延迟。【参考方案2】:我不知道如何将它集成到整个项目中,但我已将它用作分析单个文件的外部工具。
请注意,pycodestyle
包是pep8
包的官方替换,并且是更新版本的pep8
包。要安装它,请运行:
$ sudo pip install --upgrade pycodestyle
接下来,在 Eclipse 中:
-
选择运行-外部工具-外部工具配置...
选择程序根节点。
按新的启动配置按钮。
为您的启动配置输入 名称。我用
pycodestyle
。
填写以下字段:
位置 -- $system_path:pycodestyle
工作目录 -- $container_loc
参数 -- "$resource_name"
(使用当前活动的文件。)
转到Common标签并确认Allocate Console复选框被选中。
这种方法的一个好处是您可以使用非常最新版本的包,而不仅限于 PyDev 中包含的旧版本。如果您对以类似方式设置pylint
感到好奇,请参阅this answer。
【讨论】:
如果您收到错误 Variable references empty selection: $container_loc 不要忘记将源文件夹添加到 PYTHONPATH(如果您导入它可能不存在一个现有的项目到工作区)。 右键单击项目名称 > 属性 > PyDev - PYTHONPATH > 源文件夹选项卡,然后单击添加源文件夹。应该像魅力一样工作。 现在有一个默认的 pep8 集成。见:***.com/a/8532188/110451 这对 pep8 CHECKING 没有那么有用,因为它主要在 Eclispe 中可用 - 但我发现它对 autopep8 非常有用!谢谢【参考方案3】:-
打开你的 Eclipse
转到帮助并选择安装新软件
单击“添加”按钮,将出现“添加存储库”对话框
您可以使用任何您喜欢的名称。 (我用的是 PyDev)
对于位置,输入“http://pydev.org/updates”
点击确定。
您现在正在安装过程中。等待它完成。
安装完成后,关闭Eclipse,再打开。
现在 PyDev 已安装在 Eclipse 中,转到 Window->Preferences
选择 PyDev->Editor->代码分析
转到 pep8.py 选项卡
选择警告单选按钮并单击确定。
就是这样。您的 Eclipse IDE 现在已与 PEP8 集成。 要自动运行 pep8.py,请右键单击您的项目编辑器。选择 PyDev 并点击“代码分析”。在工作区的问题选项卡中,您将看到警告,指出您在 PEP8 中违反了(如果您违反了)行。
【讨论】:
非常奇怪的是,无论我如何尝试配置 pep8,编辑器中的警告和信息标记都没有出现。直到我添加了“问题”视图,然后它突然就像一个魅力......【参考方案4】:代码分析:
在 Eclipse (PyDev) 中,如果你想代码分析使用 pep8 风格,那么
转到:Windows -> Preferences -> PyDev -> Editor -> Code Analysis -> pep8.py 选项卡并选择 Warning 点击 Apply 和 OK 按钮。
在你的 python 代码中,如果你验证 pep8 编码风格,它会给你警告
自动代码格式化:
在 Eclipse (PyDev) 中,如果你想 Auto Format 使用 pep8 样式的 python 代码,那么
转到:Windows -> 首选项 -> PyDev -> 编辑器 -> 代码样式 -> 代码格式化程序 -> 单击复选框(使用 autopep8.py 进行控制台格式化?)单击应用和确定按钮。
如果你想增加下面的行长(pep8 默认为 79)使用 autopep8.py 你可以设置参数类型 --max-line-length=150
如果你将最大长度设置为 150
如果按下自动格式化快捷键(Ctrl + Shift + f),它将自动格式化你的python代码,如pep8风格
【讨论】:
【参考方案5】:这似乎还没有完全集成到 Pydev 中。
正如this post 所建议的,
[it] 需要更改 pydev 中的代码——一个灵活的选项是添加首选项,让用户选择他想要匹配的模式以创建超链接(并说明匹配中的哪个组是行以及哪个一个是文件)...
或者,您可以尝试使用硬编码:org.python.pydev.debug.ui.PythonConsoleLineTracker(应该很容易掌握)。
request does exist 仅此而已,但它似乎在创建 1 年后仍然开放......
【讨论】:
【参考方案6】:您没有 :) 相反,您可以利用与 PyLint 的良好集成并配置 PyLint 来检查 PEP8 检查的所有内容。见How to configure PyLint to check all things PEP8 checks?
【讨论】:
以上是关于如何在 Eclipse 中集成 pep8.py?的主要内容,如果未能解决你的问题,请参考以下文章
eclipse中集成git提交代码时会出现下图所示的项目改如何删除