Visual Studio: temporarily disable StyleCop

前端 未结 5 1893
忘了有多久
忘了有多久 2021-02-19 08:27

Can you disable styleCop in VS?

Scenario:

  1. Press \"Disable StyleCop\" button
  2. Run/debug some test code
  3. The button automatically, enable Sty
相关标签:
5条回答
  • 2021-02-19 09:11

    You can disbale StyleCop for the entire solution by placing a Settings.StyleCop in the root of your solution folder, with the following contents:

    <StyleCopSettings Version="105">
      <GlobalSettings>
        <BooleanProperty Name="RulesEnabledByDefault">False</BooleanProperty>
      </GlobalSettings>
    </StyleCopSettings>
    

    You'll need to restart Visual Studio after doing so.

    0 讨论(0)
  • 2021-02-19 09:17

    For a way to do this through the VS2013 UI, in StyleCop 4.7.49 (I'm not sure what the minimum versions for this are), you can:

    1. right-click on a project in Project Explorer
    2. select "StyleCop Settings"
    3. on the "Rules" tab of the dialog that opens, uncheck the "C#" root of the Enabled rules tree
    0 讨论(0)
  • 2021-02-19 09:18

    This requires you to edit the .sln file.

    http://stylecop.codeplex.com/discussions/285902

    0 讨论(0)
  • 2021-02-19 09:24

    The most effective way to achieve something like what you want would be to exclude all the files in your project from StyleCop analysis for one build configuration. If you add the following ItemGroup to your project file:

    <ItemGroup>
        <ExcludeFromStyleCop Include="**\*.cs" Condition=" '$(Configuration)' == 'DebugNoStyleCop' " />
    <ItemGroup/>
    

    ...that will exclude all .cs files in your project from StyleCop analysis when the "DebugNoStyleCop" configuration is selected. Obviously you can choose some other configuration name that will suit you better by making the appropriate substitution. It's not quite the once-only "off" button that you'd like but it's fairly close.

    0 讨论(0)
  • 2021-02-19 09:31

    I've setup a separate build configuration that doesn't run code analysis.

    I now have the following configurations in VS:

    • Release
    • Debug
    • Debug (No code analysis)

    You have to manually choose which configuration you want to build (i.e. step 3 in your list would be a manual step)

    In the build targets file I've included code along these lines:

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
        <RunCodeAnalysis>true</RunCodeAnalysis>
    </PropertyGroup>
    
    <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
        <RunCodeAnalysis>true</RunCodeAnalysis>
    </PropertyGroup>
    
    <PropertyGroup Condition=" '$(Configuration)' == 'Debug (No code analysis)' ">
        <RunCodeAnalysis>false</RunCodeAnalysis>
    </PropertyGroup>
    
    <PropertyGroup>
        <DefineConstants Condition="('$(RunCodeAnalysis)'=='true') and '$(Language)'=='C#' ">CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
    </PropertyGroup>
    
    0 讨论(0)
提交回复
热议问题