是否有用于格式化 C++ 代码的 Visual Studio 2010 插件?

Is there any Visual Studio 2010 add-in for formating C++ code?

例如,我有以下使用Visual studio 2010的C编程语言代码用于学习数据结构 in C++:

#include "stdio.h"
typedef int datatype;
#define m 100
#define n  10
typedef struct {int rear,front; datatype q[m];}SqQueue;
void enQueue(SqQueue &queue, datatype x)
{
  if ((queue.rear+1)%m==queue.front) printf("The queue is overflow"); 
else { queue.rear=(queue.rear+1)%m;queue.q[queue.rear]=x; }
}
void deQueue(SqQueue &queue, datatype *y)
{
  if (queue.front==queue.rear) printf("The queue is empty");
else {queue.front=(queue.front+1)%m;*y=queue.q[queue.front]; }
}
int main( )
{
 SqQueue queue; queue.front=queue.rear=0; int i,x,y;
 for(i=1; i<=n; i++) {scanf("%d",&x);  enQueue(queue,i);}
 for(i=1; i<=n; i++) {deQueue(queue,&y);printf("%d\t",y);}
 return 0;
}

我想把它格式化成这样:

#include "stdio.h"
typedef int datatype;

#define m 100
#define n  10

typedef struct 
{
    int rear, front; 
    datatype q[m];
}SqQueue;


void enQueue(SqQueue &queue, datatype x)
{
    if ( (queue.rear + 1) % m == queue.front) 
        printf("The queue is overflow"); 
    else 
    { 
        queue.rear = ( queue.rear+1 ) % m;
        queue.q[queue.rear] = x; 
    }
}


void deQueue(SqQueue &queue, datatype *y)
{
    if (queue.front == queue.rear) 
        printf("The queue is empty");
    else 
    {
        queue.front= ( queue.front + 1 ) % m;
        *y = queue.q[queue.front]; 
    }
}

int main( )
{
    SqQueue queue; 
    queue.front = queue.rear = 0; 
    int i,x,y;

    for(i=1; i<=n; i++) 
    {
        scanf("%d",&x);  enQueue(queue,i);
    }

    for(i=1; i<=n; i++) 
    {
        deQueue(queue, &y); printf("%d\t",y);
    }
    return 0;
}

我在codeproject.com中尝试了很多加载项,但都没有成功实现这样的效果。感谢您的帮助!

我推荐 AStyle 扩展。在我将我的代码转移到 VS 2015 之前,它是我找到的唯一可以格式化我的代码的工具。