JetBrains Rider .NET Watch Run Konfigurasi Plugin

.NET Tools How-To’s Rider

Sebagian besar tumpukan teknologi modern sekarang menyertakan mekanisme putaran umpan balik cepat. Mekanisme ini memungkinkan Anda untuk mengubah basis kode Anda dan menghindari tugas yang membosankan untuk menghentikan dan memulai kembali sesi aplikasi yang ada. Anda biasanya dapat menyebut ini sebagai isi ulang panas atau isi ulang langsung. Di dunia .NET, “hot reload” adalah fungsionalitas tambahan yang terintegrasi ke dalam jam tangan dotnet alat.

Posting ini akan mengeksplorasi perbedaan halus antara berlari dotnet watch dengan dan tanpa isi ulang panas dan kapan Anda mungkin lebih suka berjalan dalam mode mana pun. Kami juga akan melihat konfigurasi run JetBrains Rider yang memungkinkan Anda mendapatkan pengalaman yang lebih praktis daripada yang ada di dalam IDE.

Apa itu jam tangan dotnet?

Dotnet watch adalah alat CLI yang disertakan dengan versi .NET SDK saat ini. Anda dapat menjalankan aplikasi .NET apa pun menggunakan dotnet watch karena tujuan utamanya adalah, secara mengejutkan, mengamati perubahan dalam file yang terkait dengan solusi Anda. Dalam proyek .NET yang sedang berjalan, proses dotnet watch akan mencari perubahan dalam *.cs, *.csproj, *.resx file, dan perubahan apa pun yang ditemukan di aplikasi web wwwroot map. Meskipun ada default tertentu, Anda dapat mengonfigurasi dotnet watch untuk mengenali file apa pun yang terletak di proyek dengan beberapa perubahan di .csproj mengajukan. Setiap perubahan yang terdeteksi akan mencoba memuat ulang panas, atau jika itu tidak memungkinkan, proses restart akan terjadi.

Secara umum, dotnet watch sangat membantu dalam beberapa skenario pengembangan:

  • Tes unit terus menerus berjalan
  • Perubahan desain web ke file berbasis web seperti HTML, CSS, dan JavaScript.
  • Saat membuat pengalaman Read-eval-print loop (REPL)

Jika Anda ingin mengedit file dan memulai ulang aplikasi, dotnet watch adalah apa yang Anda inginkan. Namun, tidak semua pelangi dan unicorn. Alat CLI memiliki beberapa kelemahan. Misalnya, Anda mungkin secara tidak sengaja mengubah file, menyebabkan Anda kehilangan status dalam sesi aplikasi Anda. Beruntung bagi Anda, .NET 6 diperkenalkan isi ulang panas.

Apa itu Hot Reload .NET?

Hot reload adalah fungsi dotnet watch yang memungkinkan Anda membuat perubahan kode tanpa memulai ulang aplikasi. Tujuannya adalah untuk mempertahankan status Anda saat ini untuk bereksperimen dengan perubahan lebih cepat daripada sebelumnya, menghilangkan waktu yang hilang untuk memulai ulang.

Melakukan pengeditan kode pada badan metode akan memungkinkan Anda menukar fungsionalitas yang baru diperbarui, menggantikan implementasi sebelumnya. Namun, seperti kebanyakan hal, ada batasan untuk memuat ulang panas:

  • Mengubah parameter ke metode memutus kontrak, membutuhkan restart
  • Kode konfigurasi yang dijalankan sekali biasanya memerlukan restart
  • Perubahan di luar badan metode tidak didukung
  • Baru await atau yield operator mengubah aliran kode dan tidak didukung
  • Nama metode refactoring tidak didukung

Ini mungkin tidak tampak seperti masalah yang signifikan, tetapi dalam peningkatan async dunia, Anda akan menemukan diri Anda dalam skenario ini lebih dari yang Anda suka. Pengembang menyebut perubahan ini sebagai “editan kasar”. Pengeditan kasar biasanya memberi Anda dua opsi: terus menggunakan status aplikasi seperti saat ini atau mulai ulang aplikasi untuk melihat perubahan terbaru.

Kedua mode tersebut adalah opsi yang ampuh untuk pengembang .NET, tetapi mempertimbangkan bagaimana Anda ingin merasakan pengalaman pengembangan Anda akan menentukan apakah Anda memilih untuk menjalankan dotnet watch dengan atau tanpa isi ulang panas.

