Roslyn中的可扩展格式?

svi*_*ick 6 .net code-formatting roslyn

我发现Roslyn CTP中存在的代码格式非常缺乏.但达斯汀坎贝尔在他的演讲中提到(大约42:00大关):

实际的格式化引擎也是可扩展的.那里有一个规则引擎,所以你可以添加格式规则,并根据需要做自定义的东西.

但是在查看实际代码时,我发现只有Format(SyntaxNode)内部使用internal类的扩展方法SyntaxFormatter.

我的问题是:可扩展性在哪里?它存在于Roslyn CTP中吗?

Kev*_*lch 4

随着 Roslyn June 2012 CTP 的发布,这种可扩展性现已可用。要调用格式化,请查看FormatRoslyn.Services.dll 中的扩展方法(不要忘记添加using Roslyn.Services;.

要公开您自己的格式规则,请尝试实现该Roslyn.Services.Formatting.IFormattingRule接口。不幸的是,我们还没有这方面的示例,但如果您遇到任何问题,请随时提出问题。