2012-02-01 20 views
30

Tôi đã cố gắng để có được ReSharpers Code Cleanup để không chỉ sắp xếp bất kỳ thành viên theo thứ tự bảng chữ cái, nhưng để sắp xếp chúng chủ yếu theo loại của họ (cho dù đó là một phương thức trả về loại hoặc thuộc tính loại vv), sau đó theo tên của họ.Sử dụng ReSharper để sắp xếp thành viên theo loại sau đó, tên

Ví dụ:

#region " Properties " 

public string Name { get; set; } 
public int Age { get; set; } 

#endregion 

#region " Instance Methods " 

public void SecondMethod()... 
public void FirstMethod()... 
public Post GetPost()... 
public List<Post> GetPosts()... 

#endregion 

Sẽ trở thành:

#region " Properties " 

public int Age { get; set; } 
public string Name { get; set; } 

#endregion 

#region " Instance Methods " 

public List<Post> GetPosts()... 
public Post GetPost()... 
public void FirstMethod()... 
public void SecondMethod()... 

#endregion 

Lý tưởng nhất, tôi muốn những hành vi mặc định khác vẫn như cũ ví dụ trong đó Constructors, Properties được định vị/nhóm và nếu một số thành viên xuất hiện trong một vùng (như trong ví dụ trên), thì nhóm thành viên đó sẽ được sắp xếp độc lập với các thành viên bên ngoài nhóm/khu vực đó.

Có ai có thể giới thiệu mã cần thiết trong trình chỉnh sửa mẫu Bố cục thành viên kiểu sắp xếp lại để đạt được điều này không?

+0

Bạn có nghĩa là kiểu trả về cho phương pháp? – svick

+0

Thực ra, tôi sẽ cập nhật tiêu đề của câu hỏi vì nó không chỉ là Phương pháp. Tôi muốn loại trả về cho Phương thức và Loại thuộc tính được sắp xếp trước tiên. Tôi vẫn muốn giữ lại thứ tự mặc định của nơi các hàm tạo, thuộc tính, phương thức, vv xuất hiện trong một lớp nhưng trong mỗi nhóm này, thay vì chỉ sắp xếp theo tên thành viên, sắp xếp theo loại đầu tiên, sau đó đặt tên. – marcusstarnes

+0

Tôi không hoàn toàn chắc chắn, nhưng có thể bạn có thể viết [plugin] (http://confluence.jetbrains.net/display/ReSharper/ReSharper+Plugin+Development) để thực hiện việc này. – svick

Trả lời

13

Nhìn vào Bố cục thành viên loại trong Resharper, tôi đoán điều này là không thể. Dưới đây là đoạn mã mẫu cho vùng sự kiện:

<Entry> 
    <Match> 
     <Kind Is="event"/> 
    </Match> 
    <Sort> 
     <Access Order="public internal protected-internal protected private" /> 
     <Static /> 
     <Name/> 
    </Sort> 
    <Group Region="Events"/> 
</Entry> 

Đây là một bài viết từ JetBrains: In-depth look at customizing type layout with resharper.

Dường như không có bộ định tính nào cho loại trả lại để sắp xếp không may. Dưới đây là các tùy chọn, được tham chiếu trong bài đăng đó:

- <Kind Is=”$val” [Order=”$val”]> 
- <Name Is="$val” [IgnoreCase=”true/false”]> 
- <HasAttribute CLRName=”$val” [Inherit=”true/false”]> 
- <Access Is=”$val”> 
- <Static/> 
- <Abstract/> 
- <Virtual/> 
- <Sealed/> 
- <Readonly/> 
- <ImplementsInterface CLRName=”$val” [Immediate=”true/false”]> 
- <HandlesEvent/> 

Bạn có thể liên hệ với JetBrains và yêu cầu thêm một toán hạng mới vào danh sách. Có vẻ khá đơn giản. Có thể là một cái gì đó như:

<ReturnType="$val" [Order="$val"][AlphaOrder="true/false"]> 
Các vấn đề liên quan