Roblox Studio memiliki editor skrip bawaan untuk mengedit kode dalam proyek Roblox Anda. Editor ini mencakup fitur utama seperti linting, pemeriksaan tipe, penyelesaian otomatis, dan pengeditan kolaboratif.
Namun, banyak pengembang memiliki editor teks atau lingkungan pengembangan terintegrasi (IDE) yang disukai, seperti Visual Studio Code, Cursor, Sublime Text, atau Notepad++. Lingkungan pengembangan yang populer sering memiliki fitur atau plugin yang tidak ada di Studio. Untuk menggunakan editor atau IDE eksternal dengan Studio, aktifkan fitur Sinkronisasi Skrip.
Sinkronisasi Skrip bekerja dengan menyinkronkan skrip dalam model data Anda ke file teks di disk lokal Anda. Perubahan yang dilakukan pada file Luau di disk diterapkan pada skrip di Studio, dan sebaliknya. Sinkronisasi ini berarti Anda dapat mengedit skrip di editor eksternal seperti VS Code dan segera melihat perubahan di Studio.
Kapan menggunakan Sinkronisasi Skrip
Jika Anda ingin menggunakan editor teks pilihan Anda atau memeriksa kode ke kontrol versi, tetapi menggunakan Studio untuk segala hal lainnya, Sinkronisasi Skrip adalah pilihan yang baik. Ini juga bekerja dengan alat kolaborasi bawaan Roblox, yang sering tidak dimiliki oleh alat pihak ketiga.
Sinkronisasi Skrip bekerja dengan baik dengan proyek Roblox yang ada, karena ini adalah fitur tambahan daripada perubahan total dalam cara Anda mengelola proyek.
Jika Anda ingin memeriksa seluruh proyek Anda (bukan hanya kode) ke kontrol versi atau menggunakan sistem file Anda sebagai sumber kebenaran untuk proyek Anda, alat pihak ketiga seperti Rojo adalah pilihan yang lebih baik.
Mengatur Sinkronisasi Skrip
Di Explorer, pilih satu atau lebih folder yang ingin Anda sinkronkan.
Klik kanan dan pilih Sinkronkan ke….

