Dela via


Optimera din arbetsyta

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

Visual Studio 2019 | Visual Studio 2022

Om ditt team har en stor och komplex kodbas kan du optimera din arbetsyta så att den endast innehåller de filer du behöver. Att optimera din arbetsyta förbättrar prestandan, minskar nätverkstrafiken och minskar diskutrymmet som krävs på utvecklingsdatorn.

Kommentar

Att förgrena och pausa eller hyllor är de bästa sätten att isolera olika arbetsinsatser mot samma kodbas. Men om ingen av dessa metoder uppfyller dina behov kan du mappa samma servermapp på mer än en arbetsyta. I de flesta fall bör du inte behöva göra detta.

Om du mappar samma servermapp på mer än en arbetsyta bör du komma ihåg att du kan ha separata och olika väntande ändringar i samma fil som lagras på varje arbetsyta.

Optimera dina mappnamn

Om du ännu inte använder grenar placerar du all kod i en undermapp med namnet Main på servern, till exempel : $/TFVCTeamProject/Main/. Sedan är du redo när ditt team växer tillräckligt stort för att kräva grenar för att hantera dess kodbas. På utvecklingsdatorn bör du använda en kort, begriplig mappsökväg som matchar projektstrukturen, till exempel C:\Users\<YourName>\Source\Workspaces\TFVCTeamProject\Main\SolutionName.

Några fler tips om effektiva mappnamn:

  • Håll alla mapp-, undermapps- och filnamn korta för att förenkla ditt arbete och undvika potentiella problem med långa sökvägar som kan uppstå med vissa typer av kodprojekt.

  • Undvik blanksteg i fil- och mappnamn för att göra kommandoradsåtgärder enklare att utföra.

Optimera din arbetsyta

Om ditt teams kodbas är stor kan du undvika att slösa tid, nätverksbandbredd och lokalt diskutrymme genom att optimera mappning av arbetsytor. Du kan använda explicita, implicita, dolda och icke-rekursiva mappmappningar för att enkelt och snabbt skapa en användbar arbetsyta.

När du mappar en mapp till din arbetsyta måste du välja en mapp som är tillräckligt hög i kodträdet så att du får alla filer du behöver för att skapa en lokal version, men tillräckligt låg för att du inte ska få fler filer än du behöver. I följande exempelarbetsyta kan du enkelt mappa $/SiteApp/ till c:\code\SiteApp\. En enkel arbetsyta som denna skulle implicit mappa alla mappar i $/SiteApp/Main/ till din arbetsyta, inklusive de filer du behöver.

Det största problemet med den här metoden är att den ger dig många filer som du inte behöver och därmed slösar tid och resurser. Om du till exempel inte utvecklar anpassade byggprocesser behöver du inte $/SiteApp/BuildProcessTemplates/.

Med tiden förväntar du dig att din teamkodbas växer och du vill inte automatiskt ladda ned varje ny kodbit som läggs till i $/SiteApp/Main/. När team som arbetar i andra mappar ändrar dessa filer kan det uppstå långa fördröjningar i väntan på uppdateringar av filer som du inte behöver när du får de senaste filerna från servern.

Du kan optimera din arbetsyta för att skapa mer skräddarsydda mappmappningar.

  1. I Visual Studio Source Control Explorer väljer du listrutepilen bredvid Arbetsytor och väljer Arbetsytor.

  2. I dialogrutan Hantera arbetsytor väljer du den arbetsyta som du vill optimera och väljer sedan Redigera.

  3. I dialogrutan Redigera arbetsyta redigerar du mappningarna för arbetsytan.

    Skärmbild som visar redigering av en arbetsyta i dialogrutan Redigera arbetsyta.

  4. Om du till exempel vill utveckla koden behöver du kodprojekt från DinnerNow-projektet . I stället för att uttryckligen inkludera varje kodprojekt i lösningen, till exempel $/Fabrikam TFVC/DinnerNow/feature3, kan du mappa $/Fabrikam TFVC/DinnerNow och därmed implicit mappa alla undermappar som innehåller de kodprojekt du behöver.

  5. Du behöver inte filerna i $/Fabrikam TFVC/DinnerNow/feature1 eller $/Fabrikam TFVC/DinnerNow/feature2, men eftersom de är implicit mappade kan du använda två dolda mappningar för att undanta dessa mappar från arbetsytan.

  6. Ditt team underhåller och utökar ibland en uppsättning grundläggande bibliotek. Du behöver nästan alla aktuella bibliotek i den här mappen och förväntar dig att behöva bibliotek som ditt team lägger till där i framtiden, så du mappar $/Fabrikam TFVC/Main/.

  7. Du behöver bara ett litet segment av en stor mapp, $/Fabrikam TFVC/Main/ClassLibrary, så du mappar den som dold och mappar sedan uttryckligen bara den undermapp du behöver, $/Fabrikam TFVC/Main/ClassLibrary1.

  8. Du behöver några av filerna direkt i ClassLibrary1, men du behöver inte innehållet i dess undermappar, så du tillämpar en icke-rekursiv mappning på mappen $/Fabrikam TFVC/Main/ClassLibrary1/ .

Du kan också mappa mappar till arbetsytor genom att högerklicka på en ommappad gren eller mapp i Källkontrollutforskaren och välja Avancerad>karta till lokal mapp. Eller välj länken Inte mappad bredvid Lokal mapp överst i Källkontrollutforskaren. I dialogrutan Karta väljer du en lokal mapp att mappa till och markerar kryssrutan Rekursiv om du vill göra mappningen rekursiv mellan undermappar.

Följande skärmbilder visar resultatet av att tillämpa dessa arbetsyteoptimeringar på serverträdet i Source Control Explorer och på de lokala filerna på datorn.

Skärmbilder som visar effekterna av mappning.

Använda arbetsytor för att isolera grenar

Om din organisation använder grenar för att isolera risker i din kodbas kan du skapa en separat arbetsyta för varje gren som du arbetar i. Du fortsätter ditt arbete i ditt lilla team, men du använder några arbetsytor för att hantera det arbete som du utför i flera grenar.

Till exempel:

Diagram som visar flera grenar.

  • Utveckla funktioner: Du ändrar din standardarbetsyta så att den fungerar i grenen Extranet , där du deltar i utvecklingen av den kundinriktade webbplatsen.

  • Integrera och stabilisera: Du skapar två nya arbetsytor för arbete i grenarna Test och Dev där du samarbetar med andra utvecklare och testare för att stabilisera koden under integreringen.

Du hanterar ditt arbete på tre arbetsytor, där var och en mappar mappar mappar i en gren på servern till mapparna på utvecklingsdatorn.

Diagram som visar mappning av grenar till mappar.

Nästa steg

Välj en effektiv förgreningsstrategi