【问题标题】:Make/trick Visual C++ into indenting macros structure properly使/欺骗 Visual C++ 正确缩进宏结构
【发布时间】:2014-11-09 09:58:31
【问题描述】:

考虑这些宏

#define BEGIN(Parent) void Process(){

#define ELEMENT(Elem) RegisterElement(Elem);

#define END }

使用它们时,Visual Studio 不会将 ELEMENT 识别为子代码块的一部分,因此无法正确缩进

BEGIN(ParentClass)   <--- hit ENTER here and carret will go below `B` in begin, with no indentation
ELEMENT(m_member)
END

有没有办法欺骗 Visual Studio,比如我可以编写宏或一些有用的编译指示,以便 Visual Studio 识别 RegisterElement 函数的开始和结束范围,从而正确地缩进 ELEMENT 条目?谢谢

【问题讨论】:

    标签: c++ visual-c++ visual-studio-2012 visual-studio-2013


    【解决方案1】:

    使用 VS 2013/12/10 的代码对齐扩展

    这里是网址:https://visualstudiogallery.msdn.microsoft.com/7179e851-a263-44b7-a177-1d31e33c84fd

    从 Edit->Code Alignment 菜单中,选择 'Align from caret'

    【讨论】:

    • 谢谢,但我希望有一个不涉及插件的解决方案,因为我不是唯一一个从事这个项目的人。其他人也会使用这些宏,仅仅为此要求他们安装插件有点过分。
    • Visual Studio 在这个阶段没有内置支持来对齐预处理器指令。插件或第三方工具(如 Astyle)只是您的选择。
    猜你喜欢
    • 2017-04-08
    • 2014-01-18
    • 2018-02-09
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 2011-02-20
    • 2016-03-07
    • 1970-01-01
    相关资源
    最近更新 更多