Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Eksplorator rozwiązań zagnieżdża powiązane pliki, aby ułatwić ich organizowanie i ułatwia ich lokalizowanie. Jeśli na przykład dodasz formularz formularzy systemu Windows do projektu, plik kodu formularza zostanie zagnieżdżony poniżej formularza w Eksploratorze rozwiązań. W projektach .NET Core (i .NET 5 i nowszych) zagnieżdżanie plików można wykonać krok dalej. Można wybrać spośród opcji zagnieżdżania plików: Off, Default i Web. Możesz również dostosować sposób zagnieżdżenia plików lub utworzyć ustawienia specyficzne dla rozwiązania i specyficzne dla projektu.
Uwaga / Notatka
W programie Visual Studio 2022 w wersji 17.2 lub starszej ta funkcja była obsługiwana tylko w projektach ASP.NET Core. W wersji 17.3 lub nowszej wszystkie projekty przeznaczone dla platformy .NET obsługują zagnieżdżanie plików.
Opcje zagnieżdżania plików
Dostępne opcje zagnieżdżania niedostosowanych plików to:
Wyłączone: Ta opcja zapewnia płaską listę plików bez zagnieżdżania.
Ustawienie domyślne: Ta opcja zapewnia domyślne zachowanie zagnieżdżania plików w Eksploratorze rozwiązań. Jeśli dla danego typu projektu nie istnieją żadne ustawienia, żadne pliki w projekcie nie są zagnieżdżone. Jeśli istnieją ustawienia (na przykład dla projektu internetowego), zagnieżdżanie jest stosowane.
Sieć Web: Ta opcja stosuje zachowanie zagnieżdżania plików sieci Web do wszystkich projektów w bieżącym rozwiązaniu. Ma wiele zasad i zachęcamy do sprawdzenia go i powiedz nam, co myślisz. Poniższy zrzut ekranu przedstawia kilka przykładów zachowania zagnieżdżania plików, które można uzyskać za pomocą tej opcji:
Dostosuj zagnieżdżanie plików
Jeśli nie lubisz tego, co gotowe, możesz utworzyć własne, niestandardowe ustawienia zagnieżdżania plików, które instruują Eksploratora rozwiązań , jak zagnieżdżać pliki. Możesz dodać dowolną liczbę niestandardowych ustawień zagnieżdżania plików i przełączać się między nimi zgodnie z potrzebami. Aby utworzyć nowe ustawienie niestandardowe, możesz zacząć od pustego pliku lub użyć ustawień sieci Web jako punktu początkowego:
Zalecamy używanie ustawień sieci Web jako punktu początkowego, ponieważ łatwiej jest pracować z czymś, co już działa. Jeśli używasz ustawień sieci Web jako punktu początkowego, plik .filenesting.json wygląda podobnie do następującego pliku:
Skoncentrujmy się na węźle dependentFileProviders i jego węzłach podrzędnych. Każdy węzeł podrzędny jest typem reguły, za pomocą którego program Visual Studio może zagnieżdżać pliki. Na przykład posiadanie tej samej nazwy pliku, ale inne rozszerzenie jest jednym typem reguły. Dostępne reguły to:
extensionToExtension: Użyj tego typu reguły, aby zagnieżdżać file.js pod file.ts
fileSuffixToExtension: użyj tego typu reguły, aby zagnieździć file-vsdoc.js w file.js
addedExtension: użyj tego typu reguły, aby zagnieżdżać file.html.css pod file.html
pathSegment: użyj tego typu reguły, aby zagnieżdżać jquery.min.js w obszarze jquery.js
allExtensions: użyj tego typu reguły do zagnieżdżania pliku.* wfile.js
fileToFile: użyj tego typu reguły, aby zagnieżdżać bower.json w obszarze
.bowerrc
Dostawca "extensionToExtension"
Ten dostawca umożliwia definiowanie reguł zagnieżdżania plików przy użyciu określonych rozszerzeń plików. Rozważmy następujący przykład:
cart.js jest zagnieżdżona w cart.ts ze względu na pierwszą regułę extensionToExtension
cart.js nie jest zagnieżdżony pod cart.tsx, ponieważ
.ts
występuje wcześniej niż.tsx
w regułach i może istnieć tylko jeden rodzic.light.css jest zagnieżdżona w light.sass z powodu drugiej reguły rozszerzenieDoRozszerzenia
home.html jest zagnieżdżone w home.md z powodu trzeciej reguły extensionToExtension
Dostawca fileSuffixToExtension
Ten dostawca działa podobnie jak dostawca extensionToExtension , a jedyną różnicą jest to, że reguła sprawdza sufiks pliku, a nie tylko rozszerzenie. Rozważmy następujący przykład:
portal-vsdoc.js jest zagnieżdżona pod portal.js ze względu na regułę fileSuffixToExtension
każdy inny aspekt reguły działa tak samo jak extensionToExtension
Dostawca rozszerzenia dodanego
Ten dostawca zagnieżdża pliki z dodatkowym rozszerzeniem w pliku bez dodatkowego rozszerzenia. Dodatkowe rozszerzenie może pojawić się tylko na końcu pełnej nazwy pliku.
Rozważmy następujący przykład:
- file.html.css jest zagnieżdżona w file.html z powodu reguły addedExtension
Uwaga / Notatka
Nie określasz żadnych rozszerzeń plików dla addedExtension
reguły; jest ona automatycznie stosowana do wszystkich rozszerzeń plików. Oznacza to, że każdy plik o tej samej nazwie i rozszerzeniu co inny plik oraz dodatkowe rozszerzenie na końcu jest zagnieżdżone w innym pliku. Nie można ograniczyć wpływu tego dostawcy na tylko określone rozszerzenia plików.
Dostawca segmentu ścieżki
Ten dostawca zagnieżdża pliki z dodatkowym rozszerzeniem w pliku bez dodatkowego rozszerzenia. Dodatkowe rozszerzenie może być wyświetlane tylko w środku pełnej nazwy pliku.
Rozważmy następujący przykład:
- jquery.min.js jest zagnieżdżona w jquery.js ze względu na regułę pathSegment
Uwaga / Notatka
Jeśli nie określisz żadnych określonych rozszerzeń plików dla
pathSegment
reguły, będzie ona stosowana do wszystkich rozszerzeń plików. Oznacza to, że każdy plik o tej samej nazwie i rozszerzeniu co inny plik oraz dodatkowe rozszerzenie w środku jest zagnieżdżony pod innym plikiem.Efekt reguły można ograniczyć
pathSegment
do określonych rozszerzeń plików, określając je w następujący sposób:"pathSegment": { "add": { ".*": [ ".js", ".css", ".html", ".htm" ] } }
Dostawca allExtensions
Ten dostawca umożliwia definiowanie reguł zagnieżdżania plików dla plików z dowolnym rozszerzeniem, ale tą samą podstawową nazwą pliku. Rozważmy następujący przykład:
- template.cs i template.doc są zagnieżdżone pod template.tt ze względu na regułę allExtensions.
Dostawca fileToFile
Ten dostawca umożliwia definiowanie reguł zagnieżdżania plików na podstawie całych nazw plików. Rozważmy następujący przykład:
- Plik bowerrc jest zagnieżdżony w bower.json ze względu na regułę fileToFile
Kolejność reguł
Kolejność jest ważna w każdej części pliku ustawień niestandardowych. Kolejność wykonywania reguł można zmienić, przenosząc je w górę lub w dół w węźle dependentFileProvider . Jeśli na przykład masz jedną regułę, która czyni file.js elementem nadrzędnym dla file.ts i inną regułę, która czyni file.coffee elementem nadrzędnym dla file.ts, to kolejność, w jakiej występują w pliku, określa zachowanie zagnieżdżenia, gdy wszystkie trzy pliki są obecne. Ponieważ file.ts może mieć tylko jeden element nadrzędny, wygrywa reguła, która zostanie wykonana jako pierwsza.
Porządkowanie jest również ważne dla samych sekcji reguł, a nie tylko dla plików w sekcji. Gdy tylko para plików jest zgodna z regułą zagnieżdżania plików, inne reguły w dalszej części pliku są ignorowane, a następna para plików jest przetwarzana.
Przycisk zagnieżdżania plików
Możesz zarządzać wszystkimi ustawieniami, w tym własnymi ustawieniami niestandardowymi, za pomocą tego samego przycisku w Eksploratorze rozwiązań:
Tworzenie ustawień specyficznych dla projektu
Ustawienia specyficzne dla rozwiązania i specyficzne dla projektu można utworzyć za pomocą menu prawym przyciskiem myszy (menu kontekstowe) każdego rozwiązania i projektu:
Ustawienia specyficzne dla rozwiązania i specyficzne dla projektu są łączone z aktywnymi ustawieniami programu Visual Studio. Na przykład może istnieć pusty plik ustawień specyficznych dla projektu, ale Eksplorator rozwiązań nadal zagnieżdża pliki. Zachowanie zagnieżdżania pochodzi z ustawień specyficznych dla rozwiązania lub ustawień programu Visual Studio. Priorytetem scalania ustawień zagnieżdżania plików jest: Visual Studio > Rozwiązanie > Projekt.
Program Visual Studio może użyć tylko ustawień specyficznych dla rozwiązania lub ustawień specyficznych dla projektu, ustawiając węzeł główny na wartość true. Program Visual Studio zatrzymuje scalanie plików na tym poziomie i nie łączy go z plikami wyższymi w hierarchii.
Ustawienia specyficzne dla rozwiązania i specyficzne dla projektu można zaewidencjonować w kontroli źródła, a cały zespół, który pracuje na bazie kodu, może je udostępniać.
Wyłączanie reguł zagnieżdżania plików dla projektu
Istniejące globalne reguły zagnieżdżania plików dla określonych rozwiązań lub projektów można wyłączyć przy użyciu akcji usuwania dla dostawcy zamiast dodawania. Jeśli na przykład dodasz następujący kod ustawień do projektu, wszystkie reguły pathSegment , które mogą istnieć globalnie dla tego konkretnego projektu, zostaną wyłączone:
"dependentFileProviders": {
"remove": {
"pathSegment": {}
}
}
Treści powiązane
- Personalizowanie środowiska IDE
- rozwiązania i projekty w programie Visual Studio