Saya berhenti membuka Penjadwal Tugas setelah menemukan lapisan otomatisasi tersembunyi VS Code

Anda mungkin telah menggunakan task runner VS Code hanya sebagai pintasan build. Selama bertahun-tahun, saya hanya menggunakannya untuk memetakan Ctrl + Shift + B untuk mengkompilasi sesuatu, dan kemudian saya benar-benar lupa bahwa fitur tersebut ada hingga saya perlu mengubahnya lagi. Begitu saya mulai menjelajahi task.json, saya menyadari betapa mudahnya memprogram tugas-tugas lain ke dalamnya dan menggunakannya sebagai platform otomatisasi dadakan. Pelari tugas dapat menjalankan perintah shell, menyatukan tugas, dan memasukkan variabel lingkungan, semuanya dari file JSON yang mengikuti repo Anda. Itu tidak akan menjalankan apa pun berdasarkan jadwal berbasis waktu, tetapi tugas dapat dipetakan ke pengikatan kunci atau diatur untuk dijalankan pada pemicu. Ceruknya adalah untuk tugas-tugas yang secara khusus berada dalam konteks proyek, sehingga otomatisasi tetap berada di lingkungan pengembangan alih-alih berada secara terpisah di Penjadwal Tugas. Agen Terminal terkait menggantikan VS Code sebagai pusat alur kerja pengembangan saya. Agen melakukan pekerjaan sebenarnya, dan VS Code hanyalah sebuah jendela. Fitur yang tersembunyi di balik task.json melakukan lebih dari sekadar pemicu build. Konfigurasi untuk task runner VS Code ada di dalam .vscode/tasks.json di root proyek Anda. Pada dasarnya, setiap tugas mendapat label, tipe, dan perintah. Untuk tugas baris perintah (yang mencakup sebagian besar otomatisasi tujuan umum), Anda cukup memasukkan “shell” sebagai tipenya. Perintah akan dijalankan seolah-olah Anda mengetiknya sendiri di terminal. Berikut contoh sederhananya: { “version”: “2.0.0”, “tasks”: ( { “label”: “Sync backup”, “type”: “shell”, “command”: “rsync -av –delete ~/Documents/ /mnt/backup/Documents/”, “presentation”: { “reveal”: “always”, “panel”: “new” } } ) } Label, jenis, dan perintah semuanya cukup mudah, namun contoh ini juga menggunakan presentasi blok dengan opsi pengungkapan dan panel: pengungkapan: selalu memastikan panel terminal terbuka setiap kali tugas dijalankan, sehingga Anda tidak pernah menebak apakah sesuatu benar-benar dijalankan. panel: new membuka terminal baru setiap kali, yang menjaga keluaran dari tugas berbeda agar tidak bertabrakan di jendela yang sama. Tentu saja, blok presentasi bersifat opsional, tetapi saya suka memasukkannya ke dalam hampir setiap tugas yang telah saya buat. Properti lain yang sering saya gunakan adalah dependOn. Menambahkannya ke tugas memungkinkan Anda menentukan bahwa tugas tersebut hanya boleh dijalankan setelah tugas sebelumnya selesai. Jika tugas Anda bergantung pada beberapa tugas lain yang diselesaikan terlebih dahulu, Anda dapat memasangkannya dengan opsi dependOrder: sequence, sehingga hanya berfungsi jika tugas diselesaikan dalam urutan yang ditentukan. Konfigurasi yang setara di Penjadwal Tugas jauh lebih berantakan, karena memerlukan entri terpisah dan logika kode keluar. Selain itu, menurut saya file JSON lebih mudah dikontrol dan dikonfigurasikan daripada wizard Penjadwal Tugas. Tugas yang sebenarnya saya pindahkan ke Migrasi VS Code lebih mudah dari yang saya harapkan. Salah satu tugas pertama yang saya migrasikan adalah pekerjaan pencadangan rsync berulang (mirip dengan contoh di atas). Penjadwal Tugas dapat menangani pekerjaan dengan baik, tetapi lognya tidak nyaman untuk diakses, dan tugas tersebut akan gagal secara diam-diam setiap kali mencoba dijalankan tanpa berbagi jarak jauh dipasang. Memindahkannya ke VS Code memungkinkan saya memicunya secara manual, melihat keluaran langsung di terminal, dan segera mengetahui jika terjadi kesalahan. Untuk jenis pekerjaan yang membutuhkan perhatian pada hasilnya, ini adalah rute yang lebih aman. Hal lain yang mulai saya lakukan adalah menggunakan tugas untuk mengelola layanan lokal yang perlu dimulai selama pengembangan. Hal-hal seperti database atau server dev harus dijalankan sebelum saya benar-benar dapat bekerja. Tugas yang memulai layanan dan membuka localhost di browser adalah metode yang jauh lebih bersih daripada mengetikkan perintah secara manual ke terminal setiap kali saya ingin mengerjakan sesuatu. Merangkai langkah-langkah tersebut dengan dependOn membuat browser hanya terbuka setelah semuanya berhasil dimulai. Ini adalah tugas yang sederhana untuk dikonfigurasi, tetapi waktu yang dihemat benar-benar bertambah. Ada beberapa pemicu praktis lainnya yang juga dapat Anda atur, seperti runOptions: { “runOn”: “folderOpen” }. Menggunakan ini pada suatu tugas akan membuatnya aktif setiap kali Anda membuka ruang kerja. Saya memiliki tugas ringan yang mengambil perubahan terbaru dan memeriksa pembaruan ketergantungan, jadi setiap kali saya membuka proyek, proyek itu sudah terkini. Menggunakan pelari tugas untuk pemeliharaan tak kasat mata seperti itulah keunggulannya. Penjadwal Tugas masih memiliki pekerjaan berbasis waktu apa pun tidak dapat dijadwalkan dengan VS Code Tidak ada cara asli untuk menjadwalkan tugas di dalam VS Code, jadi jika ada sesuatu yang perlu dijalankan pada rutinitas berbasis waktu, maka Penjadwal Tugas, cron (bahkan di Windows), atau aplikasi pihak ketiga akan diperlukan. Segala sesuatu yang dikonfigurasi dalam VS Code perlu dipicu oleh Anda, oleh pembukaan ruang kerja, atau oleh tugas lain. Peringatan lainnya adalah ruang lingkup. Tugas VS Code hanya masuk akal untuk otomatisasi yang termasuk dalam konteks proyek. Saya tidak akan meletakkan task.json di tempat lain, hanya untuk menampung tugas seluruh sistem yang tidak ada hubungannya dengan basis kode. Meskipun pelari tugas tidak dapat sepenuhnya menggantikan Penjadwal Tugas, kedua alat tersebut saling melengkapi lebih dari sekadar bersaing satu sama lain. Jangan perlakukan task runner seperti tombol build Jika Anda menghabiskan sepanjang hari di VS Code dan masih memprogram semua otomatisasi proyek Anda ke Penjadwal Tugas, coba migrasikan beberapa pekerjaan ke task.json. Setelah Anda menentukan beberapa tugas dan menghubungkannya agar bergantung satu sama lain, mudah untuk melihat betapa nyamannya jika tugas Anda berada di dalam lingkungan pengembangan. Anda tidak bisa memasukkan semua jenis tugas ke dalam VS Code, tapi ada banyak hal yang bisa Anda lakukan.
Diterbitkan : 2026-06-10 14:30:00
sumber : www.xda-developers.com



