2010-01-20 17 views
27

Khi tôi Refactor dòng sau:Làm cách nào để thay đổi định dạng của việc tái cấu trúc "Sử dụng đối tượng khởi tạo" trong Resharper?

Employee e = new Employee(); 
e.First = "Frank"; 
e.Last = "Rizzo"; 

sử dụng "Sử dụng Object Initializer" Resharper, tôi nhận được như sau:

Employee e = new Employee 
      { 
       First = "Frank", 
       Last = "Rizzo" 
      }; 

Tôi thực sự ghét loại định dạng bởi vì với tên đối tượng còn và các biến nó chỉ mất kiểm soát. Làm thế nào tôi có thể nhận được Resharper để làm như sau?

Employee e = new Employee 
{ 
    First = "Frank", 
    Last = "Rizzo" 
}; 
+1

Tôi tự hỏi ai đưa ra ý tưởng này ngay từ đầu. Không ai trong tâm trí của họ sẽ thụt vào những người khởi tạo như thế. – neo2862

+3

Tôi có thẩm quyền tốt rằng đó là một người nào đó trong tâm trí của họ. – JYelton

+0

không không không thay đổi cài đặt mặc định Resharper, nó hoàn hảo :-) – Karsten

Trả lời

39

Bạn có thể nhận được rất gần với những gì bạn muốn trong Resharper 4.5.

Resharper> Options

Ngôn ngữ> C#> Formatting Style> Khác

dưới bỏ chọn khác "Indent mảng, đối tượng và thu initializer khối."

+3

Hoàn toàn hoàn hảo. Ước gì tôi có thể upvote nhiều hơn. – AngryHacker

+0

Sử dụng tính năng này với Phiên bản 5 cho 1 tab thụt lề thay vì 0 tốt hơn không có gì ... – mbx

+1

tìm thấy câu trả lời cho điều đó trên http://stackoverflow.com/questions/747351/custom-brace-formatting-with-resharper – mbx

3

Trong Resharper 7 tùy chọn này là ở đây:

Resharper/Option/C#/Formatting Kiểu/Niềng răng Layout bộ mảng và đối tượng khởi tạo để: "Tại dòng tiếp theo (BSD phong cách)"

+1

Tôi không biết về RS7, nhưng trong RS6 đó là khá chắc chắn không phải là đúng nơi - các thiết lập trong định dạng> khác xác định liệu indent đặt ở đây là tương đối với sự bắt đầu của dòng hoặc để tuyên bố initializer. Bản xem trước trực tiếp trên mỗi cài đặt sẽ cho bạn thấy ý nghĩa của từ tốt hơn so với từ có thể giải thích được :) –

+0

@David Krmpotic đúng về RS7 và RS8 có cùng vị trí. –

+0

Trong Reshaper 8 thiết lập để không thụt lề bộ khởi tạo đối tượng là Resharper/Option/C#/Định dạng Kiểu/Khác/Căn chỉnh Multiline Constructs/Array, đối tượng và bộ khởi tạo bộ sưu tập –