2010-09-01 9 views
47

Duplicar posibles:
Group files in Visual StudioCómo archivos de clases parciales de grupo en el Explorador de soluciones VS2010

El problema es, que quiero archivos de clases parciales de grupo de un modo en el Explorador de soluciones , que Visual Studio muestra un [+] delante del nombre de archivo que puedo ampliar para ver todos los demás archivos dependientes.

Pero mis clases se muestran en dos filas por debajo de la otra. (ver a continuación)

> CustomerServiceDao.cs 
> CustomerServiceDao.Query.cs 

El resultado que quiero tener es algo así.

+ CustomerServiceDao.cs 
    > CustomerServiceDao.Query.cs 

¿Hay alguna convención de nomenclatura que deba seguir para mostrar los archivos parciales agrupados?

Thx de antemano

EDIT: Funciona. Eso es genial. Pero, ¿hay alguna convención de nombres? p.ej. ascx lo hace por defecto ...

Respuesta

68

Si abre su .csproj como un archivo de texto (o seleccione "Descargar proyecto" en el menú contextual del Explorador de soluciones para el proyecto, seguido de "Editar myproject.csproj ") puede cambiarlo para mostrar los archivos relevantes en Solution Explorer en el estilo que desee.

buscar:

<Compile Include="CustomerServiceDao.cs" /> 
<Compile Include="CustomerServiceDao.Query.cs" /> 

y editarla para ser lo siguiente:

<Compile Include="CustomerServiceDao.cs" /> 
<Compile Include="CustomerServiceDao.Query.cs"> 
    <DependentUpon>CustomerServiceDao.cs</DependentUpon> 
</Compile> 

No hay manera de hacer esto directamente en el editor de Visual Studio, pero teniendo en cuenta el modelo de extensibilidad que VS2k10 ofrece , probablemente no pasará mucho tiempo antes de que alguien produzca algo.

Actualización:La última versión de VSCommands dice apoyar haciendo esto por ti:

última versión soporta los elementos de agrupación de IDE (por lo que no tiene que entregar-hack archivo de proyecto con DependentUpon).

+1

El enlace correcto para VSCommands es http://visualstudiogallery.msdn.microsoft.com/en-us/d491911d-97f3-4cf6-87b0-6a2882120acf - Actualizaré la respuesta en breve, una vez que haya comprobado si realmente works =) – Rob

+0

Eso es realmente genial;) Estoy impresionado. VSCommands funciona como un charme. – BitKFu

+0

No pude obtener esto para anidar el ítem a dentro del ítem b donde el ítem b no es un hermano de a. PERO NestIn mencionado en la respuesta de Dao hace esto. – Myster

9

Todo esto es posible si edita manualmente el archivo de .csproj.

simplemente haga clic derecho a proyectar, golpear Unload Project.

A partir de ahí, haga clic derecho y pulsa Edit project.csproj

buscar la Compile elementos. Añadir un sub-elemento DependentUpon así:

<Compile Include="CustomerServiceDao.cs" /> 
<Compile Include="CustomerServiceDao.Query.cs"> 
    <DependentUpon>CustomerServiceDao.cs</DependentUpon> 
</Compile> 
+0

Funciona. Eso es genial. Pero, ¿hay alguna convención de nombres? p.ej. ascx lo hace de forma predeterminada ... – BitKFu

+0

@BitKFu, algunos tipos de proyectos lo hacen de forma predeterminada porque esa es la forma en que se han codificado. No hay ninguna convención de nombres que te ayude aquí, me temo. Acabo de encontrar un complemento (mencionado en mi respuesta), que dice que lo hará por usted. =) – Rob

+0

Realmente me gustaría darles a ambos la reputación. Muy buenas respuestas, pero tengo que elegir una. – BitKFu

2

trate de usar los elementos del grupo/desagrupar mediante la instalación de VScommands1.2

26

Si no desea reducir la velocidad que IDE con extensión VSCommands pesados ​​y de propiedad se puede utilizar pequeña extensión NestIn lugar. No puede hacer nada más que agrupar/desagrupar archivos

+0

+1 No pude obtener VSCommands para anidar el ítem a dentro del ítem b donde el ítem b no es un hermano de a. PERO NestIn sí, ¡sí! ... pero a veces no funciona: - \ – Myster

Cuestiones relacionadas