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

我所经历的问题是,开发人员将对实现进行(不希望的)调整,并将其提交给对拉请求的更改。虽然开发人员可以自行解除警告,但我不希望开发人员不得不假设/解释项目遵循的PEP8规则(除了CONTRIBUTING文档中可能提到的内容)。此外,虽然源文件可以使用# noqa注释进行修改,以提示IDE忽略该行上的一个问题,但我正在寻找另一种方法来忽略特定的PEP8规则,而无需在整个实现中添加各种# noqa提示。
例如,寻找禁用理论E305文件中的所有.pycharm警告的方法,如下所示:
[pycharm]
ignore = E305发布于 2020-09-26 19:52:57
经过一些额外的调查后,似乎不支持(截至2020-09-23;v2020.2)用于特定于存储库的PEP8警告定制。
IDE使用pycodestyle进行PEP8处理。来自比可地尔结构的测试选项表明,特定于用户的配置将禁用IDE中的各种PEP8提示;然而,在这种情况下,目标是避免让用户配置任何东西。虽然pycodestyle表示它也将查看setup.cfg和tox.ini,但是IDE并不以一种使用它们的方式调用pycodestyle。检查IDE如何调用pycodestyle显示,它将通过stdin提供源的内容以获取信息。pycodestyle仅根据现有工作目录pycodestyle上提供的输入文件的公共前缀(如果提供的话)隐式加载受支持的特定于项目的配置(即setup.cfg或tox.ini),不幸的是,由于PyCharm在将pycodestyle调用到项目的根时不改变工作目录,因此不能隐式加载特定于项目的配置。
已在其问题跟踪器上创建了一个问题:
PY-44684 \x{e76f}支持pycodestyle项目特定配置设置(pep8) https://youtrack.jetbrains.com/issue/PY-44684
发布于 2020-09-29 14:43:09
有办法做到这一点,但目前它需要将相应的PyCharm项目设置保存在VCS中。对于每一个报告的pycodestyle.py错误,都有一个专门的快速修复程序“像这样的忽略错误”,其中包括"PEP 8编码风格违反“设置中的相应错误代码”检查“(然后这些代码通过其--ignore选项直接传递给pycodestyle.py )。

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

如果配置了每个项目的检查配置文件,这些设置将保存在.idea/inspectionProfiles/Your_Profile_Name.xml中,并且这种方式可以与团队或外部贡献者共享。
显然,如果您不想在存储库中公开特定于IDE的配置文件,特别是当有一个更好的、独立于工具的配置文件时,它将无法工作。据报道,皮-44684是一个合法的问题,我同意。
https://stackoverflow.com/questions/63982795
复制相似问题