用于格式化C#代码的VS2010扩展

用于格式化C#代码的VS2010扩展,c#,visual-studio-2010,C#,Visual Studio 2010,我想创建一个VisualStudio扩展。无论用户何时运行该扩展,它都将主要以定义的方式格式化/缩进C#代码。比如说 private void Method(int a, int b) { } 将转换为类似 private void Method ( int a, int b ) { } 在这一点上,我没有经验,也不知道我可以用于这种任务的API。我想知道MS是否提供了用于解析.cs文件中C#代码的API或任何第三方API?或者任何可以帮助我实现这类功能的通用API。您可以使

我想创建一个VisualStudio扩展。无论用户何时运行该扩展,它都将主要以定义的方式格式化/缩进C#代码。比如说

private void Method(int a, int b)
{
}
将转换为类似

private void Method
(
int a,
int b
)
    {
    }
在这一点上,我没有经验,也不知道我可以用于这种任务的API。我想知道MS是否提供了用于解析.cs文件中C#代码的API或任何第三方API?或者任何可以帮助我实现这类功能的通用API。

您可以使用该接口(看看这个示例:)。例如,有了它,您将能够获得有关方法的信息,但我不知道这是否允许您超越该级别


如果这对你来说还不够的话,在示例中附带一个C#语法。

提示:我认为
astyle
()足够灵活,可以进行格式化工作。出于好奇,出于什么原因?我知道这是主观的,但对我来说,这是一个非常难看/难以阅读的布局…@Marc Gravell:哈哈,我知道。。但是我的组织不知道这一点,而且我绝对不会对此进行争论。试着告诉你的组织,VS已经做了很多自动格式化,并且你只能在某种程度上使用内置选项对其进行自定义。这并不完全是您想要的,但您不必浪费开发人员的时间来进行代码格式化,它附带了VS,没有任何额外的成本-这应该是每个人都可以理解的:)@Paolo Tedesco:实际上,我只是想为自己创建一个实用程序,一旦我完成了它,它将遍历代码,以确保是否有不符合定义的指导原则的东西,请确保正确。是的,您对内置格式自定义选项的看法是正确的,但它仍然存在一些不足之处。