正在寻找一种方法,如果可能的话,在存储库级别禁用PyCharm中加载的Python项目的特定PEP8警告(即保存存储库提交的配置文件,该文件可以将PEP8配置提示应用于任何用户加载PyCharm中的项目)
在其他开发人员可能使用PyCharm为项目做出贡献的情况下。我个人不使用PyCharm(只是一个文本编辑器),构建/linting是通过各种tox环境执行的。有一些我特别不喜欢的selectPEP8规则,比如在代码的特定区域(例如E305)注入两个空行。虽然可以将linter配置为忽略特定的PEP8规则,并且开发人员可以使用相同的linter配置调用命令(如tox
),但是使用PyCharm的开发人员仍然会在他们的环境中看到这些警告。例如:
根据我的经验,问题是开发人员将对实现进行(不希望的)调整,并提交它们以更改请求。虽然开发人员可以dismiss warnings themselves,但我不希望开发人员必须假设/解释项目遵循的PEP8规则(除了CONTRIBUTING
文档中可能提到的规则)。此外,虽然可以使用# noqa
注释修改源文件,以提示IDE忽略该行上的问题,但我正在寻找一种替代方法来忽略特定的PEP8规则,而不必在整个实现过程中插入各种# noqa
提示
例如,正在寻找一种方法来禁用理论.pycharm
文件中的所有E305
警告,如下所示:
[pycharm]
ignore = E305
经过一些额外的调查后,似乎不支持特定于存储库的PEP8警告定制(截至2020-09-23;2020.2版)
IDE使用
pycodestyle
进行PEP8处理。测试来自pycodestyle's configuration的选项表明,特定于用户的配置将禁用IDE中的各种PEP8提示;但是,目标是避免让用户在这种情况下配置任何东西。虽然pycodestyle表示它还将查看setup.cfg
和tox.ini
,但IDE不会以使用它们的方式调用pycodestyle。检查how the IDE invokes pycodestyle表明它将通过stdin
向源内容提供信息。pycodestyle仅基于现有工作目录上提供的输入文件(如果提供)的公共前缀隐式加载受支持的项目特定配置(即setup.cfg
或tox.ini
),不幸的是,pycodestyle在调用项目根目录时不会更改工作目录,无法隐式加载特定于项目的配置已在其问题跟踪器上创建问题:
有办法做到这一点,但目前需要在VCS中保留相应的PyCharm项目设置。对于每个报告的pycodestyle.py错误,都有一个专用的快速修复程序“忽略类似于此的错误”,该程序在“PEP 8编码样式冲突”检查的设置中包含相应的错误代码(然后通过其
ignore
选项将这些代码直接传递给pycodestyle.py)然后,您可以在检查设置中查找和编辑这些代码
如果配置了每个项目的检查配置文件,这些设置将保存在
.idea/inspectionProfiles/Your_Profile_Name.xml
中,并且可以通过这种方式与团队或外部参与者共享显然,如果您不想在存储库中公开特定于IDE的配置文件,尤其是在有更好的、与工具无关的地方提供这些首选项时,这是行不通的。我同意,所报道的PY-44684是一个合法的问题
相关问题 更多 >
编程相关推荐