4

来自 Perl,我习惯于C-c t根据预定义的Perl::Tidy规则重新格式化我的代码。现在,有了 Python,我惊讶地发现,没有什么比Perl::Tidy. PythonTidy 1.20 看起来几乎是合适的,但在第一个未对齐的行(“意外缩进”)时就被拒绝了。

特别是,我正在寻找以下内容:

  • 尽量使用PEP-8(以下几项本质上是这一项的派生词)
  • 将缩进制表符转换为空格
  • 删除尾随空格
  • 尽可能根据预定义的行长分解代码(Eclipse 风格的字符串拆分和拆分方法链)
  • 规范化周围的空白
  • (额外功能,可选)重新格式化代码,包括缩进。

现在,我正在检查别人的代码并更正所有内容pep8pyflakes告诉我,这主要是“删除尾随空格”和“插入额外的空白行”。虽然我知道在 Python 中重新缩进并不是微不足道的(尽管它应该可以通过浏览代码并记住缩进),但其他功能似乎很容易,我不敢相信以前没有人实现过它。

有什么建议吗?

更新:我将更深入地了解 PythonTidy,因为它似乎朝着正确的方向发展。也许我可以找出为什么它会向我吐口水。

4

4 回答 4

1

目录中有一个reindent.py随python分发的脚本scripts

于 2010-08-25T15:30:08.407 回答
0

untabify.pyTools/scripts/untabify.py来自 Python 源代码分发的根目录)应该修复选项卡,这可能是阻止 Python Tidy 完成其余工作的原因。

于 2010-08-25T15:31:53.790 回答
0

您是否尝试过围绕 pythontidy 创建一个包装器?这里有一个sublime 编辑器

另外,pythontidy 是否为您正确分解了长行?当我有一个以元组结尾的长行时,它会为元组中的每个条目创建一个新行,而不是按照 PEP-8 的建议在括号、括号和大括号内使用 Python 的隐含行继续。

于 2011-02-27T16:49:56.623 回答
0

为此,我使用了 autopep8并发现它很方便。

于 2017-02-09T21:51:13.040 回答