File bertumpuk di Penjelajah Solusi
Penjelajah Solusi menumpuk file terkait untuk membantu mengaturnya dan membuatnya lebih mudah ditemukan. Misalnya, jika Anda menambahkan formulir Formulir Windows ke proyek, file kode untuk formulir disarangkan di bawah formulir dalam Penjelajah Solusi. Dalam proyek .NET Core (dan .NET 5 dan yang lebih baru), berlapis file dapat diambil langkah lebih jauh. Anda dapat memilih antara preset berlapis file Nonaktif, Default, dan Web. Anda juga dapat menyesuaikan bagaimana file disarangkan atau membuat pengaturan khusus solusi dan khusus proyek.
Catatan
Di Visual Studio 2022 versi 17.2 dan yang lebih lama, fitur ini hanya didukung untuk proyek ASP.NET Core. Di versi 17.3 dan yang lebih baru, proyek yang menargetkan file dukungan .NET bersarang.
Opsi berlapis file
Opsi yang tersedia untuk bertumpuk file yang tidak disesuaikan adalah:
Nonaktif: Opsi ini memberi Anda daftar datar file tanpa bersarang.
Default: Opsi ini memberi Anda perilaku bersarang file default di Penjelajah Solusi. Jika tidak ada pengaturan untuk jenis proyek tertentu, maka tidak ada file dalam proyek yang ditumpuk. Jika ada pengaturan, misalnya, untuk proyek web, berlapis diterapkan.
Web: Opsi ini menerapkan perilaku berlapis file Web ke semua proyek dalam solusi saat ini. Ini memiliki banyak aturan, dan kami mendorong Anda untuk memeriksanya dan memberi tahu kami apa yang Anda pikirkan. Cuplikan layar berikut hanya menyoroti beberapa contoh perilaku berlapis file yang Anda dapatkan dengan opsi ini:
Mengkustomisasi berlapis file
Jika Anda tidak menyukai apa yang Anda dapatkan di luar kotak, Anda dapat membuat pengaturan berlapis file kustom Anda sendiri yang menginstruksikan Penjelajah Solusi cara menumpuk file. Anda dapat menambahkan pengaturan berlapis file kustom sebanyak yang Anda inginkan, dan Anda dapat beralih di antara pengaturan tersebut sesuai keinginan. Untuk membuat pengaturan kustom baru, Anda bisa memulai dengan file kosong, atau Anda bisa menggunakan pengaturan Web sebagai titik awal Anda:
Sebaiknya gunakan pengaturan Web sebagai titik awal Anda karena lebih mudah untuk bekerja dengan sesuatu yang sudah berfungsi. Jika Anda menggunakan pengaturan Web sebagai titik awal, file .filenesting.json terlihat mirip dengan file berikut:
Mari kita fokus pada node dependentFileProviders dan node anaknya. Setiap simpul anak adalah jenis aturan yang dapat digunakan Visual Studio untuk menumpuk file. Misalnya, memiliki nama file yang sama, tetapi ekstensi yang berbeda adalah salah satu jenis aturan. Aturan yang tersedia adalah:
extensionToExtension: Gunakan jenis aturan ini untuk menumpuk file.js di bawah file.ts
fileSuffixToExtension: Gunakan jenis aturan ini untuk menumpuk file-vsdoc.js di bawah file.js
addedExtension: Gunakan jenis aturan ini untuk menumpuk file.html.css di bawah file.html
pathSegment: Gunakan jenis aturan ini untuk menumpuk jquery.min.js di bawah jquery.js
allExtensions: Gunakan jenis aturan ini untuk menumpuk file.* di bawah file.js
fileToFile: Gunakan jenis aturan ini untuk menumpuk bower.json di bawah .bowerrc
Penyedia extensionToExtension
Penyedia ini memungkinkan Anda menentukan aturan berlapis file menggunakan ekstensi file tertentu. Pertimbangkan contoh berikut:
cart.js disarangkan di bawah cart.ts karena aturan extensionToExtension pertama
cart.js tidak bersarang di bawah cart.tsx karena .ts datang sebelum .tsx dalam aturan, dan hanya ada satu induk
light.css disarangkan di bawah light.sass karena aturan extensionToExtension kedua
home.html ditumpuk di bawah home.md karena aturan extensionToExtension ketiga
Penyedia fileSuffixToExtension
Penyedia ini berfungsi seperti penyedia extensionToExtension , dengan satu-satunya perbedaan adalah bahwa aturan melihat akhiran file alih-alih hanya ekstensi. Pertimbangkan contoh berikut:
portal-vsdoc.js disarangkan di bawah portal.js karena aturan fileSuffixToExtension
setiap aspek lain dari aturan bekerja dengan cara yang sama seperti extensionToExtension
Penyedia addedExtension
Penyedia ini menumpuk file dengan ekstensi tambahan di bawah file tanpa ekstensi tambahan. Ekstensi tambahan hanya dapat muncul di akhir nama file lengkap.
Pertimbangkan contoh berikut:
- file.html.css ditumpuk di bawah file.html karena aturan addedExtension
Catatan
Anda tidak menentukan ekstensi file apa pun untuk addedExtension
aturan; ekstensi tersebut secara otomatis berlaku untuk semua ekstensi file. Artinya, file apa pun dengan nama dan ekstensi yang sama dengan file lain ditambah ekstensi tambahan di akhir disarangkan di bawah file lain. Anda tidak dapat membatasi efek penyedia ini hanya pada ekstensi file tertentu.
Penyedia pathSegment
Penyedia ini menumpuk file dengan ekstensi tambahan di bawah file tanpa ekstensi tambahan. Ekstensi tambahan hanya dapat muncul di tengah nama file lengkap.
Pertimbangkan contoh berikut:
- jquery.min.js disarangkan di bawah jquery.js karena aturan pathSegment
Catatan
Jika Anda tidak menentukan ekstensi file tertentu untuk aturan,
pathSegment
itu berlaku untuk semua ekstensi file. Artinya, file apa pun dengan nama dan ekstensi yang sama dengan file lain ditambah ekstensi tambahan di tengah disarangkan di bawah file lain.Anda dapat membatasi efek aturan ke
pathSegment
ekstensi file tertentu dengan menentukannya dengan cara berikut:"pathSegment": { "add": { ".*": [ ".js", ".css", ".html", ".htm" ] } }
Penyedia allExtensions
Penyedia ini memungkinkan Anda menentukan aturan berlapis file untuk file dengan ekstensi apa pun tetapi nama file dasar yang sama. Pertimbangkan contoh berikut:
- template.cs dan template.doc disarangkan di bawah template.tt karena aturan allExtensions.
Penyedia fileToFile
Penyedia ini memungkinkan Anda menentukan aturan berlapis file berdasarkan seluruh nama file. Pertimbangkan contoh berikut:
- .bowerrc disarangkan di bawah bower.json karena aturan fileToFile
Urutan aturan
Pengurutan penting di setiap bagian file pengaturan kustom Anda. Anda dapat mengubah urutan di mana aturan dijalankan dengan memindahkannya ke atas atau ke bawah di dalam node dependentFileProvider . Misalnya, jika Anda memiliki satu aturan yang membuat file.js induk file.ts dan aturan lain yang menjadikan file.coffee sebagai induk file.ts, urutan munculnya dalam file menentukan perilaku bersarang ketika ketiga file ada. Karena file.ts hanya dapat memiliki satu induk, aturan mana pun yang menjalankan kemenangan pertama.
Pemesanan juga penting untuk bagian aturan itu sendiri, bukan hanya untuk file dalam bagian. Segera setelah sepasang file dicocokkan dengan aturan berlapis file, aturan lain lebih jauh ke bawah dalam file diabaikan, dan pasangan file berikutnya diproses.
Tombol berlapis file
Anda dapat mengelola semua pengaturan, termasuk pengaturan kustom Anda sendiri, melalui tombol yang sama di Penjelajah Solusi:
Membuat pengaturan khusus proyek
Anda dapat membuat pengaturan khusus solusi dan khusus proyek melalui menu klik kanan (menu konteks) dari setiap solusi dan proyek:
Pengaturan khusus solusi dan khusus proyek dikombinasikan dengan pengaturan Visual Studio aktif. Misalnya, Anda mungkin memiliki file pengaturan khusus proyek kosong, tetapi Penjelajah Solusi masih menumpuk file. Perilaku berlapis berasal dari pengaturan khusus solusi atau pengaturan Visual Studio. Prioritas untuk menggabungkan pengaturan berlapis file adalah: Proyek Solusi > Visual Studio>.
Anda dapat memberi tahu Visual Studio untuk mengabaikan pengaturan khusus solusi dan khusus proyek, bahkan jika file ada di disk, dengan mengaktifkan opsi Abaikan solusi dan pengaturan proyek di bawah Opsi>Alat>ASP.NET File Inti>Bersarang.
Anda dapat melakukan kebalikannya dan memberi tahu Visual Studio untuk hanya menggunakan pengaturan khusus solusi atau khusus proyek, dengan mengatur simpul akar ke true. Visual Studio berhenti menggabungkan file pada tingkat tersebut dan tidak menggabungkannya dengan file yang lebih tinggi ke hierarki.
Pengaturan khusus solusi dan khusus proyek dapat diperiksa ke kontrol sumber, dan seluruh tim yang bekerja di basis kode dapat membagikannya.
Menonaktifkan aturan berlapis file untuk proyek
Anda dapat menonaktifkan aturan berlapis file global yang ada untuk solusi atau proyek tertentu dengan menggunakan tindakan hapus untuk penyedia alih-alih menambahkan. Misalnya, jika Anda menambahkan kode pengaturan berikut ke proyek, semua aturan pathSegment yang mungkin ada secara global untuk proyek tertentu ini dinonaktifkan:
"dependentFileProviders": {
"remove": {
"pathSegment": {}
}
}
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk