2013-08-16 36 views
8

Trong nhóm phát triển C# của tôi, chúng tôi muốn chia sẻ quy tắc định dạng tự động để tôn trọng các tiêu chuẩn mã hóa của chúng tôi để có định dạng mã thống nhất. Tôi thực sự đang thử nghiệm ReSharper và nó rất tuyệt vời nhưng chúng tôi có một quy tắc trong tiêu chuẩn của chúng tôi mà tôi dường như không thể đi lại được.Tắt tính năng tự động định dạng lại các khối mã nhất định

Chúng tôi sử dụng HTMLTextWriter để hiển thị một số HTML nhưng chúng tôi có quy tắc để thụt lề các cuộc gọi để phản ánh cách đánh dấu chúng sẽ được xuất ra.

Ví dụ:

protected override void RenderBody(HtmlTextWriter writer) 
{ 
    writer.AddAttribute("class", "mystyle"); 
    writer.RenderBeginTag("div"); 
     writer.AddAttribute("class", "mystyle2"); 
     writer.RenderBeginTag("div"); 
      writer.Write("HELLO WORLD"); 
     writer.RenderEndTag(); 
    writer.RenderEndTag(); 
} 

Còn bây giờ, khi tôi định dạng lại mã sử dụng ReSharper (hoặc VS), các identation được lấy ra.

Có cách nào để thêm quy tắc tùy chỉnh để ngăn chặn/vô hiệu hóa định dạng lại xung quanh .RenderBeginTag cuộc gọi chức năng không? Hoặc là có một công cụ khác (ngoài ReSharper hoặc ngoài ReSharper) có thể làm điều đó?

+0

Kiểm tra câu hỏi này: http://stackoverflow.com/questions/3214894/is-there-a-resharper-comment-directive-to-disable-code-cleanup-for-a-class – rpeshkov

Trả lời

10

Không có cách nào để yêu cầu R # không dọn sạch một phần mã và IMO bạn không muốn gây ô nhiễm mã của bạn với R # đánh dấu cụ thể. Giải pháp thay thế sẽ là thụt lề các cuộc gọi chức năng của bạn trong các dấu ngoặc đơn như vậy:

private void RenderBody(HtmlTextWriter writer) 
{ 
    writer.AddAttribute("class", "mystyle"); 
    writer.RenderBeginTag("div"); 
    { 
     writer.AddAttribute("class", "mystyle2"); 
     writer.RenderBeginTag("div"); 
     { 
      writer.Write("HELLO WORLD"); 
     } 
     writer.RenderEndTag(); 
    } 
    writer.RenderEndTag(); 
} 

R # sẽ không định dạng lại các khối này.

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