Visual Studio 2012“智能”缩进自定义

我正在使用Visual Studio 2012,并为C ++文件启用了智能缩进功能.1我想定制智能缩进的行为,以便对输入的代码进行格式化,以符合我公司的编码风格。

我如何定制智能缩进行为的所有微小方面?

例如,当我输入此代码时,智能缩进格式如下所示:

#include <cstdlib>
#include <string>
using namespace std;

struct Foo
{
    const string mA;
    const int mB;
    const string mC;

    Foo(const string& a,
        const int b,
        const string& c)
        :
    mA(a),
        mB(b),
        mC(c)
        {
        }
};

int main()
{
}

除了引入初始化列表的冒号,初始化列表中的第一项以及构造函数正文的缩进级别之外,大部分都是我想要的。 我想要这些格式化,我想让Visual Studio自动为我做到这一点:

Foo(const string& a,
    const int b,
    const string& c)
:
    mA(a),
    mB(b),
    mC(c)
{
}

我如何定制智能缩进的行为? 我宁愿不使用任何外部工具,如Visual Assist X.


1:通过工具 > 选项 > 文本编辑器 > C / C ++ > 选项卡 > 缩进

2:我也有tabstops设置为4,插入空格。


看看这里的MS Visual Studio SDK:

http://msdn.microsoft.com/en-us/library/bb139565.aspx

特别是你想覆盖VewFilter类中的HandleSmartIndent:

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.package.viewfilter.handlesmartindent.aspx

只要您在编辑器中按下Enter键,就会调用它。 不幸的是,它不像在配置对话框中改变一些规则那么简单。


一个丑陋的解决方案是:

Foo(const string& a,
    const int b,
    const string& c)

    : mA(a)
    , mB(b)
    , mC(c)
{
}

对于某些可恶的原因,这是我见过让VS正确缩进混乱的唯一途径。

链接地址: http://www.djcxy.com/p/69613.html

上一篇: Visual Studio 2012 "Smart" Indentation Customization

下一篇: Am I updating Swing component outside of EDT?