在 Visual Studio 中格式化C++头文件

Formatting C++ Header Files in Visual Studio

本文关键字:C++ 文件 格式化 Visual Studio      更新时间:2023-10-16

是否有任何扩展或选项可以以特定方式格式化C ++头文件?

假设我们有这个头文件:

class SomeClass
{
public:
int m_iMember1;
std::string m_sMember2;
std::map<int, std::vector<std::string>> m_someLongMember;
protected:
int m_iMember3;
private:
std::string m_sMember4;
public:
void Function1();
std::string Function2();
SomeClass() = default;
protected:
std::map<int, std::vector<std::string>> Function3();
private:
bool IsThereAnyWayOfDoingThis;
};

我希望标题的方式是:

class SomeClass
{
public:
int                                         m_iMember1;
std::string                                 m_sMember2;
std::map<int, std::vector<std::string>>     m_someLongMember;
protected:
int                                         m_iMember3;
private:
std::string                                 m_sMember4;
public:
void                                        Function1();
std::string                                 Function2();
SomeClass() = default;
protected:
std::map<int, std::vector<std::string>>     Function3();
private:
bool                                        IsThereAnyWayOfDoingThis;
};

我正在使用锐化器插件,使用锐化器我可以CTRL + ENTER并选择Format Selection. Visual Studio也有内置的代码格式。但是有没有办法配置它的行为?或者有人知道任何扩展可以为我们做这件事? 感谢您的回答!

使用 ReSharper,您可以随时检查哪些格式首选项会影响代码块。只需选择一个代码片段,点击Alt+Enter,然后选择Format Selection -> Configure...。ReSharper 将显示一个对话框,您可以在其中更改格式选项,并立即查看这对格式样式的影响。

在这种情况下,您需要启用Indentation and Alignment | Align Similar Code In Columns | Declaration names.但是,它不适用于辅助功能说明符。另请注意,这是一项相对较新的功能,在 ReSharper 2017.3 及更高版本中可用。