2010-01-22 35 views
5

Có thể chặn các quy tắc StyleCop trong một quy tắc toàn cầu hơn ... nói cách khác không chỉ sử dụng các thuộc tính nội tuyến nguồn?Suppress StyleCop

Trả lời

8

Bạn có thể tắt một số quy tắc tạo mẫu nhất định bằng tệp Cài đặt.StyleCop. Ví dụ, có những thứ nhất định được tích hợp vào stylecop không phù hợp với tiêu chuẩn của chúng tôi. Ví dụ: trong tệp Settings.StyleCop của tôi, chúng tôi có:

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules"> 
    <Rules> 
    <Rule Name="PrefixLocalCallsWithThis"> 
     <RuleSettings> 
     <BooleanProperty Name="Enabled">False</BooleanProperty> 
     </RuleSettings> 
    </Rule> 
    </Rules> 
    <AnalyzerSettings /> 
</Analyzer> 

Như vậy trên biến thành viên hoặc thuộc tính, chúng tôi không phải có "điều này". cho mỗi và mọi người.

+0

Và tôi nhận được lý do tại sao? – McAden

+0

' False' phải là xml silliest mà tôi từng thấy. –

+0

' True' – McAden

2

Tuyệt đối!

Thuộc tính nguồn chỉ nên được sử dụng trong trường hợp hiếm nhất, phần lớn cấu hình StyleCop của bạn nên được thực hiện thông qua StyleCopSettingsEditor (nhấp chuột phải vào một dự án, chọn "Cài đặt StyleCop", sẽ mở ra một) .

Điều này sẽ tạo tệp Settings.StyleCop cho dự án đó trong thư mục dự án. Tệp đó có thể được chỉnh sửa bằng tay dưới dạng các câu trả lời khác, nhưng tôi sẽ không bao giờ đề xuất hack XML trong trình soạn thảo. StyleCopSettingsEditor chắc chắn là con đường để đi.

Khi bạn đã sửa đổi cài đặt StyleCop, bạn chưa hoàn tất!
Các cài đặt đó sẽ chỉ áp dụng cho một dự án đó và điều đó chắc chắn không đủ.
Cá nhân tôi khuyên bạn nên di chuyển StyleCop.Settings đó lên một thư mục ở cấp giải pháp và thêm nó làm "Solution Item". Sau đó kiểm tra tệp đó vào TFS (hoặc bất kỳ hệ thống kiểm soát nguồn nào bạn đang sử dụng). Bây giờ những thiết lập StyleCop là một phần của toàn bộ giải pháp, và mọi người sẽ nhận được chúng khi họ thực hiện "Get Latest". Nếu cần thiết, bạn có thể ghi đè lên các thiết lập giải pháp với các thiết lập dự án (một tệp StyleCop.Settings ở cấp dự án sẽ ghi đè lên một ở cấp độ giải pháp).

Cách duy nhất để thiết lập StyleCop của bạn toàn cầu hơn là di chuyển chúng lên cao hơn trong cây thư mục (lên cấp Team Project nếu bạn đang sử dụng TFS, không đáng tin cậy khi thực hiện GetLatest tại giải pháp mức độ sẽ không phân phối chúng cho tất cả mọi người), hoặc để ghi đè lên tập tin Settings.StyleCop trong thư mục cài đặt StyleCop (thậm chí không đáng tin cậy hơn vì điều đó không thể được xử lý bởi điều khiển nguồn và thay vào đó phải được gửi qua email cho tất cả mọi người hoặc một cái gì đó).

Nhìn chung, chắc chắn có những cách để đặt các cài đặt StyleCop cụ thể cho nhóm của bạn là toàn cầu như bạn muốn, bạn có nhiều tùy chọn.

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