Получите VS2008 для частичных классов с «древовидным отступом» (таких как файлы с выделенным кодом) - PullRequest
7 голосов
/ 25 июня 2009

Я создал мультиплатформенный проект, и все прекрасно работает, кроме одной мелочи. Когда я добавляю конкретный файл платформы, например:

  • ServiceImpl.cs
  • ServiceImpl.Desktop.cs

это не выглядит красиво в виде дерева, как в этой статье:

Мульти-таргетинг (посмотрите последнее изображение в статье, чтобы понять, что я имею в виду) ..

Есть идеи как "научить" VS 2008 сделать это? С обычным XAML и Code-Behind он работает как обычно ...


Хорошо, ответ отлично подошел для нормальной ситуации. Теперь есть еще небольшая проблема с проектом Silverlight. Файл изначально находится в настольном проекте, поэтому решение работает. Тем не менее, если «родительский» файл является ссылкой, он, кажется, вызывает проблему (не оказывает никакого влияния) ... См. Этот код:

<Compile Include="..\Messaging\Services\MessagingService.cs">
  <Link>Services\MessagingService.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\MessagingService.Silverlight.cs">
      <DependentUpon>MessagingService.cs</DependentUpon>
</Compile>

Есть идеи для этой ситуации?

Ответы [ 2 ]

10 голосов
/ 25 июня 2009

Он не всегда делает это автоматически (хотя он обнаруживает такие вещи, как .Designer.), Но вы можете отредактировать csproj вручную, чтобы сделать это (это просто xml). Есть также несколько надстроек, которые предоставляют это, но тот, который я использую, был удален. Вы хотите DependentUpon ...

<Compile Include="ServiceImpl.cs" />
<Compile Include="ServiceImpl.Desktop.cs">
  <DependentUpon>ServiceImpl.cs</DependentUpon>
</Compile>

(обратите внимание, что они должны находиться в одной папке; вы не указываете папку в DependentUpon)

3 голосов
/ 25 июня 2009

Вы можете использовать этот плагин http://mokosh.co.uk/vscommands/ группировать элементы в обозревателе решений из VS (без редактирования файла проекта).

...