Notepad ++ - 在多列中垂直对齐文本

时间:2013-12-09 21:41:34

标签: notepad++

我正在尝试在代码中对齐某些行,这些行包含可能与某些对齐方式一起使用的注释。我使用了记事本++“Code-Alignment”插件,并对齐了下面的文字。

class Constants(object):
    VAL_CONST = 5  # Lorem ipsum dolor sit amet = 213
    TEST_CONST = 0.2324  # Curabitur condimentum elementum = 32
    PARALLEL_CONST = 88  # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342
    CURVE_SPATIAL_CONST = 0.000005892  # Donec sagittis in lacus = 0.55

我最终得到以下结论:

class Constants(object):
    VAL_CONST           = 5  # Lorem ipsum dolor sit amet = 213
    TEST_CONST          = 0.2324  # Curabitur condimentum elementum= 32
    PARALLEL_CONST      = 88  # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342
    CURVE_SPATIAL_CONST = 0.000005892  # Donec sagittis in lacus %$ 0.55

但是,我想更进一步。我想再次“重新调整”代码,这次是在第二组“等于”符号上。最好不要通过评论来改变第二组等号更独特。

我想要的最终结果:

class Constants(object):
    VAL_CONST           = 5  # Lorem ipsum dolor sit amet                                        = 213
    TEST_CONST          = 0.2324  # Curabitur condimentum elementum                              = 32
    PARALLEL_CONST      = 88  # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342
    CURVE_SPATIAL_CONST = 0.000005892  # Donec sagittis in lacus                                 = 0.55

2 个答案:

答案 0 :(得分:7)

Code alignment v3开始,可以借助正则表达式。

首先,您必须使用普通方式Plugins>将第一个相等对齐。 Code alignment> Align by equals

然后,转到Plugins> Code alignment> Align by...(或点击 Ctrl + Shift + = )并编写以下表达式:

.+(?<x>=)

不要忘记选中“使用正则表达式”选项。此表达式仅对齐 last ,而不是第一个。

这两个步骤将返回所需的结果:

class Constants(object):
    VAL_CONST           = 5  # Lorem ipsum dolor sit amet                                        = 213
    TEST_CONST          = 0.2324  # Curabitur condimentum elementum                              = 32
    PARALLEL_CONST      = 88  # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342
    CURVE_SPATIAL_CONST = 0.000005892  # Donec sagittis in lacus                                 = 0.55

答案 1 :(得分:0)

我一直在使用Code Alignment插件,发现它非常有用。 但从我的观点来看,它有两个主要问题:

  • 它只对齐给定分隔符字符的第一列
  • 它使用.NET框架,这使得它在启动时非常慢并且增加了额外的依赖性

我决定创建一个替代方案:

https://github.com/duzun/nppPyAlignColumn

这是一个名为Python Script的Notepad ++插件的Python脚本,可以从Menu运行。 它将任何字符串用作输入作为列的分隔符并对齐所选行中的所有列。