Pilih direktori di komputer Anda (atau buat yang baru) dan klik Simpan.
Di Studio, klik kanan pada folder lagi dan pilih Sinkronisasi Skrip ⟩ Tampilkan di Explorer (Windows) atau Tampilkan di Finder (macOS).
Buka direktori di editor teks pilihan Anda.
Sebagai alternatif, klik kanan pada skrip individu di Studio dan pilih Buka di Editor Eksternal.
Anda dapat menyinkronkan skrip individu, tetapi kami sangat merekomendasikan untuk menyinkronkan folder; jika Anda menyinkronkan folder, Sinkronisasi Skrip secara otomatis menyinkronkan folder dan skrip anaknya, yang memungkinkan Anda membuat, menghapus, dan mengganti nama skrip tanpa harus mengaktifkan sinkronisasi setiap kali.
Setelah Anda mengatur Sinkronisasi Skrip, Anda hampir pasti ingin menambahkan ekstensi LSP ke editor teks Anda.
Batasan
Sinkronisasi Skrip mendukung hingga 10.000 skrip per instance yang disinkronkan di tingkat atas dan hingga 128 instance yang disinkronkan di tingkat atas, sehingga dapat diskalakan untuk basis kode yang besar.
Resolusi konflik
Saat memulai atau melanjutkan sinkronisasi, jika ada perbedaan antara Studio dan file Anda di disk, Sinkronisasi Skrip menunjukkan dialog resolusi yang terperinci. Dialog ini mencantumkan skrip mana yang akan ditambahkan, dimodifikasi, atau dihapus di setiap sisi sehingga Anda dapat memahami dampak dari memilih Pertahankan Studio vs. Pertahankan Disk.
Penghapusan selektif
Ketika Anda menghapus skrip atau folder yang disinkronkan di Studio atau di disk, Sinkronisasi Skrip hanya menghapus skrip Luau dan file yang didukung. Ini tidak menghapus file atau folder non-Luau yang tidak dikelolanya; aset non-skrip seperti model dan bagian tetap terjaga bahkan ketika Anda menghapus atau mengatur ulang item yang disinkronkan di sekitarnya.
Team Create
Sinkronisasi Skrip bekerja dengan Team Create. Explorer menampilkan ikon pada instance yang sedang disinkronkan oleh kolaborator. Untuk mencegah nama duplikat, Sinkronisasi Skrip secara otomatis menambahkan akhiran numerik ke nama instance baru yang ditambahkan di bawah pohon yang Anda atau kolaborator sinkronkan.
Hindari alur kerja di mana beberapa orang menyinkronkan skrip yang sama dan mengedit file pada saat yang sama. Sinkronisasi Skrip akan terus berfungsi, tetapi kolaborator dapat menimpa perubahan satu sama lain.
Tips kunci
Sinkronisasi Skrip hanya menyinkronkan instance Script, LocalScript, ModuleScript, dan Folder. Semua instance lain dalam folder yang disinkronkan diabaikan. Hindari menyinkronkan folder yang berisi skrip bersama dengan instance lain.
Anda dapat menyinkronkan paket, meskipun PackageLink itu sendiri tidak ditulis ke disk.
Jangan menyinkronkan skrip yang memiliki atribut atau tag. Sinkronisasi Skrip mengabaikan ini, yang dapat menyebabkan kehilangan data jika Anda membuat atau menghapus skrip atau mulai menyinkronkan dengan versi file Anda yang lebih lama di disk.
Sinkronisasi Skrip memerlukan nama skrip yang kompatibel dengan sistem file Anda—tidak ada nama duplikat atau karakter yang tidak didukung. Jika Studio menemui salah satu masalah ini, ia akan mengeluarkan kesalahan dan meminta Anda untuk menyelesaikan situasi sebelum melanjutkan sinkronisasi.
Jika ada file atau folder yang disinkronkan berubah saat Studio ditutup, Studio akan menanyakan bagaimana Anda ingin menyelesaikan situasi tersebut saat Anda membuka tempat kembali.
Menghapus instance tingkat atas (atau "root")—instance yang awalnya Anda sinkronkan—di disk lokal Anda dapat menyebabkan Studio mengeluarkan kesalahan. Untuk menghapus instance tingkat atas:
- Di Studio, klik kanan pada skrip atau folder dan pilih Sinkronisasi Skrip ⟩ Hentikan Sinkronisasi.
- Pilih opsi Hapus file atau Hapus folder untuk menghapus instance dari disk lokal Anda.
- Hapus skrip atau folder di Studio.
Anda dapat menghapus instance anak di Studio atau di disk lokal Anda tanpa menonaktifkan sinkronisasi, dan penghapusan akan disinkronkan seperti yang Anda harapkan.
Mengatur server bahasa
Server bahasa memberikan fitur spesifik bahasa ke editor teks Anda seperti penyelesaian otomatis, pemeriksaan tipe, "pergi ke definisi," dan lainnya. Untuk VS Code, kami merekomendasikan Luau Language Server.
Ekstensi protokol server bahasa (LSP) perlu memahami hierarki model data dari sebuah proyek agar berfungsi dengan baik. Ekstensi VS Code dilengkapi dengan plugin Studio pendamping (Luau Language Server Companion) yang menyediakan data ini.
Kami sangat merekomendasikan untuk menginstal keduanya. Jika Anda menggunakan ekstensi VS Code dan plugin Studio pendamping, fitur bahasa akan berfungsi dengan benar di VS Code saat menggunakan Sinkronisasi Skrip.
Ekstensi yang direkomendasikan
- Roblox Luau LSP dan Luau Language Server Companion - Fitur bahasa (lihat di atas)
- selene - Analisis kode statis (linting)
- StyLua - Pemformatan kode otomatis
Aturan sinkronisasi
Saat menyinkronkan instance dengan anak-anak dengan direktori di disk, Studio secara otomatis akan menyinkronkan operasi buat, ganti nama, pindah, dan hapus pada anak-anak dengan file dan folder yang sesuai di disk. Pendekatan ini memungkinkan Anda untuk mempertahankan kode Anda tanpa harus secara manual menghentikan dan memulai sinkronisasi pada skrip individu.
Di disk, Sinkronisasi Skrip menggunakan aturan berikut untuk membedakan berbagai jenis skrip satu sama lain.
| Konvensi penamaan di disk | Tipe instance di Studio |
|---|---|
| name.luau | ModuleScript |
| name.server.luau | Skrip dengan Server Script.RunContext |
| name.client.luau | Skrip dengan Client Script.RunContext |
| name.local.luau | LocalScript |
| name.legacy.luau | Skrip dengan Legacy Script.RunContext |
| name.plugin.luau | Skrip dengan Plugin Script.RunContext |
| name/ (direktori) | Folder |
| name/init.*.luau | Instance skrip dengan anak-anak. Tipe (*) ditentukan oleh aturan di atas. |
Pengaturan
Sinkronisasi Skrip memiliki beberapa pengaturan di jendela Pengaturan Studio (AltS atau ⌥S). Opsi default adalah pilihan yang baik untuk sebagian besar kasus penggunaan.
| Pengaturan | Deskripsi |
|---|---|
| Otomatis melanjutkan sinkronisasi saat tempat dibuka | Apakah Studio harus melanjutkan sinkronisasi saat Anda membuka tempat. Menonaktifkan pengaturan ini secara dramatis mengurangi utilitas Sinkronisasi Skrip. |
| Melanjutkan sinkronisasi yang bertentangan saat tempat dibuka | Bagaimana Studio harus menangani konflik saat Anda membuka tempat. Opsi default, Jangan lanjutkan, memaksa Anda untuk menyelesaikan konflik secara manual untuk menghindari kehilangan data. Anda juga dapat memilih untuk lebih memilih versi di disk atau versi di Studio. |
| Simpan file/direktori lokal setelah sinkronisasi | Bagaimana menangani file di disk setelah Anda memilih Sinkronisasi Skrip > Hentikan Sinkronisasi di Studio. |
| Ekstensi file | Ekstensi file yang digunakan untuk skrip di disk. |