Otimize seu espaço de trabalho

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Se sua equipe tiver uma base de código grande e complexa, você poderá otimizar seu espaço de trabalho para conter apenas os arquivos necessários. A otimização do espaço de trabalho melhora o desempenho, reduz o tráfego de rede e reduz o espaço em disco necessário na máquina de desenvolvimento.

Nota

Ramificação e suspensão ou arquivamento são as maneiras preferidas de isolar diferentes esforços de trabalho em relação à mesma base de código. No entanto, se nenhuma dessas abordagens atender às suas necessidades, você poderá mapear a mesma pasta do servidor em mais de um espaço de trabalho. Na maioria dos casos, você não precisa fazer isso.

Se você mapear a mesma pasta do servidor em mais de um espaço de trabalho, lembre-se de que você pode ter alterações pendentes separadas e diferentes no mesmo arquivo armazenado em cada espaço de trabalho.

Otimize os nomes das suas pastas

Se você ainda não usa ramificações, coloque todo o seu código em uma subpasta chamada Main no seu servidor, por exemplo: $/TFVCTeamProject/Main/. Você estará pronto quando sua equipe crescer o suficiente para exigir ramificações para gerenciar sua base de código. Em sua máquina de desenvolvimento, você deve usar um caminho de pasta curto e compreensível que corresponda à estrutura do projeto, como C:\Users\<YourName>\Source\Workspaces\TFVCTeamProject\Main\SolutionName.

Mais algumas dicas sobre nomes de pastas eficazes:

  • Mantenha todos os nomes de pastas, subpastas e arquivos curtos para simplificar seu trabalho e evitar possíveis problemas de caminho longo que podem ocorrer com alguns tipos de projetos de código.

  • Evite espaços em branco em nomes de arquivos e pastas para facilitar a execução de operações de linha de comando.

Otimize seu espaço de trabalho

Se a base de código da sua equipe for grande, você poderá evitar o desperdício de tempo, largura de banda de rede e espaço em disco local otimizando os mapeamentos de pastas do espaço de trabalho. Você pode usar mapeamentos de pastas explícitos, implícitos, ocultos e não recursivos para criar de forma mais simples e rápida um espaço de trabalho utilizável.

Ao mapear uma pasta para seu espaço de trabalho, certifique-se de escolher uma pasta alta o suficiente na árvore de código para obter todos os arquivos necessários para criar uma compilação local, mas baixa o suficiente para não obter mais arquivos do que precisa. No espaço de trabalho de exemplo a seguir, você pode simplesmente mapear $/SiteApp/ para c:\code\SiteApp\. Um espaço de trabalho simples como este mapearia implicitamente todas as pastas em $/SiteApp/Main/ para o seu espaço de trabalho, incluindo os arquivos que você precisa.

O principal problema com essa abordagem é que ela fornece muitos arquivos que você não precisa e, portanto, desperdiça tempo e recursos. Por exemplo, se você não desenvolver processos de compilação personalizados, não precisará de $/SiteApp/BuildProcessTemplates/.

Com o tempo, você espera que sua base de código de equipe cresça e não deseja baixar automaticamente cada novo bit de código adicionado a $/SiteApp/Main/. À medida que as equipas que trabalham noutras pastas alteram esses ficheiros, quando obtém os ficheiros mais recentes do servidor, pode incorrer em longos atrasos à espera de atualizações para ficheiros de que não necessita.

Você pode otimizar seu espaço de trabalho para criar mapeamentos de pastas mais personalizados.

  1. No Gerenciador de Controle do Código-Fonte do Visual Studio, selecione a seta suspensa ao lado de Espaços de Trabalho e selecione Espaços de Trabalho.

  2. Na caixa de diálogo Gerir Espaços de Trabalho, selecione a área de trabalho que pretende otimizar e, em seguida, selecione Editar.

  3. Na caixa de diálogo Editar Espaço de Trabalho, edite os mapeamentos do espaço de trabalho.

    Captura de tela que mostra a edição de um espaço de trabalho na caixa de diálogo Editar Espaço de Trabalho.

  4. Por exemplo, para desenvolver seu código, você precisa de projetos de código do projeto DinnerNow . Em vez de incluir explicitamente cada projeto de código na solução, como $/Fabrikam TFVC/DinnerNow/feature3, você pode mapear $/Fabrikam TFVC/DinnerNow e, assim , mapear implicitamente todas as subpastas que contêm os projetos de código necessários.

  5. Você não precisa dos arquivos em $/Fabrikam TFVC/DinnerNow/feature1 ou $/Fabrikam TFVC/DinnerNow/feature2, mas como eles são mapeados implicitamente, você pode usar dois mapeamentos ocultos para excluir essas pastas do seu espaço de trabalho.

  6. Sua equipe mantém e, às vezes, aumenta um conjunto de algumas bibliotecas fundamentais. Você precisa de quase todas as bibliotecas atuais nesta pasta e espera precisar de bibliotecas que sua equipe adiciona lá no futuro, então você mapeia $/Fabrikam TFVC/Main/.

  7. Você precisa apenas de um pequeno segmento de uma pasta grande, $/Fabrikam TFVC/Main/ClassLibrary, para mapeá-la como encoberta e, em seguida, mapear explicitamente apenas a subpasta necessária, $/Fabrikam TFVC/Main/ClassLibrary1.

  8. Você precisa de alguns dos arquivos imediatamente em ClassLibrary1, mas não precisa do conteúdo de suas subpastas, então aplica um mapeamento não recursivo à pasta $/Fabrikam TFVC/Main/ClassLibrary1/ .

Você também pode mapear pastas para espaços de trabalho clicando com o botão direito do mouse em uma ramificação ou pasta não mapeada no Gerenciador de Controle do Código-Fonte e selecionando Mapa Avançado>para pasta local. Ou selecione o link Não mapeado ao lado da pasta Local na parte superior do Gerenciador de Controle do Código-Fonte. Na caixa de diálogo Mapa, selecione uma pasta local para mapear e marque a caixa de seleção Recursivo se quiser tornar o mapeamento recursivo entre subpastas.

As capturas de tela a seguir mostram os resultados da aplicação dessas otimizações de espaço de trabalho na árvore do servidor no Gerenciador de Controle do Código-Fonte e nos arquivos locais do seu computador.

Capturas de tela que mostram os efeitos dos mapeamentos de pastas.

Usar espaços de trabalho para isolar ramificações

Se sua organização usa ramificações para isolar o risco em sua base de código, você pode criar um espaço de trabalho separado para cada ramificação em que trabalha. Você continua seu trabalho dentro de sua pequena equipe, mas usa alguns espaços de trabalho para gerenciar o trabalho que faz em várias ramificações.

Por exemplo:

Diagrama mostrando várias ramificações.

  • Desenvolver recursos: você modifica seu espaço de trabalho padrão para fazer trabalho Extranet na filial, onde participa do desenvolvimento do site voltado para o cliente.

  • Integrar e estabilizar: você cria dois novos espaços de trabalho para trabalhar nas Test ramificações e Dev , onde colabora com outros desenvolvedores e testadores para estabilizar o código durante a integração.

Você gerencia seu trabalho em três espaços de trabalho, cada um dos quais mapeia pastas em uma ramificação no servidor para as pastas em sua máquina de desenvolvimento.

Diagrama mostrando o mapeamento de ramificações para pastas.

Próximos passos

Selecione uma estratégia de ramificação eficaz