Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Solution Explorer nestt gerelateerde bestanden om ze te organiseren en ze gemakkelijker te vinden. Als u bijvoorbeeld een Windows Forms-formulier aan een project toevoegt, wordt het codebestand voor het formulier genest onder het formulier in Solution Explorer. In .NET Core-projecten (en .NET 5 en hoger) kan het nesten van bestanden nog een stap verder worden gezet. U kunt kiezen tussen de presets voor het nesten van bestanden: Uit, Standaard en Web. U kunt ook aanpassen hoe bestanden zijn genest of oplossingsspecifieke en projectspecifieke instellingen maken.
Opmerking
In Visual Studio 2022 versie 17.2 en eerder werd deze functie alleen ondersteund voor ASP.NET Core-projecten. In versie 17.3 en later ondersteunen alle projecten die zijn gericht op .NET bestandsnesten.
Opties voor het nesten van bestanden
De beschikbare opties voor niet-aangepaste bestandsnesting zijn:
Uit: Met deze optie krijgt u een platte lijst met bestanden zonder hiërarchie.
Standaard: Met deze optie krijgt u het standaardgedrag voor het nesten van bestanden in Solution Explorer. Als er geen instellingen voor een bepaald projecttype bestaan, worden er geen bestanden in het project genest. Als er instellingen bestaan (bijvoorbeeld voor een webproject), wordt nesten toegepast.
Web: Met deze optie wordt het nestgedrag van het webbestand toegepast op alle projecten in de huidige oplossing. Het heeft talloze regels en we raden u aan om het te bekijken en ons te vertellen wat u ervan vindt. In de volgende schermafbeelding ziet u slechts enkele voorbeelden van het gedrag voor het nesten van bestanden dat u krijgt met deze optie:
Bestands genest aanpassen
Als u niet tevreden bent over wat u uit de doos haalt, kunt u uw eigen, aangepaste instellingen voor het nesten van bestanden maken die Solution Explorer instrueren hoe u bestanden kunt nesten. U kunt zo veel aangepaste instellingen voor het nesten van bestanden toevoegen als u wilt en u kunt naar wens schakelen tussen deze instellingen. Als u een nieuwe aangepaste instelling wilt maken, kunt u beginnen met een leeg bestand of kunt u de webinstellingen als uitgangspunt gebruiken:
We raden u aan om webinstellingen als uitgangspunt te gebruiken, omdat het eenvoudiger is om te werken met iets dat al werkt. Als u de webinstellingen als uitgangspunt gebruikt, ziet het .filenesting.json bestand er ongeveer als volgt uit:
Laten we ons richten op het knooppunt dependentFileProviders en de onderliggende knooppunten. Elk kindknooppunt is een type regel dat Visual Studio kan gebruiken om bestanden te rangschikken. Als voorbeeld is het hebben van dezelfde bestandsnaam, maar een andere extensie één type regel. De beschikbare regels zijn:
extensionToExtension: Gebruik dit type regel om file.js onder file.ts te plaatsen
fileSuffixToExtension: gebruik dit type regel om file-vsdoc.js te nesten onder file.js
addedExtension: Gebruik dit type regel om file.html.css te nesten onder file.html
pathSegment: Gebruik dit type regel om jquery.min.js te nesten onder jquery.js
allExtensions: gebruik dit type regel om het bestand te nesten.* onder file.js
fileToFile: Gebruik dit type regel om bower.json te nesten onder
.bowerrc
De extensie-naar-extensie-provider
Met deze provider kunt u regels voor het nesten van bestanden definiëren met behulp van specifieke bestandsextensies. Bekijk het volgende voorbeeld:
cart.js bevindt zich onder cart.ts vanwege de eerste regel extensionToExtension
cart.js is niet genest onder cart.tsx omdat
.tsvóór.tsxkomt in de regels, en er kan slechts één bovenliggend item zijnlight.css is genesteld onder light.sass vanwege de tweede extensionToExtension-regel.
home.html is genest onder home.md vanwege de derde extensieToExtension-regel
De fileSuffixToExtension-provider
Deze provider werkt net als de extensieToExtension-provider , met het enige verschil dat de regel het achtervoegsel van het bestand bekijkt in plaats van alleen de extensie. Bekijk het volgende voorbeeld:
portal-vsdoc.js is genesteld onder portal.js vanwege de fileSuffixToExtension-regel
elk ander aspect van de regel werkt op dezelfde manier als extensionToExtension
De toegevoegde extensie-provider
Deze provider nestt bestanden met een extra extensie onder het bestand zonder een extra extensie. De extra extensie kan alleen worden weergegeven aan het einde van de volledige bestandsnaam.
Bekijk het volgende voorbeeld:
- file.html.css is genest onder file.html vanwege de regel met toegevoegdeExtension
Opmerking
U geeft geen bestandsextensies op voor de addedExtension regel; deze is automatisch van toepassing op alle bestandsextensies. Dat wil gezegd, elk bestand met dezelfde naam en extensie als een ander bestand plus een extra extensie aan het einde is genest onder het andere bestand. U kunt het effect van deze provider niet beperken tot alleen specifieke bestandsextensies.
De pathSegment-provider
Deze provider nestt bestanden met een extra extensie onder een bestand zonder extra extensie. De extra extensie kan alleen worden weergegeven in het midden van de volledige bestandsnaam.
Bekijk het volgende voorbeeld:
- jquery.min.js is genest onder jquery.js vanwege de pathSegment-regel
Opmerking
Als u geen specifieke bestandsextensies voor de
pathSegmentregel opgeeft, is deze van toepassing op alle bestandsextensies. Dat wil gezegd, elk bestand met dezelfde naam en extensie als een ander bestand plus een extra extensie in het midden is genest onder het andere bestand.U kunt het effect van de
pathSegmentregel beperken tot specifieke bestandsextensies door ze op te geven op de volgende manier:"pathSegment": { "add": { ".*": [ ".js", ".css", ".html", ".htm" ] } }
De allExtensions-provider
Met deze provider kunt u regels voor het nesten van bestanden definiëren met elke extensie, maar dezelfde basisbestandsnaam. Bekijk het volgende voorbeeld:
- template.cs en template.doc zijn genest onder template.tt vanwege de allExtensions-regel .
De FileToFile-provider
Met deze provider kunt u regels voor het nesten van bestanden definiëren op basis van volledige bestandsnamen. Bekijk het volgende voorbeeld:
- .bowerrc is genest onder bower.json vanwege de fileToFile-regel
Regelvolgorde
Ordenen is belangrijk in elk deel van uw aangepaste instellingenbestand. U kunt de volgorde wijzigen waarin regels worden uitgevoerd door ze omhoog of omlaag te verplaatsen in het knooppunt dependentFileProvider . Als u bijvoorbeeld één regel hebt waarmee file.js het bovenliggende element van file.ts en een andere regel die file.coffee het bovenliggende element van file.ts maakt, bepaalt de volgorde waarin ze in het bestand worden weergegeven, het nestgedrag wanneer alle drie de bestanden aanwezig zijn. Omdat file.ts slechts één bovenliggend element kan hebben, krijgt de regel die als eerste wordt uitgevoerd voorrang.
Ordenen is ook belangrijk voor regelsecties zelf, niet alleen voor bestanden in een sectie. Zodra een paar bestanden overeenkomt met een regel voor het nesten van bestanden, worden andere regels verderop in de rij genegeerd en wordt het volgende paar bestanden verwerkt.
Bestandstructuurknop
U kunt alle instellingen, inclusief uw eigen aangepaste instellingen, beheren via dezelfde knop in Solution Explorer:
Projectspecifieke instellingen maken
U kunt oplossingsspecifieke en projectspecifieke instellingen maken via het snelmenu (contextmenu) van elke oplossing en elk project:
Oplossingsspecifieke en projectspecifieke instellingen worden gecombineerd met de actieve Visual Studio-instellingen. U hebt bijvoorbeeld mogelijk een leeg projectspecifiek instellingenbestand, maar Solution Explorer nestt nog steeds bestanden. Het nestgedrag is afkomstig van de oplossingsspecifieke instellingen of de Visual Studio-instellingen. De prioriteit voor het samenvoegen van instellingen voor het nesten van bestanden is: Visual Studio > Solution > Project.
U kunt Visual Studio vertellen om alleen de oplossingsspecifieke of projectspecifieke instellingen te gebruiken door het hoofdknooppunt in te stellen op waar. Visual Studio stopt met het samenvoegen van bestanden op dat niveau en combineert deze niet met bestanden die hoger in de hiërarchie zijn.
Oplossingsspecifieke en projectspecifieke instellingen kunnen worden ingecheckt bij broncodebeheer en het hele team dat op de codebasis werkt, kan deze delen.
Regels voor bestandsnesting voor een project uitschakelen
U kunt bestaande algemene regels voor het nesten van bestanden uitschakelen voor specifieke oplossingen of projecten met behulp van de verwijderactie voor een provider in plaats van toe te voegen. Als u bijvoorbeeld de volgende instellingencode aan een project toevoegt, worden alle pathSegment-regels die wereldwijd voor dit specifieke project kunnen bestaan uitgeschakeld:
"dependentFileProviders": {
"remove": {
"pathSegment": {}
}
}