我试图找到C ++代码的美化器,它可以做垂直声明对齐。这段代码:
struct A {
double a;
int b;
}
必须转换成这个:
struct A {
double a;
int b;
}
注意,这里不是赋值,这只是带有对齐字段的struct的声明。是否有任何程序或扩展为Visual Studio代码执行此操作?
可能,您还应该能够使用clang-format
及其AlignConsecutiveDeclarations
选项,但我还没有验证这对于连续的类成员声明是否可行(如果没有,此部分将被删除):
AlignConsecutiveDeclarations
(bool
)如果
true
,对齐连续的声明。这将对齐连续行的声明名称。这将导致格式化,如
int aaaa = 12; float b = 23; std::string ccc = 23;
以下受灾部分中提到的扩展适用于Visual Studio;不是Visual Studio代码(由OP请求)。同一作者已经发布了针对VSCode的早期改编版代码对齐,但是:
Current State
目前缺少许多Code alignment的最佳功能。该计划是提前发布并经常发布,并最终达到平价。
主代码对齐存储库:https://github.com/cpmcgrath/codealignment
...
Visual Studio扩展Code alignment允许您格式化,例如以您在示例中显示的方式构建成员。
代码对齐扩展允许您通过不仅仅等于...来对齐...
Some more examples
private string m_firstName = string.Empty; => private string m_firstName = string.Empty; private string m_surname = string.Empty; => private string m_surname = string.Empty; private int m_age = 18; => private int m_age = 18; private Address m_address; => private Address m_address;
...
对于那些使用Clion的人来说,Editor > Code Style > C/C++
有一个选项。在Wrapping and Braces
选项卡中,您可以选中Variable groups | Align in columns
复选框。
clang-format带有“AlignConsecutiveDeclarations”输出:
struct A {
double a;
int b;
}