2012-04-23 13 views
5

Zauważyłem, że formatowanie kodu występujące w Roslinie CTP zupełnie nie istnieje. Ale Dustin Campbell wspomniał w his talk (około 42:00), że:Formatowanie rozszerzalne w Roslyn?

Rzeczywisty silnik formatowania jest również rozszerzalny. Jest tam mechanizm reguł, więc możesz dodać reguły formatowania i zrobić niestandardowe rzeczy, jeśli chcesz.

Ale patrząc na rzeczywisty kod, znalazłem tylko metodę Format(SyntaxNode) przedłużacza który wewnętrznie używa się internal klasę SyntaxFormatter.

Moje pytanie brzmi: gdzie jest rozciągliwość? Czy jest obecny w CTP Roslyn?

Odpowiedz

4

Wraz z wydaniem CTP Roslyn June 2012 ta rozszerzalność jest już dostępna. Aby wywołać formatowania, spójrz na metody Format przedłużacza, który jest w Roslyn.Services.dll (nie zapomnij dodać using Roslyn.Services;.

aby wystawiać własnych reguł formatowania, spróbuj wdrożenie interfejsu Roslyn.Services.Formatting.IFormattingRule. Niestety, don” t masz próbkę tego jeszcze, ale nie krępuj się zadawać pytania w razie jakichkolwiek problemów.

+0

Wygląda, że ​​IFormattingRule jest teraz wewnętrzna dla CodeAnalysis.Workspaces. Wszelkie sugestie dotyczące tego, co zwykli klienci tej biblioteki powinni zrobić, aby zaimplementować niestandardowe formatowanie zasady dla, powiedzmy, poprawek kodu? –