Dotnet watch Jalankan plugin Konfigurasi

Sementara JetBrains Rider memiliki dukungan untuk isi ulang panas dibangun ke dalam pengalaman pengembangan, itu mungkin bukan pengalaman pengembangan yang ideal untuk beberapa pengembang. Untuk pengembang yang bersedia menerima restart aplikasi untuk daftar opsi perubahan kode yang lebih komprehensif, dotnet watch dengan hot reload dinonaktifkan mungkin merupakan pilihan yang lebih baik.

Untungnya, Anda dapat menginstal a .NET Watch Run Konfigurasi plugin yang menambahkan konfigurasi run baru ke JetBrains Rider. Plugin menambahkan konfigurasi run baru yang memungkinkan Anda untuk mengatur beberapa opsi sebelum menjalankan alat CLI.

dotnet watch menjalankan konfigurasi di JetBrains Rider
  • Pemilihan Proyek dari solusi saat ini
  • Tetapkan Kerangka Target (jika ada beberapa kerangka kerja target)
  • Tambahkan Argumen Program tambahan
  • Tetapkan Variabel Lingkungan
  • Mengatur dotnet watch verbositas: --quiet, --verboseatau default
  • Menekan isi ulang Panas
  • Selalu mulai ulang saat edit kasar (6.0.2+ saja)
  • Sebelum meluncurkan opsi

Seperti semua konfigurasi yang dijalankan, Anda juga dapat menyimpan konfigurasi ini sebagai file proyek untuk dibagikan dengan anggota tim. Juga, buat konfigurasi run sebanyak yang Anda inginkan, tetapi waspadai perdebatan Majelis.

Keuntungan dari plug-in adalah hands-off, seperti menjalankan perintah dari jendela terminal. Anda dapat terus mengedit aplikasi Anda, dan prosesnya akan mencoba menggunakan isi ulang panasatau jika Anda telah menambahkan variabel lingkungan DOTNET_WATCH_RESTART_ON_RUDE_EDIT ke “true"proses akan dimulai ulang tanpa prompt. Perhatikan bahwa variabel lingkungan hanya tersedia untuk .NET 6.0.2+. Anda juga dapat memeriksa properti ini dalam konfigurasi run tertentu agar tidak memengaruhi seluruh lingkungan pengembangan Anda.

jam tangan dotnet berjalan di JetBrains Rider sebagai konfigurasi lari

Satu batasan untuk menggunakan dotnet watch adalah bahwa pengidentifikasi proses berubah pada setiap restart. Proses perubahan berarti saat ini tidak mungkin untuk melampirkan debugger ke proses dan terus melakukan pengeditan kode.

Seperti yang disebutkan di bagian sebelumnya, Anda harus memperhatikan aplikasi yang Anda buat dan apakah masuk akal untuk memilikinya isi ulang panas diaktifkan atau dinonaktifkan.

Misalnya, aplikasi ASP.NET Core Minimal API sangat bergantung pada ekspresi lambda, pendaftaran titik akhir satu kali, dan konfigurasi pipeline ASP.NET Core. Aplikasi ini mungkin mendapat manfaat dari memiliki isi ulang panas dinonaktifkan dan memaksa proses untuk memulai kembali.

Kabar baiknya adalah konfigurasi yang dijalankan ini dapat dimodifikasi dan diduplikasi kapan saja, memberi Anda dan anggota tim Anda fleksibilitas dalam alur kerja pengembangan Anda.

Kesimpulan

Dotnet watch adalah tambahan yang fantastis untuk tumpukan teknologi .NET, dan dengan beberapa mode operasi, Anda dapat mengonfigurasi alur kerja pengembangan untuk memenuhi kebutuhan spesifik Anda.

Sekarang isi ulang panas pengalaman di JetBrains Rider sangat baik untuk menerapkan perubahan secara metodis kapan dan di mana Anda inginkan. Tetap saja, menambahkan konfigurasi run dotnet watch plugin memberi orang lebih banyak opsi alur kerja, dan lebih banyak opsi selalu bagus, bukan? Tentu saja!

Jika Anda ingin mencoba konfigurasi run dotnet watch plugin, Anda dapat menginstalnya melalui JetBrains Marketplace atau mencarinya di pengaturan JetBrains Rider Anda. Jika Anda memiliki umpan balik, silakan tinggalkan di komentar di bawah.

Pemrograman