首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在存储库级别禁用PyCharm中的特定PEP8警告?

如何在存储库级别禁用PyCharm中的特定PEP8警告?
EN

Stack Overflow用户
提问于 2020-09-20 19:22:17
回答 2查看 1.6K关注 0票数 4

如果可能的话,希望找到一种方法,在存储库级别禁用在PyCharm中加载的PyCharm项目的特定PEP8警告(即保存存储库提交的配置文件,该配置文件可以将PEP8配置提示应用于任何以PyCharm加载项目的用户)。

在其他开发人员可能使用PyCharm为项目做出贡献的情况下。我本人不使用PyCharm (只是一个文本编辑器),构建/linting是通过各种毒性环境执行的。有一些我特别不喜欢的选择PEP8规则,例如在代码的特定区域(例如,E305)中插入两个空行的推广。虽然可以将指针配置为忽略特定的PEP8规则,而且开发人员可以使用相同的linter配置调用命令(如tox),但是使用PyCharm的开发人员仍然会在他们的环境中看到这些警告。例如:

我所经历的问题是,开发人员将对实现进行(不希望的)调整,并将其提交给对拉请求的更改。虽然开发人员可以自行解除警告,但我不希望开发人员不得不假设/解释项目遵循的PEP8规则(除了CONTRIBUTING文档中可能提到的内容)。此外,虽然源文件可以使用# noqa注释进行修改,以提示IDE忽略该行上的一个问题,但我正在寻找另一种方法来忽略特定的PEP8规则,而无需在整个实现中添加各种# noqa提示。

例如,寻找禁用理论E305文件中的所有.pycharm警告的方法,如下所示:

代码语言:javascript
复制
[pycharm]
ignore = E305
EN

回答 2

Stack Overflow用户

发布于 2020-09-26 19:52:57

经过一些额外的调查后,似乎不支持(截至2020-09-23;v2020.2)用于特定于存储库的PEP8警告定制。

IDE使用pycodestyle进行PEP8处理。来自比可地尔结构的测试选项表明,特定于用户的配置将禁用IDE中的各种PEP8提示;然而,在这种情况下,目标是避免让用户配置任何东西。虽然pycodestyle表示它也将查看setup.cfgtox.ini,但是IDE并不以一种使用它们的方式调用pycodestyle。检查IDE如何调用pycodestyle显示,它将通过stdin提供源的内容以获取信息。pycodestyle仅根据现有工作目录pycodestyle上提供的输入文件的公共前缀(如果提供的话)隐式加载受支持的特定于项目的配置(即setup.cfgtox.ini),不幸的是,由于PyCharm在将pycodestyle调用到项目的根时不改变工作目录,因此不能隐式加载特定于项目的配置。

已在其问题跟踪器上创建了一个问题:

PY-44684 \x{e76f}支持pycodestyle项目特定配置设置(pep8) https://youtrack.jetbrains.com/issue/PY-44684

票数 4
EN

Stack Overflow用户

发布于 2020-09-29 14:43:09

有办法做到这一点,但目前它需要将相应的PyCharm项目设置保存在VCS中。对于每一个报告的pycodestyle.py错误,都有一个专门的快速修复程序“像这样的忽略错误”,其中包括"PEP 8编码风格违反“设置中的相应错误代码”检查“(然后这些代码通过其--ignore选项直接传递给pycodestyle.py )。

然后可以在检查设置中查找和编辑这些代码。

如果配置了每个项目的检查配置文件,这些设置将保存在.idea/inspectionProfiles/Your_Profile_Name.xml中,并且这种方式可以与团队或外部贡献者共享。

显然,如果您不想在存储库中公开特定于IDE的配置文件,特别是当有一个更好的、独立于工具的配置文件时,它将无法工作。据报道,皮-44684是一个合法的问题,我同意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63982795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档