2009-04-07 8 views
13

En lugar de un código * .cs detrás o al lado, me gustaría tener un archivo * .js. Estoy desarrollando una aplicación MVC y no necesito un código al lado porque tengo controladores, pero en algunos casos sería bueno tener un código JavaScript al lado o alguna forma de asociar el archivo a la página en la que se está utilizando. Supongo que podría nombrarlos de manera similar, pero quiero mostrar la asociación si es posible, así que no hay dudas sobre para qué sirve el archivo.En Visual Studio (2008), ¿hay alguna manera de tener un archivo dependiente personalizado en otro archivo personalizado?

Normalmente lo que estoy hablando es dentro de Visual Studio ahora bajo su archivo Global.asax que tendrá un signo más a la izquierda:

+ Global.asax 

Una vez que se expande obtendrá

- Global.asax 
    Global.asax.cs 

me gustaría lo mismo suceda:

+ Home.spark 

- Home.spark 
    Home.spark.js 

Actualizado:

Mi archivo csproj existente tiene una ruta al archivo real, no estoy seguro si eso lo está atornillando. Actualmente tengo:

<ItemGroup> 
    <Content Include="Views\User\Profile.spark.js"> 
     <DependentUpon>Views\User\Profile.spark</DependentUpon> 
    </Content> 
    </ItemGroup> 
    <ItemGroup> 
    <Content Include="Views\User\Profile.spark" /> 
    </ItemGroup> 

y simplemente está mostrando los archivos uno junto al otro.

Respuesta

11

Absolutamente, pero tendrá que editar el archivo del proyecto a mano. Busque la entrada de su archivo "hijo" y cámbiela para que sea un elemento que no se cierre solo, y agregue un elemento secundario para decir de qué depende. He aquí un ejemplo de un archivo .cs siendo compilado:

<Compile Include="AssertCount.cs"> 
    <DependentUpon>MoreEnumerable.cs</DependentUpon> 
</Compile> 

Y aquí está una versión que acabo burlado para los archivos que ha especificado - aunque yo esperaría Home.spark tendrá una acción asociada con ella en lugar de " Ninguno ":

<ItemGroup> 
    <Content Include="Home.spark.js"> 
    <DependentUpon>Home.spark</DependentUpon> 
    </Content> 
</ItemGroup> 
<ItemGroup> 
    <None Include="Home.spark" /> 
</ItemGroup> 

Visual Studio lo muestra tal como se esperaría.

+0

En realidad, en este momento de la chispa se acaba de asociarse con Ninguno: Voy a darle un tiro, gracias por la respuesta! – rball

+0

intentado: \t Vistas \ Incluir usuario \ Profile.spark no funcionó :( – rball

+1

@rball -.! Profile.spark se supone que están en la misma carpeta –

2

No sé cómo puede hacerlo a través de la interfaz de usuario de Visual Studio, pero si abre el archivo csproj en un editor de texto, puede ver cómo lo hacen para Global.asax.

lo general se ve algo como esto:

<Compile Include="Global.asax" /> 
<Compile Include="Global.asax.cs"> 
    <DependentUpon>Global.asax</DependentUpon> 
</Compile> 
+0

Sí, vi eso. Intenté modelar el mío después de eso, pero no funcionó. n la actualidad se ve como: – rball

+0

Vistas \ Usuario \ Profile.spark rball

16

No se VSCommands Add-in que le permiten configurar los archivos dependientes directamente de IDE

Enlace actualiza, anterior era http://mokosh.co.uk/vscommands

FYI: Cuando se instala VSCommands, simplemente seleccione todos los archivos que desea que sean dependientes y el archivo raíz, luego haga clic con el botón derecho -> Elementos de grupo ... y VSCommands le preguntará cuál de los archivos le gustaría ser la raíz archivo.

+0

Muy bien, gracias por la adición. – rball

+0

enlace actualizado a VSCommands: http://mokosh.co.uk/vscommands –

+1

Impresionante. Esto es mucho más fácil que editar el archivo del proyecto a mano, especialmente si Necesito hacer esto para múltiples archivos. FYI: Cuando se instala VSCommands, simplemente seleccione todos los archivos que desea que sean dependientes y el archivo raíz, luego haga clic con el botón derecho -> Elementos de grupo ... y VSCommands le preguntará cuál de los archivos me gustaría ser el archivo raíz. ¡Funciona como un amuleto! – javajavajavajavajava

0

Mientras que las otras soluciones aquí (edición del archivo de proyecto) funcionan para archivos individuales, hemos hecho lo mismo, pero queremos que funcione automágicamente para todos los archivos * .conv y * .conv.js en lugar de tener que edite el archivo de proyecto para cada uno.

Cuando agregamos uno nuevo.archivo conv para nuestra aplicación, si tenemos un archivo * .conv.js anida automáticamente debajo de él como se espera con .aspx y * .aspx.cs.

No puedo encontrar el tutorial original que solía instalar esto (sí Registro piratería involucrado), pero aquí es uno que encontré de una búsqueda en Google hace un momento que describe la misma cosa:

http://blog.dotnetwise.com/2009/09/visual-studio-2008-custom-nested-files.html

0

Si necesita agregar código subyacente para algún archivo, hay una solución. Por ejemplo, desea hacer Test.xaml.cs un hijo de Test.xaml. Complete los siguientes pasos:

  1. excluir ambos Test.xaml y Test.xaml.cs del proyecto, guardar el proyecto.

  2. Descargar proyecto.

  3. Recargar el proyecto.

  4. Haga clic en "Mostrar archivos ocultos" en el panel Explorador de archivos.

  5. Archivo Test.xaml.cs se mostrará como hijo de Test.xaml.

  6. Agregar los archivos al proyecto, guardar el proyecto.

Eso es todo. Ahora Test.xaml.cs depende de Test.xaml.

Cuestiones relacionadas