Optimizar el área de trabajo

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Si el equipo tiene un código base grande y complejo, puede optimizar el área de trabajo para que contenga únicamente los archivos necesarios. Optimizar el área de trabajo mejora el rendimiento, reduce el tráfico de red y reduce el espacio en disco necesario en el equipo de desarrollo.

Nota:

Las ramas y las suspensiones (o preparaciones para confirmar) son los mecanismos preferidos para aislar los esfuerzos de trabajo en el propio código base. Sin embargo, si ninguno de estos enfoques satisfacen sus necesidades, puede asignar la misma carpeta del servidor a varias áreas de trabajo. En la mayoría de los casos no debería ser necesario hacerlo.

Si asigna la misma carpeta del servidor a varias áreas de trabajo, recuerde que podría tener cambios pendientes diferentes y separados en el mismo archivo almacenado en cada área de trabajo.

Optimizar los nombres de carpeta

Si aún no usa ramas, coloque todo el código en una subcarpeta denominada Main en el servidor, por ejemplo: $/TFVCTeamProject/Main/. Al hacerlo, estará preparado cuando el equipo crezca lo suficiente como para requerir ramas a la hora de administrar el código base. En el equipo de desarrollo, debe usar un ruta de carpeta corta, que resulte fácil de entender y que se corresponda con la estructura de proyectos, por ejemplo, C:\Users\<suNombre>\Source\Workspaces\TFVCTeamProject\Main\SolutionName.

Algunas sugerencias adicionales para utilizar nombres de carpeta eficaces:

  • Use nombres cortos en las carpetas, subcarpetas y los archivos para simplificar el trabajo y evitar así los problemas con las rutas de acceso largas que pueden producirse con algunos tipos de proyectos de código.

  • No use espacios en blanco en los nombres de archivo y carpeta para que las operaciones de línea de comandos sean más fáciles de realizar.

Optimizar el área de trabajo

Si el código base del equipo es grande, puede ahorrar tiempo, ancho de banda de red y espacio en el disco local optimizando las asignaciones de carpeta del área de trabajo. Puede usar asignaciones de carpeta explícitas, implícitas, escondidas y no recursivas para crear más simple y rápidamente un área de trabajo que resulte práctica.

Cuando asigne una carpeta al área de trabajo, asegúrese de que elige una carpeta lo suficientemente alta en el árbol de código como para tener los archivos que necesita a la hora de crear una compilación local, pero lo suficientemente baja como para no tener más archivos de los que necesita. En la siguiente área de trabajo de ejemplo, bastaría con asignar $/SiteApp/ a c:\code\SiteApp\. Un área de trabajo simple como esta asignaría implícitamente todas las carpetas de $/SiteApp/Main/ al área de trabajo, incluidos los archivos que necesita.

El principal problema de este enfoque es que proporciona muchos archivos que no se necesitan y, por tanto, se pierden tiempo y recursos. Por ejemplo, si no desarrolla procesos de compilación personalizados, no necesita $/SiteApp/BuildProcessTemplates/.

Con el tiempo, se prevé que el código base del equipo va a crecer, y no conviene descargar automáticamente cada nuevo fragmento de código agregado a $/SiteApp/Main/. Como los equipos que trabajan en otras carpetas cambian los archivos, cuando obtenga los últimos archivos del servidor, podría sufrir retrasos importantes si espera las actualizaciones de los archivos que no necesita.

El área de trabajo se puede optimizar para crear asignaciones de carpeta más personalizadas.

  1. En el Explorador de control de código fuente de Visual Studio, seleccione la flecha desplegable situada junto a Áreas de trabajo y seleccione Áreas de trabajo.

  2. En el cuadro de diálogo Administrar áreas de trabajo, seleccione el área de trabajo que quiera optimizar y, después, Editar.

  3. En el cuadro de diálogo Editar área de trabajo, edite las asignaciones de área de trabajo.

    Captura de pantalla que muestra la edición de un área de trabajo en el cuadro de diálogo Editar área de trabajo

  4. Por ejemplo, para desarrollar el código, necesita proyectos de código del proyecto DinnerNow. En lugar de incluir explícitamente cada proyecto de código en la solución (como, por ejemplo, $/Fabrikam TFVC/DinnerNow/feature3), puede asignar $/Fabrikam TFVC/DinnerNow, es decir, asignar implícitamente todas las subcarpetas que contienen los proyectos de código que necesita.

  5. No necesita los archivos en $/Fabrikam TFVC/DinnerNow/feature1 ni $/Fabrikam TFVC/DinnerNow/feature2, pero como están asignados implícitamente, puede usar dos asignaciones escondidas para excluir estas carpetas del área de trabajo.

  6. El equipo mantiene (y, a veces, aumenta) un conjunto con algunas bibliotecas fundamentales. Necesita casi todas las bibliotecas actuales de esa carpeta, y prevé que va a necesitar las bibliotecas que el equipo vaya agregado ahí en el futuro, por lo que asigna $/Fabrikam TFVC/Main/.

  7. Solo necesita un segmento pequeño de una carpeta grande, $/Fabrikam TFVC/Main/ClassLibrary, de modo que la asigna como escondida y, tras ello, asigna explícitamente solo la subcarpeta que necesita, $/Fabrikam TFVC/Main/ClassLibrary1.

  8. Necesita algunos de los archivos justamente dentro de ClassLibrary1, pero no necesita el contenido de sus subcarpetas, por lo que aplica una asignación no recursiva a la carpeta $/Fabrikam TFVC/Main/ClassLibrary1/.

También puede asignar carpetas a áreas de trabajo; para ello, haga clic con el botón derecho en una rama o carpeta sin asignar en el Explorador de control de código fuente y seleccione Opciones avanzadas>Asignar a carpeta local. Otra opción consiste en seleccionar el vínculo Sin asignar junto a Carpeta local en la parte superior del Explorador de control de código fuente. En el cuadro de diálogo Asignar, seleccione una carpeta local a la que quiera asignar y active la casilla Recursivo, si quiere que la asignación sea recursiva entre subcarpetas.

En las siguientes capturas de pantalla se muestran los resultados de aplicar estas optimizaciones de área de trabajo en el árbol de servidores en el Explorador de control de código fuente y en los archivos locales del equipo.

Capturas de pantalla que muestran los efectos de las asignaciones de carpeta

Uso de áreas de trabajo para aislar ramas

Si la organización usa ramas para aislar riesgos en el código base, puede crear un área de trabajo independiente por cada rama en la que trabaje. Sigue trabajando con un equipo de personas reducido, pero usa algunas áreas de trabajo para administrar el trabajo que realiza en varias ramas.

Por ejemplo:

Diagrama en el que se muestran varias ramas

  • Desarrollar características: modifique el área de trabajo predeterminada para realizar trabajos en la rama Extranet, donde participa en el desarrollo del sitio web orientado al cliente.

  • Integrar y estabilizar: crea dos áreas de trabajo para realizar el trabajo en las ramas Test y Dev, donde colabora con otros desarrolladores y evaluadores para estabilizar el código durante la integración.

Administra su trabajo en tres áreas de trabajo, cada una de las cuales asigna las carpetas de una rama del servidor a las carpetas del equipo de desarrollo.

Diagrama en el que se muestra la asignación de ramas a carpetas

Pasos siguientes

Selección de una estrategia de creación de ramas efectiva