KirillOsenkov/CodeCleanupTools

SortProjectItems does not handle Choose

jeremysimmons opened this issue · 1 comments

A Unit Test Project has this fragment

<Choose>
  <When Condition="'$(VisualStudioVersion)' == '10.0' Or '$(VisualStudioVersion)' == '11.0'">
    <ItemGroup>
      <Reference Include="UIAutomationTypes" />
    </ItemGroup>
  </When>
</Choose>
<ItemGroup>
  <Reference Include="Microsoft.CSharp" />
  <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0,    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
  <Reference Include="System" />
  <Reference Include="System" />
  <Reference Include="System.Core" />
  <Reference Include="System.Data" />
  <Reference Include="System.Data.DataSetExtensions" />
  <Reference Include="System.Transactions" />
  <Reference Include="System.Transactions" />
  <Reference Include="System.Xml" />
  <Reference Include="System.Xml.Linq" />
</ItemGroup>

Which gets sorted like this

<Choose>
  <When Condition="'$(VisualStudioVersion)' == '10.0' Or '$(VisualStudioVersion)' == '11.0'">
    <ItemGroup>
      <Reference Include="Microsoft.CSharp" />
      <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
      <Reference Include="System" />
      <Reference Include="System" />
      <Reference Include="System.Core" />
      <Reference Include="System.Data" />
      <Reference Include="System.Data.DataSetExtensions" />
      <Reference Include="System.Transactions" />
      <Reference Include="System.Transactions" />
      <Reference Include="System.Xml" />
      <Reference Include="System.Xml.Linq" />
      <Reference Include="UIAutomationTypes" />
    </ItemGroup>
  </When>
</Choose>

I would really like the inside the ItemGroup to be ignored.

saw this
98ded5f

I am using the older version that uses Descendants that was published to chocolatey as package 1.0.0.

Chocolatey is VERY slow in approving packages. Built my own, published locally.