我们希望Reorder using statements
并将{strong> 保留在namespace
之外。 ReSharper在重新排序时将它们放在namespace
内。
Visual Studio or Resharper functionality for placement of using directives询问如何将usings
放入namespace.
这不是我们想做的事情。答案建议转到ReSharper > Options > Code Editing → C# → Code Style → Add 'using' directive to the deepest scope
。尽管未经选择,但在重新定位usings
时,ReSharper会将使用内容放在namespace
内。
我们如何Reorder using statements
并将它们置于namespace
之外?
我们尝试过的其他内容:
我们的StyleCop.Analyzers规则集包括以下指令相关规则:
SA1200 Using directives must be placed correctly
SA1208 System using directives must be placed before other using directives
SA1209 Using alias directives must be placed after other using directives
SA1210 Using directives must be ordered alphabetically by namespace
鉴于这些规则以及选项中的选择不会将usings
添加到最深的范围",我们会在构建时收到以下警告:
SA1200 Using directive must appear within a namespace declaration.
我们如何配置ReSharper来强制使用指令必须在外部命名空间声明?
答案 0 :(得分:4)
使用以下设置将stylecop.json
添加到项目中:
{
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings": {
"orderingRules": {
"usingDirectivesPlacement": "outsideNamespace"
}
}
}
然后,enable the use of stylecop.json
编辑ProjectName.csproj
文件,找到项目文件中的以下项目......
<None Include="stylecop.json" />
...并将定义更改为以下内容。
<AdditionalFiles Include="stylecop.json" />