ale*_*cxe 9 python pycharm flake8
PyCharm没有一个对内置支持flake8的时刻.但是,flake8可以配置为作为外部工具运行.
有时,特别是对于Python新手,并非所有flake8警告都是可以理解的,需要进一步澄清.
我们最近偶然发现了一个试图通过支持性示例详细描述每个警告的Flake8Rules项目.
有没有办法结合PyCharm,flake8并且Flake8Rules完全有静态代码分析警告显示附加描述或链接到Flake8Rules目录?
Som*_*mil 16
今天我也面临这个问题,尽管@alecxe 的回答对一个项目设置有好处
如果你想全局设置 flake8 ,你可以按照以下过程
Program - flake8 可执行文件$PyInterpreterDirectory$的路径是当前项目的 Python 解释器所在的目录
参数 - 指定应检查哪些文件和文件夹$FilePath$
工作目录 - 项目根目录$ContentRoot$
ale*_*cxe 15
这绝对是可能的.
一种方法是flake8使用命令行选项调整输出,--format以指定到Flake8Rules目录的http(s)链接:
--format='%(path)s:%(row)d,%(col)d:%(code)s:%(text)s:https://lintlyci.github.io/Flake8Rules/rules/%(code)s.html'
Run Code Online (Sandbox Code Playgroud)
然后问题是控制台或PyCharm输出窗口正确呈现链接.
幸运的是,我们可以使用插件 - 终端的"Awesome Console"和输出窗口的"Console Link"来实现.
flake8安装在当前的Python环境中现在,假设我们创建test.py了一个包含一些违规行为的文件:
def f(a = 10):
return a*10
Run Code Online (Sandbox Code Playgroud)
如果我们右键单击一个test.py文件,选择External Tools -> flake8,这是我们要获得的输出(请注意每个警告的可点击链接):
现在,只要有疑问,我们可以按照链接获取有关警告的其他详细信息.
这只是一种方法,如果有更简单或更好的方法来组合这些工具和项目,我们将很高兴听到.
致所有需要的人们:
要在 Pycharm 中设置此类工具:
File | Settings | Tools | Remote SSH External Tools
Run Code Online (Sandbox Code Playgroud)
论据:-c "flake8 $(git status -s | grep -E '\.py$' | cut -c 4-) --max-line-lengt=120"
就我而言,关键的是:
/bin/bash而不是flake8直接使用-c "whatever args subcommands etc I need here"以供参考:
$(git status -s | grep -E '\.py$' | cut -c 4-)负责根据 git 版本控制传递发生更改的文件位置注意:要从 virtualenv 获取 flake8,您可能需要指定完整路径,例如:
/z/your_virtual_envs/bin/flake8
我写了一个库,提供了一种与 pycharm 的原生 flake8 集成。该库通过伪装成 pylint 可执行文件来工作。它接受 pylint 参数并将其转换为 flake8 对应项。类似地,它将 flake8 输出转换为等效的 pylint 输出。
结果是原生 flake8 支持。
https://gitlab.com/ramast/flake8-for-pycharm/
| 归档时间: |
|
| 查看次数: |
5330 次 |
| 最近记录: |