Як згорнути спеціальні файли у Visual Studio 2010, використовуючи існуючі рішення?


1

У проектах Visual Studio я часто використовую часткові класи, щоб витягти з коду конкретні та однорідні дані, такі як запити бази даних або ідентифікатори трас. Приклад:

public partial class GremlinsProvider
{
    public Mogwai GetAMogwai()
    {
        TraceEvent(TraceEventType.Start, TraceId.SearchForMogwai,
            "Querying the database for a Mogwai.");
        var mogwai = new DataQuery(Queries.FindMogwai).ReadRow<Mogwai>();

        TraceEvent(TraceEventType.Stop, TraceId.MogwaiFound, "Found a Mogwai.");
        return mogwai;
    }
}

public partial class GremlinsProvider
{
    private class Queries
    {
        public const FindMogwai = @"
            select top 1
            from [Gremlins]
            where [IsAvailable] = 1 and [PetName] = N'Mogwai'";
    }
}

public partial class GremlinsProvider
{
    private enum TraceId
    {
        SearchForMogwai,
        MogwaiFound,
    }
}

У цьому випадку я створюю три файли:

  • GremlinsProvider.cs яка містить логіку,
  • GremlinsProvider.Queries.cs який містить константні рядки з запитами до бази даних,
  • GremlinsProvider.Trace.cs яка містить перелік ідентифікаторів трасування.

У Провіднику рішень, я хочу, щоб ці файли з'явилися згорнуті. Наприклад GremlinsProvider.cs буде розширено, щоб містити GremlinsProvider.Queries.cs і GremlinsProvider.Trace.cs як його діти, так само, як Провідник рішень згортає файли дизайнера або ресурсів у проекті Windows Forms.

Чи можна це зробити з існуючими рішеннями (тобто без необхідності записування власного розширення), або шляхом налаштування Visual Studio 2010 або розширення?

Відповіді:


2

Я не знаю, які побічні ефекти це може викликати!

З того, що я можу сказати, складання береться з DependentUpon налаштування в .csproj файл.

Як приклад, запис для GremlinsProvider.Queries.cs має виглядати так:

<Compile Include="GremlinsProvider.Queries.cs">
  <DependentUpon>GremlinsProvider.cs</DependentUpon>
</Compile>

Це можна змінити в будь-який час під час розробки (не потрібно створювати новий проект).

Якщо вам цікаво, чи можна це зробити легше через IDE, здається, що відповіді Ні але є розширення, яке обіцяє зробити це: VSCommands (функція називається Групи / Розгрупувати елементи ).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.