2012-04-23 23 views
5

Tôi đã tìm thấy định dạng mã có trong Roslyn CTP khá thiếu. Nhưng Dustin Campbell đã đề cập trong his talk (khoảng 42:00 đánh dấu) rằng:Định dạng có thể mở rộng ở Roslyn?

Công cụ định dạng thực tế cũng có thể mở rộng. Có một công cụ quy tắc ở đó để bạn có thể thêm các quy tắc định dạng và thực hiện các công cụ tùy chỉnh nếu bạn muốn.

Nhưng khi nhìn vào mã thực tế, tôi đã tìm thấy chỉ là phương pháp Format(SyntaxNode) phần mở rộng trong nội bộ sử dụng một lớp internalSyntaxFormatter.

Câu hỏi của tôi là: độ mở rộng ở đâu? Có mặt trong Roslyn CTP không?

Trả lời

4

Với bản phát hành của CTP Roslyn tháng 6 năm 2012, khả năng mở rộng này hiện khả dụng. Để gọi định dạng, hãy xem phương thức mở rộng Format có trong Roslyn.Services.dll (đừng quên thêm using Roslyn.Services;.

Để hiển thị các quy tắc định dạng của riêng bạn, hãy thử triển khai giao diện Roslyn.Services.Formatting.IFormattingRule. t có một mẫu của điều này được nêu ra, nhưng cảm thấy tự do để đặt câu hỏi cho bất kỳ vấn đề bạn chạy vào.

+0

Hình như IFormattingRule bây giờ là nội bộ để CodeAnalysis.Workspaces.Bất cứ đề nghị cho những gì người tiêu dùng chỉ DLL này nên làm gì để thực hiện định dạng tùy chỉnh quy tắc cho, nói, sửa mã? –

Các vấn đề liên quan