问题是:如何批量应用PyCharm检查快速修复?大概在IntelliJ、CLion等软件中也有同样的功能吧] 。
我正在将Python 2.7的代码库移植到Python 3.8中,希望每次只做一种修改[例如,替换掉 raise Exception, "message"
与 raise Exception("message")
],审查它,并测试它。最终我将尝试使用 python-modernize但PyCharm可以批量进行特定类型的兼容性修复吗?
您可以 配置 PyCharm的 Code compatibility inspection
来检查,比如说,Python 2.7 + 3.7 + 和 3.8,然后是 验收 在您的整个项目或较小范围内。或者使用 Code
> Run Inspection by Name...
菜单命令来运行 Code compatibility inspection
与一个临时选择的选项和范围。警告会列出这样的项目。
Python version 3.7, 3.8 do not support this syntax
Python version 3.7, 3.8 do not have module __builtin__
Python version 3.7, 3.8 do not have method xrange
Python version 3.7, 3.8 do not have module cPickle
dict.iterkeys(), dict.iteritems() and dict.itervalues() methods are not available in py3
basestring type is not available in py3
如果你选择了前两种类型的警告的例子,PyCharm就可以做到 速战速决 喜欢 Convert raise statement to supported form
. 对于上面列出的其他警告,它只能提出抑制警告:-(
我有几百个这样的警告! 如何批量修复它们?
有一个可爱的技巧。
Inspection Results
工具窗口,点击 Expand All
按钮(或键入Command-+或键入您的键盘图中的任何等价物)。syntax
.Edit
>.(或输入Command-A或等效字体)。Select All
(或键入Command-A或等价物)。(如果你知道如何让PyCharm修复其他的兼容性警告,请添加更多答案。否则,就会进入 modernize
.)