2012-04-23 77 views
5

我發現Roslyn CTP中的代碼格式相當缺乏。但Dustin Campbell在his talk(約42:00 mark)中提到:羅斯林中的可擴展格式?

實際的格式化引擎也是可擴展的。這裏有一個規則引擎,所以你可以添加格式化規則,如果你願意的話也可以自定義。

但看實際的代碼時,我發現只有在內部使用SyntaxFormatter一個internalFormat(SyntaxNode)擴展方法。

我的問題是:擴展性在哪裏?它是否出現在Roslyn CTP中?

回答

4

隨着Roslyn June 2012 CTP的發佈,這種可擴展性現在可用。要調用格式,看看那是Roslyn.Services.dll的Format擴展方法(不要忘記加上using Roslyn.Services;

要公開自己的格式規則,嘗試實現Roslyn.Services.Formatting.IFormattingRule接口。不幸的是,我們不」 t有這樣一個樣本,但隨時提出問題,你遇到的任何問題。

+0

看起來像IFormattingRule現在是CodeAnalysis.Workspaces內部。這個DLL的消費者應該做些什麼來實現自定義格式的任何建議修復代碼的規則? – 2017-03-01 03:12:13