Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Visual Studio 2012“;“聪明的”;缩进定制_C++_Visual Studio_Visual Studio 2012 - Fatal编程技术网

C++ Visual Studio 2012“;“聪明的”;缩进定制

C++ Visual Studio 2012“;“聪明的”;缩进定制,c++,visual-studio,visual-studio-2012,C++,Visual Studio,Visual Studio 2012,我使用VisualStudio 2012,并为C++文件启用了智能缩进。2我想自定义智能缩进的行为,以便格式化输入的代码,使之符合我公司的编码风格。< /P> 如何定制智能缩进行为的所有细节 例如,当我输入此代码时,智能缩进的格式与此完全相同: #include <cstdlib> #include <string> using namespace std; struct Foo { const string mA; const int mB;

我使用VisualStudio 2012,并为C++文件启用了智能缩进。2我想自定义智能缩进的行为,以便格式化输入的代码,使之符合我公司的编码风格。< /P> 如何定制智能缩进行为的所有细节

例如,当我输入此代码时,智能缩进的格式与此完全相同:

#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()
{
}
如何自定义智能缩进的行为?我不希望使用任何外部工具,如VisualAssistX


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


2:我还将tabstops设置为4,并插入空格。

查看MS Visual Studio SDK,可在此处找到:

特别是要重写VewFilter类中的HandleSmartIndent:


每当您在编辑器中按Enter键时,就会调用该函数。不幸的是,这并不像在配置对话框中更改某些规则那么简单。

一个丑陋的解决方案是:

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

    : mA(a)
    , mB(b)
    , mC(c)
{
}
出于某些可恶的原因,这是我见过的唯一让VS正确缩进混乱的方法

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

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