Bagikan melalui


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

Tombol untuk mengaktifkan/menonaktifkan file berlapis

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:

    File bertumpuk di Penjelajah Solusi

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:

Menambahkan aturan berlapis file kustom

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:

Gunakan aturan berlapis file yang ada sebagai dasar untuk pengaturan kustom

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:

aturan contoh extentionToExtension

efek contoh extentionToExtension

  • 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:

aturan contoh fileSuffixToExtension

efek contoh fileSuffixToExtension

  • 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:

aturan contoh addedExtension

efek contoh addedExtension

  • 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:

aturan contoh pathSegment

efek contoh pathSegment

  • 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:

aturan contoh allExtensions

efek contoh allExtensions

  • 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:

Aturan contoh fileToFile

efek contoh fileToFile

  • .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:

Mengaktifkan aturan berlapis file kustom

Membuat pengaturan khusus proyek

Anda dapat membuat pengaturan khusus solusi dan khusus proyek melalui menu klik kanan (menu konteks) dari setiap solusi dan proyek:

Solusi dan aturan berlapis khusus 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": {}
  }
}