Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Solution Explorer grupperar relaterade filer för att organisera dem och göra dem enklare att hitta. Om du till exempel lägger till ett Formulär för Windows i ett projekt kapslas kodfilen för formuläret under formuläret i Solution Explorer. I .NET Core-projekt (och .NET 5 och senare) kan filkapsling tas ett steg längre. Du kan välja mellan filkapslingsförinställningar Av, Standard och Webb. Du kan också anpassa hur filer kapslas eller skapa lösningsspecifika och projektspecifika inställningar.
Anmärkning
I Visual Studio 2022 version 17.2 och tidigare stöds den här funktionen endast för ASP.NET Core-projekt. I version 17.3 och senare stöder alla projekt som är inriktade på .NET filkapsling.
Alternativ för filkapsling
De tillgängliga alternativen för icke-anpassad filkapsling är:
Av: Det här alternativet ger dig en platt lista över filer utan kapsling.
Standard: Med det här alternativet får du standardbeteendet för filkapsling i Solution Explorer. Om det inte finns några inställningar för en viss projekttyp kapslas inga filer i projektet. Om det finns inställningar (till exempel för ett webbprojekt) tillämpas kapsling.
Webb: Det här alternativet tillämpar webbfilens kapslingsbeteende på alla projekt i den aktuella lösningen. Det har många regler, och vi uppmuntrar dig att kolla in det och berätta vad du tycker. Följande skärmbild visar bara några exempel på det filkapslingsbeteende som du får med det här alternativet:
Anpassa filindelning
Om du inte gillar det du får direkt kan du skapa egna, anpassade filkapslingsinställningar som instruerar Solution Explorer att kapsla filer. Du kan lägga till så många anpassade filkapslingsinställningar som du vill, och du kan växla mellan dem som du vill. Om du vill skapa en ny anpassad inställning kan du börja med en tom fil eller använda webbinställningarna som startpunkt:
Vi rekommenderar att du använder webbinställningar som utgångspunkt eftersom det är enklare att arbeta med något som redan fungerar. Om du använder webbinställningarna som startpunkt ser .filenesting.json-filen ut ungefär som i följande fil:
Nu ska vi fokusera på dependentFileProviders och dess underordnade noder. Varje underordnad nod är en typ av regel som Visual Studio kan använda för att kapsla filer. Till exempel att ha samma filnamn, men ett annat tillägg är en typ av regel. De tillgängliga reglerna är:
extensionToExtension: Använd den här typen av regel för att kapsla file.js under file.ts
fileSuffixToExtension: Använd den här typen av regel för att kapsla file-vsdoc.js under file.js
addedExtension: Använd den här typen av regel för att kapsla file.html.css under file.html
pathSegment: Använd den här typen av regel för att kapsla jquery.min.js under jquery.js
allExtensions: Använd den här typen av regel för att kapsla filen.* under file.js
fileToFile: Använd den här typen av regel för att kapsla bower.json under
.bowerrc
ExtensionToExtension-providern
Med den här providern kan du definiera filkapslingsregler med hjälp av specifika filnamnstillägg. Tänk på följande exempel:
cart.js kapslas under cart.ts på grund av den första regeln extensionToExtension
cart.js är inte kapslad under cart.tsx eftersom
.tskommer före.tsxenligt reglerna, och det kan bara finnas en föräldraenhetlight.css kapslas under light.sass på grund av den andra extensionToExtension-regeln
home.html kapslas under home.md på grund av den tredje regeln extensionToExtension
FileSuffixToExtension-providern
Den här providern fungerar precis som extensionToExtension-providern , där den enda skillnaden är att regeln tittar på suffixet i filen i stället för bara tillägget. Tänk på följande exempel:
portal-vsdoc.js kapslas under portal.js på grund av regeln fileSuffixToExtension
alla andra aspekter av regeln fungerar på samma sätt som extensionToExtension
TillagdExtensions-leverantören
Den här providern kapslar filer med ytterligare ett tillägg under filen utan ytterligare tillägg. Det ytterligare tillägget kan bara visas i slutet av det fullständiga filnamnet.
Tänk på följande exempel:
- file.html.css kapslas under file.html på grund av regeln addedExtension
Anmärkning
Du anger inga filnamnstillägg för addedExtension regeln. Den gäller automatiskt för alla filnamnstillägg. Det vill: alla filer med samma namn och filnamnstillägg som en annan fil plus ytterligare ett tillägg i slutet kapslas under den andra filen. Du kan inte begränsa effekten av den här providern till bara specifika filnamnstillägg.
PathSegment-leverantören
Den här providern kapslar filer med ytterligare ett tillägg under en fil utan ytterligare tillägg. Det ytterligare tillägget kan bara visas i mitten av det fullständiga filnamnet.
Tänk på följande exempel:
- jquery.min.js kapslas under jquery.js på grund av pathSegment-regeln
Anmärkning
Om du inte anger några specifika filnamnstillägg för
pathSegmentregeln gäller det för alla filnamnstillägg. Det vill: alla filer med samma namn och filnamnstillägg som en annan fil plus ytterligare ett tillägg i mitten kapslas under den andra filen.Du kan begränsa effekten av
pathSegmentregeln till specifika filnamnstillägg genom att ange dem på följande sätt:"pathSegment": { "add": { ".*": [ ".js", ".css", ".html", ".htm" ] } }
AllExtensions-providern
Med den här providern kan du definiera filkapslingsregler för filer med alla tillägg men samma basfilnamn. Tänk på följande exempel:
- template.cs och template.doc kapslas under template.tt på grund av regeln allExtensions .
FileToFile-Providern
Med den här providern kan du definiera filkapslingsregler baserat på hela filnamn. Tänk på följande exempel:
- .bowerrc kapslas under bower.json på grund av fileToFile-regeln
Regelordning
Beställning är viktigt i alla delar av filen med anpassade inställningar. Du kan ändra i vilken ordning reglerna körs genom att flytta dem uppåt eller nedåt i den beroendeFileProvider-noden . Om du till exempel har en regel som gör file.js överordnad till file.ts och en annan regel som gör file.coffee till överordnad för file.ts, avgör ordningen i vilken de visas i filen kapslingsbeteendet när alla tre filerna finns. Eftersom file.ts bara kan ha en överordnad vinner den regel som först körs.
Ordningen är också viktig för själva regelavsnitten, inte bara för filer i ett avsnitt. Så snart ett par filer matchas med en filkapslingsregel ignoreras andra regler längre ned i filen och nästa par filer bearbetas.
Filhäckningsknapp
Du kan hantera alla inställningar, inklusive dina egna anpassade inställningar, via samma knapp i Solution Explorer:
Skapa projektspecifika inställningar
Du kan skapa lösningsspecifika och projektspecifika inställningar via snabbmenyn (snabbmenyn) för varje lösning och projekt:
Lösningsspecifika och projektspecifika inställningar kombineras med de aktiva Visual Studio-inställningarna. Du kan till exempel ha en tom projektspecifik inställningsfil, men Solution Explorer kapslade fortfarande filer. Kapslingsbeteendet kommer antingen från de lösningsspecifika inställningarna eller Visual Studio-inställningarna. Prioriteten för sammanslagning av filkapslingsinställningar är: Visual Studio > Solution > Project.
Du kan be Visual Studio att endast använda de lösningsspecifika eller projektspecifika inställningarna genom att ange rotnoden till true. Visual Studio slutar slå samman filer på den nivån och kombinerar det inte med filer högre upp i hierarkin.
Lösningsspecifika och projektspecifika inställningar kan checkas in i källkontrollen, och hela teamet som arbetar med kodbasen kan dela dem.
Inaktivera filkapslingsregler för ett projekt
Du kan inaktivera befintliga globala filkapslingsregler för specifika lösningar eller projekt med hjälp av borttagningsåtgärden för en leverantör i stället för att lägga till. Om du till exempel lägger till följande inställningskod i ett projekt inaktiveras alla pathSegment-regler som kan finnas globalt för det här specifika projektet:
"dependentFileProviders": {
"remove": {
"pathSegment": {}
}
}