c ++垂直声明对齐[关闭]

问题描述 投票:0回答:3

我试图找到C ++代码的美化器,它可以做垂直声明对齐。这段代码:

struct A {
  double a;
  int b;
}

必须转换成这个:

struct A {
  double a;
  int    b;
}

注意,这里不是赋值,这只是带有对齐字段的struct的声明。是否有任何程序或扩展为Visual Studio代码执行此操作?

c++ visual-studio-code alignment
3个回答
3
投票

锵格式

可能,您还应该能够使用clang-format及其AlignConsecutiveDeclarations选项,但我还没有验证这对于连续的类成员声明是否可行(如果没有,此部分将被删除):

AlignConsecutiveDeclarationsbool

如果true,对齐连续的声明。

这将对齐连续行的声明名称。这将导致格式化,如

int         aaaa = 12;
float       b = 23;
std::string ccc = 23;

Visual Studio代码格式化程序:代码对齐

以下受灾部分中提到的扩展适用于Visual Studio;不是Visual Studio代码(由OP请求)。同一作者已经发布了针对VSCode的早期改编版代码对齐,但是:

Current State

目前缺少许多Code alignment的最佳功能。该计划是提前发布并经常发布,并最终达到平价。

主代码对齐存储库:https://github.com/cpmcgrath/codealignment

...

Visual Studio扩展Code alignment允许您格式化,例如以您在示例中显示的方式构建成员。

引用it's documentation

代码对齐扩展允许您通过不仅仅等于...来对齐...

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;

...


0
投票

对于那些使用Clion的人来说,Editor > Code Style > C/C++有一个选项。在Wrapping and Braces选项卡中,您可以选中Variable groups | Align in columns复选框。

enter image description here


0
投票

clang-format带有“AlignConsecutiveDeclarations”输出:

struct A {
  double a;
  int    b;
}
© www.soinside.com 2019 - 2024. All rights reserved.