Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Solution Explorer anida los archivos relacionados para ayudarlos a organizarse y facilitar su localización. Por ejemplo, si agrega un formulario de Windows Forms a un proyecto, el archivo de código del formulario se anida debajo del formulario en el Explorador de soluciones. En proyectos de .NET Core (y .NET 5 y versiones posteriores), el anidamiento de archivos puede seguir un paso más allá. Puede elegir entre los valores preestablecidos de anidamiento de archivos Desactivado, Predeterminado y Web. También puede personalizar cómo se anidan los archivos o crear configuraciones específicas de la solución y del proyecto.
Nota:
En Visual Studio 2022, versión 17.2 y versiones anteriores, esta característica solo se admite para proyectos de ASP.NET Core. En la versión 17.3 y posteriores, todos los proyectos dirigidos a .NET admiten el anidamiento de archivos.
Opciones de anidamiento de archivos
Las opciones disponibles para el anidamiento de archivos no personalizados son:
Desactivado: esta opción proporciona una lista plana de archivos sin anidamiento.
Valor predeterminado: esta opción proporciona el comportamiento de anidamiento de archivos predeterminado en el Explorador de soluciones. Si no existe ninguna configuración para un tipo de proyecto determinado, no se anida ningún archivo del proyecto. Si existen las configuraciones (por ejemplo, para un proyecto web), se aplica el anidamiento.
Web: esta opción aplica el comportamiento de anidamiento de archivos web a todos los proyectos de la solución actual. Tiene numerosas reglas, y le animamos a revisarlo y a decirnos lo que piensa. En la captura de pantalla siguiente se resaltan solo algunos ejemplos del comportamiento de anidamiento de archivos que obtiene con esta opción:
Personalizar el anidamiento de archivos
Si no le gusta lo que obtiene de fábrica, puede crear su propia configuración de anidamiento de archivos personalizado que indique al Explorador de soluciones cómo anidar archivos. Puede agregar tantos valores de anidamiento de archivos personalizados como desee y puede cambiar entre ellos según sea necesario. Para crear una nueva configuración personalizada, puede empezar con un archivo vacío o puede usar la configuración web como punto de partida:
Se recomienda usar la configuración web como punto de partida porque es más fácil trabajar con algo que ya funciona. Si usa la configuración web como punto de partida, el archivo .filenesting.json tiene un aspecto similar al siguiente:
Vamos a centrarnos en los nodos dependientes deFileProviders y sus nodos secundarios. Cada nodo hijo es un tipo de regla que se puede usar en Visual Studio para anidar archivos. Por ejemplo, tener el mismo nombre de archivo, pero una extensión diferente es un tipo de regla. Las reglas disponibles son:
extensionToExtension: use este tipo de regla para anidar file.js en file.ts
fileSuffixToExtension: Use este tipo de regla para anidar file-vsdoc.js en file.js
addedExtension: Use este tipo de regla para anidar file.html.css en file.html
pathSegment: Use este tipo de regla para anidar jquery.min.js bajo jquery.js
allExtensions: use este tipo de regla para anidar el archivo.* en file.js
fileToFile: Use este tipo de regla para anidar bower.json en
.bowerrc
El proveedor extensionToExtension
Este proveedor le permite definir reglas de anidamiento de archivos mediante extensiones de archivo específicas. Considere el ejemplo siguiente:
cart.js está anidado en cart.ts debido a la primera regla extensionToExtension
cart.js no está anidado en cart.tsx porque
.tsaparece antes que.tsxen las reglas, y allí solo puede haber un único elemento primario.light.css está anidado en light.sass por la segunda regla de extensionToExtension.
home.html está anidado en home.md debido a la tercera regla extensionToExtension
El proveedor fileSuffixToExtension
Este proveedor funciona igual que el proveedor extensionToExtension , con la única diferencia de que la regla examina el sufijo del archivo en lugar de simplemente la extensión. Considere el ejemplo siguiente:
portal-vsdoc.js está anidado en portal.js debido a la regla fileSuffixToExtension
todos los demás aspectos de la regla funcionan de la misma manera que extensionToExtension
El proveedor addedExtension
Este proveedor anida los archivos con una extensión adicional en un archivo sin una extensión adicional. La extensión adicional solo puede aparecer al final del nombre de archivo completo.
Considere el ejemplo siguiente:
- file.html.css está anidado en file.html debido a la regla addedExtension
Nota:
No se especifican extensiones de archivo para la addedExtension regla; se aplica automáticamente a todas las extensiones de archivo. Es decir, cualquier archivo con el mismo nombre y extensión que otro archivo más una extensión adicional al final está anidado bajo el otro archivo. No puede limitar el efecto de este proveedor a solo extensiones de archivo específicas.
Proveedor de segmento de ruta
Este proveedor anida los archivos con una extensión adicional en un archivo sin una extensión adicional. La extensión adicional solo puede aparecer en el centro del nombre de archivo completo.
Considere el ejemplo siguiente:
- jquery.min.js está anidado en jquery.js debido a la regla pathSegment
Nota:
Si no especifica ninguna extensión de archivo específica para la
pathSegmentregla, se aplica a todas las extensiones de archivo. Es decir, cualquier archivo con el mismo nombre y extensión que otro archivo más una extensión adicional en el medio se anida bajo el otro archivo.Puede limitar el efecto de la
pathSegmentregla a extensiones de archivo específicas si las especifica de la siguiente manera:"pathSegment": { "add": { ".*": [ ".js", ".css", ".html", ".htm" ] } }
El proveedor de allExtensions
Este proveedor le permite definir reglas de anidamiento de archivos para archivos con cualquier extensión, pero el mismo nombre de archivo base. Considere el ejemplo siguiente:
- template.cs y template.doc están anidados en template.tt debido a la regla allExtensions .
El proveedor fileToFile
Este proveedor le permite definir reglas de anidamiento de archivos basadas en nombres de archivo completos. Considere el ejemplo siguiente:
- .bowerrc está anidado en bower.json debido a la regla fileToFile
Orden de las reglas
La ordenación es importante en cada parte del archivo de configuración personalizado. Puede cambiar el orden en el que se ejecutan las reglas moviendolas hacia arriba o hacia abajo dentro del nodo dependentFileProvider . Por ejemplo, si tiene una regla que hace file.js el padre de file.ts y otra regla que hace file.coffee el padre de file.ts, el orden en que aparecen en el archivo dicta el comportamiento de anidamiento cuando los tres archivos están presentes. Dado que file.ts solo puede tener un elemento primario, cada regla que ejecute primero gana.
El orden también es importante para las secciones de reglas, no solo para los archivos de una sección. En cuanto un par de archivos coincide con una regla de anidamiento de archivos, se omiten otras reglas en el archivo y se procesa el siguiente par de archivos.
Botón de anidación de archivos
Puede administrar toda la configuración, incluida su propia configuración personalizada, a través del mismo botón en el Explorador de soluciones:
Creación de una configuración específica del proyecto
Puede crear configuraciones específicas de solución y de proyecto mediante el menú contextual de cada solución y proyecto.
La configuración específica de la solución y específica del proyecto se combina con la configuración activa de Visual Studio. Por ejemplo, puede tener un archivo de configuración específico del proyecto en blanco, pero el Explorador de Soluciones sigue anidando archivos. El comportamiento de anidamiento procede de la configuración específica de la solución o de la configuración de Visual Studio. La prioridad para combinar la configuración de anidamiento de archivos es: Visual Studio > Solución > Proyecto.
Puede indicar a Visual Studio que solo use la configuración específica de la solución o específica del proyecto estableciendo el nodo raíz en true. Visual Studio deja de combinar archivos en ese nivel y no lo combina con archivos superiores a la jerarquía.
Las configuraciones específicas de la solución y del proyecto se pueden integrar en el control de código fuente, y todo el equipo que trabaja en la base del código puede compartirlas.
Deshabilitar reglas de anidamiento de archivos para un proyecto
Puede deshabilitar las reglas de anidamiento de archivos globales existentes para soluciones o proyectos específicos mediante la acción quitar para un proveedor en lugar de agregar. Por ejemplo, si agrega el código de configuración siguiente a un proyecto, todas las reglas pathSegment que pueden existir globalmente para este proyecto específico están deshabilitadas:
"dependentFileProviders": {
"remove": {
"pathSegment": {}
}
}
Contenido relacionado
- Personalización del IDE
- soluciones y proyectos de en Visual Studio