2010-02-01 16 views
34

Tôi khá thường sử dụng lệnh ReSharper "Clean Up Code" để định dạng mã của tôi theo kiểu mã hóa của chúng tôi trước khi kiểm tra nó vào kiểm soát nguồn. Điều này hoạt động tốt nói chung, nhưng một số bit của mã được định dạng tốt hơn bằng tay (ví dụ: vì các quy tắc thụt lề trong ReSharper, những thứ như các phương thức xâu chuỗi hoặc các toán tử ba dòng có một thụt lề lạ đẩy chúng sang bên phải).Có cách nào để đánh dấu mã để yêu cầu ReSharper không định dạng mã không?

Có cách nào để đánh dấu các phần của tệp để yêu cầu ReSharper không định dạng khu vực đó không? Tôi hy vọng cho một số loại đánh dấu tương tự như cách ReSharper ngăn chặn các cảnh báo/tính năng khác. Nếu không, có cách nào đó để thay đổi một sự kết hợp các thiết lập để ReSharper định dạng thụt lề một cách chính xác không?

EDIT:

Tôi đã tìm thấy this bài từ diễn đàn ReSharper mà nói rằng tạo ra phần mã (theo quy định tại các trang tùy chọn ReSharper) đều được bỏ qua trong mã ngẫu nhiên. Mặc dù đã thử nó, nó dường như không bị bỏ qua.

+4

Bạn có thực sự muốn "gây ô nhiễm" mã của bạn với R # đánh dấu cụ thể không? Yuck yuck yuck ... – Oded

+5

@Oded: Không thực sự, không - nhưng tôi thích mã đó không đọc được vì bố cục của nó. – adrianbanks

+0

Bạn có thể chọn mã bạn muốn dọn dẹp, nó sẽ chỉ dọn dẹp mọi thứ trong vùng chọn. Nhưng có lẽ bạn đã biết điều này. Nhưng dù sao, tôi cũng có vấn đề tương tự, nhưng tôi đã gửi đến ý chí của ReSharper, và sửa lại sự thụt đầu dòng lạ theo cách thủ công sau đó. – Skurmedel

Trả lời

3

Như một phương sách cuối cùng, nếu bạn đã có mã kế thừa mà bạn không muốn định dạng nhưng bạn muốn bổ sung cho lớp được định dạng độc đáo, sau đó làm cho lớp một phần và đặt mã mới trong tệp mới.

21

Resharper> Tùy chọn> Ngôn ngữ> C#> Formatting Style> Khác>

Bỏ chọn "thân phương pháp vô danh Thụt lề" và "Indent mảng, đối tượng và thu initilizer khối" và bất cứ điều gì khác mà tấn công ưa thích của bạn.

+0

Tùy chọn "cơ thể ẩn danh phương thức" hoạt động (hiển thị phương thức 'DoSomethog()' hơi kỳ lạ của chúng như một ví dụ), nhưng R # vẫn định dạng các khối khác với các thụt lề lớn. – adrianbanks

+0

@adrianbanks - bằng cách bỏ chọn "Indent mảng, đối tượng và bộ sưu tập initilizer khối" mảng của tôi và initializers được để lại một mình. Bạn không chắc chắn những gì DoSomethog() bạn đang đề cập đến mặc dù. –

+0

@adrianbanks - cũng vậy, nếu các khối của bạn đã được đẩy ra khỏi định dạng trước đó, r # sẽ để chúng một mình. Đặt dấu ngoặc mở đầu tiên mà bạn muốn, CTRL-D để định dạng phần còn lại và việc dọn dẹp mã tiếp theo sẽ không chạm vào nó. –