PyCharm
没有built-in support for flake8
at the moment。但是,flake8
可以配置为作为外部工具运行。
有时,特别是对于Python新手,并非每个flake8
警告都是可以理解的,需要进一步说明。
我们最近偶然发现Flake8Rules
project试图通过支持性示例详细描述每一个警告。
有没有办法将PyCharm,flake8
和Flake8Rules
完全结合起来,以显示静态代码分析警告以及Flake8Rules
目录的其他说明或链接?
答案 0 :(得分:10)
绝对有可能。
一种方法是使用the --format
command-line option调整flake8
输出,以指定指向Flake8Rules
目录的http(s)链接:
--format='%(path)s:%(row)d,%(col)d:%(code)s:%(text)s:https://lintlyci.github.io/Flake8Rules/rules/%(code)s.html'
然后问题是控制台或PyCharm输出窗口正确呈现链接。
幸运的是,我们可以使用插件 - "Awesome Console"用于终端,"Console Link"用于输出窗口。
flake8
现在,假设我们创建了这个test.py
文件,其中包含一些违规行为:
def f(a = 10):
return a*10
如果我们右键单击test.py
文件,请选择External Tools -> flake8
,这是我们要获得的输出(请注意每个警告的可点击链接):
现在,只要有疑问,我们可以按照链接获取有关警告的其他详细信息。
这只是一种方法,很高兴听到是否有更简单或更好的方法来组合这些工具和项目。
答案 1 :(得分:1)
今天,尽管@alecxe答案对于一个项目设置非常有用,但我也面临这个问题
如果要全局设置flake8,则可以执行以下过程
程序- flake8可执行文件 $ PyInterpreterDirectory $ 的路径是用于放置当前项目的Python解释器的目录
参数-指定应检查哪些文件和文件夹 $ FilePath $
工作目录-项目根目录 $ ContentRoot $
答案 2 :(得分:1)
我编写了一个库,该库提供-与pycharm的本机flake8集成。该库通过假装为pylint可执行文件来工作。它接受pylint参数并将其转换为flake8对应对象。同样,它将flake8输出转换为等效的pylint输出。
结果是对flake8的原生支持。
答案 3 :(得分:0)
对所有需要的人
要在Pycharm中设置这种工具:
File | Settings | Tools | Remote SSH External Tools
在我看来,关键是:
/bin/bash
代替flake8
-c "whatever args subcommands etc I need here"
填充参数部分供参考:
$(git status -s | grep -E '\.py$' | cut -c 4-)
负责根据git版本控制传递具有更改的文件位置