在PyCharm中对齐键值对

int*_*lis 5 python pycharm

是否可以在Pycharm代码样式中设置对齐键值对?我正在寻找可以重新格式化的东西:

nickname = models.CharField(unique=True, max_length=24)
biography = models.TextField(default=BIO_DEFAULT_STRING)
avatar = models.ImageField(upload_to='members/avatars/')
Run Code Online (Sandbox Code Playgroud)

至:

nickname  = models.CharField(unique=True, max_length=24)
biography = models.TextField(default=BIO_DEFAULT_STRING)
avatar    = models.ImageField(upload_to='members/avatars/')
Run Code Online (Sandbox Code Playgroud)

我在PhpStorm工作,在PyCharm找不到它.

Wen*_*aus 7

你需要一个来自插件String Manipulation的函数:

Menu→交通Code→交通Align to Columns


配置热键

  • SettingsKeymap
  • 搜索"对齐列"并选择
  • Add Keyboard Shortcut(Enter)
  • 设置快捷方式(我的Ctrl+ K)
  • ApplyOk


bon*_*srk 5

确实很奇怪,但是PyCharm 2016拥有这些东西,我正在寻找将其关闭的方法。我在搜索“如何按值对齐”时发现了这个问题。

文件-设置-编辑器-代码样式-Python

在这里,您需要其他选项卡,在这里您可以找到 Dict Aligment设置。有3种类型:

  • 不对齐
  • 与价值保持一致
  • 在冒号上对齐

这是截图

不知道为什么他们添加这些东西,也许是因为平台统一,但是它存在并且'Align on value'在我将PyCharm提升到2016.2。之后默认为我所用。

更新:

一点点更多的解释:

有人问如何在PyCharm代码格式中进行对齐,例如在dicts中:

在这里,如何通过PEP来显示dict:

i_am_a_dict = {
    key:value,
    another_key:another_value,
    a_very_long_key:one_more_value
}
Run Code Online (Sandbox Code Playgroud)

这就是平台更新后在PyCharm中对我的查找方式(这种格式与PEP不匹配,但是可以通过PyCharm设置来完成:

 i_am_a_dict = {
        key:            value,
        another_key:    another_value,
        a_very_long_key:one_more_value
    }
Run Code Online (Sandbox Code Playgroud)

它是按值对齐的。问题是“如何在PyCharm中对齐key:values”