65.9K
CodeProject 正在变化。 阅读更多。
Home

对齐您的代码

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.63/5 (6投票s)

2000年7月30日

viewsIcon

54789

downloadIcon

505

对等号后的多行赋值进行对齐,例如

  • 下载源代码文件 - 1 Kb
  • AlignNext.gif (12586 bytes)

    引言

    我一直认为为了让代码看起来“漂亮”而对其是浪费时间的事情。后来我意识到,对齐代码有时可以通过检查来帮助你发现错误。当代码对齐时,更容易看到某一行不符合其他行的模式。

    令我烦恼的另一件事是对齐代码时,经常需要在变量名更改后返回并重新对齐它们。更糟糕的是,我有时会因为重新对齐所有内容而避免将变量名更改为更合适的名称!

    这个宏可以让你更容易地对齐代码。将光标放在你希望另一行对齐的位置(通过添加或删除空格)。一个宏向下移动(AlignNextLine),另一个宏向上移动(AlignPrevLine)通过文件。

    如果某一行有太多的空格,多余的空格将被删除以使其正确对齐。此外,如果某一行已经对齐,它不会被更改,光标只是向上或向下移动。

    AlignNext2.gif (5995 bytes)

    光标应该位于标点符号旁边。逗号或等号是宏所关心的标点符号示例。空格将根据光标位置添加到标点符号的左侧或右侧。该函数应该相当安全,只添加和删除空格。撤销缓冲区将有两个事件 - 1) 删除光标周围的所有空格和 2) 插入适当数量的空格。

    有时当周围有很多标点符号时,宏会感到困惑。我的解决方法是先对齐较小的量,然后再次遍历这些行,第二次进一步对齐。虽然不是理想的,但我不想花更多的时间在这些宏上,而不是花在对齐我将编写的所有代码上!

    这个宏不特定于 C++,它应该适用于任何文本文件。

    代码的一些细节

    宏子程序 AlignNextLineAlignPrevLine 是一行代码,它们调用函数 AlignFunction,分别使用 1 或 -1 作为向下和向上。该函数反过来使用 FindClosestIsPunt 函数来完成一些工作。

    作为补充说明,我将 AlignNextLine 和 AlignPrevLine 映射到 Ctrl+N 和 Ctrl+Shift+N,分别对应于“N”(代表 Next)。这将覆盖 Ctrl+N 的默认设置:创建一个新文件,我很少使用。

    此外,你可以访问我的网站 http://www.forusers.com/fordevelopers 获取这些和其他宏和代码。

    对齐你的代码 - CodeProject - 代码之家
    © . All rights reserved.