如何使PyDev autoformat成为每行的最大字符数?

时间:2013-03-28 10:11:45

标签: python eclipse formatting pydev

我在Eclipse中使用PyDev进行Python编程。

是否可以让PyDev自动格式化我的代码以限制一行中的最大字符数?

1 个答案:

答案 0 :(得分:6)

使用标准PyDev

似乎此选项仅在Eclipse的Java编辑器中可用。

Java编辑器允许您为代码格式化程序创建“配置文件”,而PyDev的代码格式化程序选项非常有限。

然而,

你可以破解这个。 PythonTidy.py是一个非常棒的脚本,可以清除Python代码,使其遵循PEP8约定,并且可以使用您自己的设置进行调整。

PythonTidy(代码清理和格式化)

获取herehomepage PythonTidy 的来源。

您将在文件内部,代码的开头和注释之后看到许多设置已定义。

其中第一个是COL_LIMIT,其默认值设置为72。现在,您可以使用 PythonTidy 以您希望的方式格式化代码。

与PyDev集成

现在你必须使用PyDev的格式化。这个blog post会解释它比我好,但我仍然会总结一下步骤:

  • 在PyDev的编辑器( PyEdit )和 PythonTidy 之间编写一个Jython接口。此博客的作者已经在上述链接中的公共域中编写了一个包装脚本,或者here以防链接进入404。
  • 将此文件保存在您想要的任何位置,名称为pyedit_pythontidy.py,以及PythonTidy.py文件。
  • 配置PyDev将此脚本用作 Code Formatter 。您可以在偏好设置>中执行此操作PyDev>脚本PyDev

    • 注意#1:我真的建议您阅读原始blog post以便更好地理解

    • 注意#2:包装器脚本作者未实现代码块格式化,因此这意味着您只能格式化完整文件。这不应该难以实现,取决于您。

    • 注意#3: PyDev集成部分的所有积分都转到bear330