2010-05-20 5 views
13

संबंधित डिफ़ॉल्ट StyleCop नियम हैं:मैं StyleCop से निर्धारित क्रम में बयान का उपयोग कर VS2010 डालने कैसे कर सकते हैं नियम

  1. प्लेस namespace अंदर using बयान।
  2. क्रमबद्ध रूप से using बयान क्रमबद्ध करें।
  3. लेकिन ... Systemusing पहले आओ (अभी भी यह पता लगाने की कोशिश कर रहा है कि इसका मतलब है कि using System; या using System[.*];)।

तो, अपने प्रयोग के मामले:

  • मैं एक बग मिल और तय करते हैं कि मैं कम से कम अगले आदमी के लिए कम दर्दनाक डिबगिंग बनाने के लिए एक सुगम जोर जोड़ने की जरूरत है। तो मैं Debug.Assert( टाइप करना शुरू करता हूं और इंटेलिसेंस इसे लाल रंग में चिह्नित करता है। मैं Debug पर माउस को घुमाता हूं और using System.Diagnostics; और System.Diagnostics.Debug के बीच मैं पूर्व का चयन करता हूं। यह सभी अन्य using कथन के बाद using System.Diagnostics; प्रविष्ट करता है। यह अच्छा होगा अगर वीएस -2010 ने मुझे लिखित कोड में सहायता नहीं की जो त्रुटियों के रूप में चेतावनियों के कारण निर्माण नहीं करेगा।

मैं वीएस -2010 कैसे स्मार्ट बना सकता हूं? क्या कोई सेटिंग है, या इसके लिए किसी तरह के पूर्ण ऐड-इन की आवश्यकता है?

+2

ध्यान रखें कि एमएस भी नोट करता है कि आपको सभी नियमों का पालन नहीं करना है और वे स्वयं नहीं हैं (पुनः: # 1)। – user7116

+0

एचएम ... तो वे अपने नियमों का उपयोग क्यों नहीं करते हैं? क्या यह परियोजना के आधार पर फैसला किया गया है? –

उत्तर

4

2008 के लिए, मैं Power Commands ऐड-इन का उपयोग करता हूं। इसमें बयान का उपयोग करके अप्रयुक्त उपयोग को सॉर्ट करने और निकालने का आदेश शामिल है। मैं इसे Ctrl-O, Ctrl-R पर मैप करता हूं। यह स्वचालित नहीं है, लेकिन यह बहुत तेज़ है।

2010 में पावर कमांड भी हैं, लेकिन मुझे लगता है कि कथन सामग्री का उपयोग करके सॉर्ट और ऑर्डर अब बनाया गया है। आपको इसके लिए शॉर्टकट सेट अप करने की आवश्यकता है।

पीएस। मैं रिसोर्पर का उपयोग संसाधन ओवरहेड के कारण नहीं करता हूं। हर बार जब मैं लोगों को बताता हूं कि यह मेरी हार्ड ड्राइव को थ्रैश करता है और छत के माध्यम से स्मृति उपयोग चलाता है, तो वे मुझे "नवीनतम संस्करण को आजमाएं - यह अब बेहतर है"। कहने का पर्याप्त कारण, यह कभी नहीं रहा है ... हालांकि मैं कोडरश एक्सप्रेस का उपयोग करता हूं।

+3

टेम्पलेट्स को सुशोभित करने के लिए इंगित करने के लिए VS2008 – stuartd

3

आप Resharper (www.jetbrains.com) का उपयोग कर VS2010 स्मार्ट बना सकते हैं, जो एक पूर्ण एड-इन है। यह आपके लिए इन सभी चीजों को (और बहुत अधिक) कर सकता है, और कीमत के लायक है। Resharper ऐड-इन "Resharper के लिए StyleCop" स्टाइलकॉप उल्लंघनों को ऑन-द-फ्लाई भी देख सकता है और आपके कोड को उसी तरह रेखांकित कर सकता है जैसे विजुअल स्टूडियो त्रुटियों के लिए करता है।

6

आपके # 1 के संबंध में, आप निर्देश here या here का उपयोग करके प्रोजेक्ट टेम्पलेट आइटम संपादित कर सकते हैं। मैंने इसे स्टाइलकॉप और FxCop को डिफ़ॉल्ट रूप से खुश करने के लिए VS 2K8 के लिए किया है, लेकिन मुझे 2010 के लिए ऐसा करने के लिए नहीं मिला है क्योंकि मुझे प्रक्रिया थोड़ा मुश्किल लगती है और हमेशा एक संभावना है कि वीएस सर्विस पैक उन्हें ओवरराइट कर सकता है ।

उदाहरण के लिए, मैं ConsoleApplication टेम्पलेट में Program.cs संपादित इस तरह देखने के लिए:

// <copyright file="AssemblyInfo.cs" company="$registeredorganization$"> 
// Copyright (c) $year$ All Rights Reserved 
// </copyright> 
// <author></author> 
// <email></email> 
// <date>$time$</date> 
// <summary></summary> 

using System; 
using System.Reflection; 
using System.Runtime.InteropServices; 

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information 
// associated with an assembly. 
[assembly: AssemblyTitle("$projectname$")] 
[assembly: AssemblyDescription("")] 
[assembly: AssemblyConfiguration("")] 
[assembly: AssemblyCompany("$registeredorganization$")] 
[assembly: AssemblyProduct("$projectname$")] 
[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] 
[assembly: AssemblyTrademark("")] 
[assembly: AssemblyCulture("")] 

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components. If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type. 
[assembly: ComVisible(false)] 

[assembly: CLSCompliant(true)] 

// The following GUID is for the ID of the typelib if this project is exposed to COM 
[assembly: Guid("$guid1$")] 

// Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Number 
//  Revision 
// 
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below: 
// [assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

मैं प्रस्तुत किया है:

// <copyright file="Program.cs" company="$registeredorganization$"> 
// Copyright (c) $year$ All Rights Reserved 
// </copyright> 
// <author></author> 
// <email></email> 
// <date>$time$</date> 
// <summary></summary> 

namespace $safeprojectname$ 
{ 
    using System; 
    using System.Collections.Generic; 
    $if$ ($targetframeworkversion$ == 3.5)using System.Linq; 
    $endif$using System.Text; 

    /// <summary> 
    /// Contains the program's entry point. 
    /// </summary> 
    internal static class Program 
    { 
     /// <summary> 
     /// The program's entry point. 
     /// </summary> 
     /// <param name="args">The command-line arguments.</param> 
     private static void Main(string[] args) 
     { 
     } 
    } 
} 

और AssemblyInfo.cs इस तरह देखने के लिए माइक्रोसॉफ्ट कनेक्ट पर an incident इस प्रभाव से कि उनके टूल्स के ऑटो-जेनरेट कोड को स्टाइलकॉप/एफएक्सकॉप और उनके कोडिंग दिशानिर्देश दस्तावेजों को पूरा करना चाहिए।

+1

+1 में निकालें और सॉर्ट किया गया था। – Filburt

संबंधित मुद्दे