【发布时间】:2017-11-20 04:20:17
【问题描述】:
我很喜欢 PyCharm 对 Python 导入的优化 - 以及删除未使用的导入,遵循 PEP8 为它们提供了合理的布局并使其更易于阅读。有什么方法可以让 PyCharm 对它们进行额外的字母排序(至少对我而言,这样可以更快地扫描它们)?
【问题讨论】:
-
仅通过插件进行字母排序 -> plugins.jetbrains.com/plugin/5919-lines-sorter
我很喜欢 PyCharm 对 Python 导入的优化 - 以及删除未使用的导入,遵循 PEP8 为它们提供了合理的布局并使其更易于阅读。有什么方法可以让 PyCharm 对它们进行额外的字母排序(至少对我而言,这样可以更快地扫描它们)?
【问题讨论】:
PyCharm 现在通过使用 Code -> Optimize Imports 自动执行此操作。还有sorts them into groups per PEP 8。
详情请见https://www.jetbrains.com/help/pycharm/optimizing-imports.html。
【讨论】:
PyCharm 仅根据 PEP-8 中指定的组对导入进行排序,而不是按字母顺序。
【讨论】:
如前所述,Code -> Optimize imports 似乎无法做到这一点。
但是,有一个名为 Lines sorter 的插件(存在于 PyCharm 存储库中),可以使用它标记所有导入行并选择 Edit -> Sort lines。不完美,但比手工操作更容易。
【讨论】:
这确实是对 PyCharm 的一个很好的补充。
在那之前,有一个命令行工具可以执行您想要的操作,称为isort。它不附带 PyCharm 插件,但可以通过 External 命令 和 Synchronize files after execution 选项进行集成,如 in their docs 所述。您甚至可以将它与原始键绑定挂钩。
【讨论】:
为更有头脑的人提供额外的答案。您可以安装IdeaVim 并使用Shift + V,选择要排序的行,然后调用:sort 来完成。
【讨论】: