Editor Skrip di Studio adalah alat utama untuk scripting di Roblox. Ini adalah lingkungan yang terus berkembang yang dapat membantu Anda menulis kode yang berdampak tinggi, memperpendek waktu pengembangan Anda, dan iterasi pada pengalaman Anda. Ini dapat meningkatkan pengalaman scripting Anda dengan:
- Memformat dan menyoroti sintaks di kode Anda.
- Menawarkan cara untuk menyelesaikan otomatis frasa dalam kode Anda saat Anda mengetik.
- Membantu Anda menavigasi kode dengan melompat ke deklarasi variabel dan fungsi.
- Membantu Anda mencari dan mengganti kode di skrip terbuka atau semua skrip.
- Memberikan umpan balik waktu nyata tentang kualitas dan kinerja kode Anda.
Editor Skrip mendukung semua jenis skrip dan terbuka secara otomatis saat Anda membuat skrip baru atau mengklik ganda pada skrip yang sudah ada di jendela Explorer.
Fitur penyelesaian otomatis
Fitur penyelesaian otomatis Editor Skrip menghasilkan informasi terkait kode yang dapat meningkatkan efisiensi pemrograman Anda, seperti:
Saran yang diinformasikan tentang cara menyelesaikan frasa saat Anda mengetiknya yang kontekstual dengan model data pengalaman. Misalnya, jika Anda memiliki Model di Workspace bernama RocketShip, penyelesaian otomatis akan menyarankan RocketShip saat Anda mengetik workspace.roc dan menunjukkan bahwa itu adalah Model.

Pengisian otomatis nama untuk variabel dan fungsi yang Anda deklarasikan, membantu Anda menghindari kesalahan ketik yang mengganggu.

Pop-up dokumentasi dengan contoh kode yang mirip dengan yang ada di Referensi API Engine, memberikan konteks tentang penggunaan API.

Tooltip saat hover yang dapat Anda sesuaikan dengan dokumentasi yang Anda definisikan sendiri.

Diagnosis analisis skrip saat hover dengan informasi yang dapat Anda gunakan untuk mengatasi kesalahan.

Tanda tangan fungsi saat Anda mengetik argumen, memberikan referensi untuk parameter dan nilai kembalian.

Navigasi kode
Pergi ke deklarasi
Anda dapat melompat ke deklarasi fungsi atau variabel dengan menahan Ctrl di Windows atau ⌘ di Mac saat mengklik panggilan, atau dengan mengklik kanan panggilan tersebut dan mengklik Pergi ke Deklarasi.

Filter fungsi skrip
Filter Fungsi Skrip menampilkan daftar semua fungsi yang dideklarasikan dalam skrip. Untuk membukanya, tekan AltF di Windows atau ⌥F di Mac. Dengan daftar terbuka, Anda dapat menjelajahi tanda tangan untuk setiap fungsi, memfilter melalui mereka berdasarkan nama, dan mengklik ganda satu untuk melompat ke deklarasinya.

Mencari dan mengganti
Widget Cari/Ganti memungkinkan Anda menemukan dan mengganti kode dalam skrip yang terbuka. Widget ini mendukung pencocokan kasus, mencocokkan kata utuh, dan pencarian dengan ekspresi reguler. Untuk membukanya, tekan CtrlF di Windows atau ⌘F di Mac.

Umpan balik waktu nyata
Analisis Skrip
Jendela Analisis Skrip, yang dapat diakses melalui tombol Analisis di toolbar tab Skrip Studio, melakukan analisis statis pada skrip Anda dan menampilkan kesalahan serta peringatan yang aktif. Untuk informasi lebih lanjut tentang kesalahan dan peringatan tersebut, lihat dokumentasi Linting Luau.


Output
Jendela Output menampilkan kesalahan yang ditangkap dari pengoperasian skrip, pesan dari mesin Roblox, pesan dari panggilan ke print(), dan kesalahan dari panggilan ke warn().

Bantuan Kode
Bantuan Kode adalah fitur yang menyarankan baris atau fungsi kode saat Anda mengetik, membantu Anda melakukan pengkodean dengan lebih efisien dan tetap fokus. Berdasarkan konteks dari komentar dan kode Anda, saran akan dipicu dua cara:
- Secara otomatis saat Anda berhenti pada suatu baris selama beberapa detik dan model AI memiliki cukup konteks untuk memberikan saran.
- Secara manual dengan pintasan Alt∖ di Windows atau ⌥∖ di Mac.
Tekan Tab untuk menerima saran, atau abaikan dengan melanjutkan pengetikan. Saat ini, skrip Anda perlu berisi setidaknya beberapa baris kode untuk memicu saran.
Tingkatkan saran
Untuk mendapatkan saran yang lebih akurat dan relevan, disarankan agar Anda mengikuti praktik pengkodean yang bersih, terlepas dari bantuan, dan:
- Memecah kode Anda menjadi fungsi-fungsi kecil.
- Menggunakan nama skrip deskriptif yang menangkap niat keseluruhan dari apa yang dilakukan setiap skrip. Misalnya, beri nama skrip SyncCustomSounds alih-alih hanya Sounds.
- Menetapkan nama deskriptif untuk parameter, fungsi, dan skrip. Misalnya, beri nama bagian GreenSphere alih-alih hanya grs, atau beri nama fungsi generateSphere() alih-alih gen(). Menggunakan fungsi yang dinamai versus fungsi anonim juga dapat menghasilkan petunjuk yang lebih baik.
- Secara konsisten menyertakan komentar yang ditulis dengan baik yang menjelaskan tugas yang Anda laksanakan dan apa yang seharusnya menjadi input/output.
- Pertimbangkan untuk menyertakan beberapa panggilan sampel dengan hasil yang diharapkan di dalam komentar.
- Sarankan cara untuk memecahkan masalah, misalnya -- Gunakan raycast.
- Gunakan nama fungsi atau variabel persis yang Anda definisikan, misalnya -- Buat 10 objek greenSphere alih-alih -- Buat 10 bola.
- Jika Anda adalah pemula dalam scripting, mulailah dengan proyek dasar seperti "buat pemain melompat saat mereka menyentuh bagian tersebut" atau gunakan alat untuk menghasilkan potongan kode kecil yang dapat Anda kembangkan saat pengetahuan Anda bertambah.
Batasan
Alat ini membantu mengotomatisasi tugas pengkodean dasar tetapi tidak selalu menyarankan kode yang sempurna. Batasan yang diketahui termasuk:
- Pemicu manual tidak selalu memaksa menghasilkan saran.
- Saran dipelajari oleh mesin dari korpus kode dan dengan demikian dapat mencerminkan beberapa keterbatasan dari kode yang mereka latih. Misalnya, saran mungkin tidak menggunakan API terbaru dan lebih memilih API yang lebih lama, atau mungkin menggunakan Lua bukan Luau.
- Alat ini dapat menghasilkan informasi yang salah atau menyesatkan dan tidak berguna untuk tujuan Anda.
- Filter internal mencoba memblokir bahasa yang menyinggung, tetapi tidak semuanya mencakup dan ada kemungkinan alat ini menghasilkan informasi yang menyinggung atau bias.
- Saran dapat sama, mirip, atau berbeda di antara pengguna, bahkan dengan prompt yang sama. Namun, kode Anda tidak akan pernah dibagikan dengan orang lain.
- Saran mungkin tidak lengkap karena panjang output yang terbatas dari model pembelajaran.
- Ada batas harian untuk jumlah saran dan, setelah batas tercapai, Anda tidak akan mendapatkan saran hingga keesokan harinya.
Privasi kode
Saat ini, Roblox tidak menggunakan data non-publik untuk melatih model pembelajaran. Alat ini hanya menggunakan subset kecil aset pasar gratis untuk menyetel model bahasa besar dan subset tersebut telah melewati berbagai pemeriksaan untuk filter kualitas dan keamanan.
Lebih jauh, semua saran dihasilkan oleh model AI dan tidak berpindah dari satu pengguna ke pengguna lainnya. Karena kode Anda tidak digunakan untuk pelatihan model, tidak akan disarankan kepada pengguna lain di Bantuan Kode, dengan satu pengecualian yaitu kode yang diposting ke item pasar gratis.
Multikursor
Editor Skrip mendukung penggunaan beberapa kursor untuk melakukan pengeditan secara bersamaan. Anda dapat menambahkan kursor berdasarkan kebutuhan Anda dengan klik mouse atau pintasan keyboard. Kursor awal disebut kursor utama dan kursor tambahan disebut kursor sekunder.
- Edit yang Anda lakukan pada kursor utama disalin ke kursor sekunder. Setiap edit dihitung sebagai satu aksi, sehingga undo/redo dari edit berlaku untuk semua kursor.
- Widget seperti penyelesaian otomatis muncul pada kursor utama tetapi tidak pada kursor sekunder.
- Semua pintasan keyboard standar untuk pengeditan skrip berfungsi dengan pengeditan multikursor, termasuk indentasi kode, mengubah komentar, dan menghapus baris.
Tabel berikut merangkum alur kerja multikursor dan pintasannya.
| Komando | Windows | Mac |
|---|---|---|
| Tambah/hapus kursor di lokasi mouse | Alt + klik | ⌥ + klik |
| Hapus kursor yang baru ditambahkan | CtrlU | ⌘U |
| Tambah/modifikasi kursor saat menyeret mouse | Alt + seret | ⌥ + seret |
| Tambah kursor di atas/bawah | CtrlAlt↑ / CtrlAlt↓ | ⌘⌥↑ / ⌘⌥↓ |
| Tambah kursor ke seleksi yang cocok berikutnya | CtrlD | ⌘D |
| Tambah kursor ke setiap seleksi yang cocok | ShiftAltL | Shift⌥L |
| Pilih kolom/blok | ShiftAlt + seret | Shift⌥ + seret |
| Pisahkan seleksi menjadi baris | ShiftAltI | Shift⌥I |
Menambahkan kursor
Anda dapat menambahkan kursor dengan kombinasi pintasan keyboard dan gerakan mouse. Kursor akan bergabung jika mereka berada di ruang yang sama, seperti jika Anda menambahkan kursor menggunakan tombol panah atau menghapus semua karakter di antara kursor.
Di lokasi mouse
Untuk menambahkan kursor di lokasi pointer mouse Anda:
Tahan Alt di Windows atau ⌥ di Mac.
Klik tempat di mana Anda ingin menambahkan kursor.
Dengan menyeret mouse
Anda dapat menyeret mouse untuk menambahkan kursor ke seleksi, memisahkan seleksi multiline menjadi baris, atau memilih kolom dan blok kode/ruang kosong.
Untuk menambahkan kursor ke seleksi kode dengan menyeret:
Tahan Alt di Windows atau ⌥ di Mac.
Klik dan seret mouse Anda di atas seleksi kode.
Di atas dan di bawah kursor utama
Untuk menambahkan kursor langsung di atas atau di bawah kursor utama:
Tekan dan tahan CtrlAlt di Windows atau ⌘⌥ di Mac.
Tekan tombol panah ↑ atau ↓.
Ke seleksi yang cocok
Anda dapat menambahkan kursor ke semua kecocokan dari suatu seleksi atau ke kecocokan berikutnya/sebelumnya, dan opsionalnya mengubah apakah kecocokan sensitif terhadap huruf besar dan/atau mencocokkan kata utuh.
Untuk menambahkan kursor ke semua kecocokan dari bagian yang dipilih:
Pilih kode yang ingin Anda cari kecocokannya.
Tekan ShiftAltL di Windows atau Shift⌥L di Mac.
Menghapus kursor
Anda dapat menghapus kursor dengan pintasan keyboard dan gerakan mouse berikut. Sebagai alternatif, Anda dapat keluar dari pengeditan multikursor dengan menekan Esc.
Di lokasi mouse
Untuk menghapus kursor:
Tekan dan tahan Alt di Windows atau ⌥ di Mac.
Klik kursor yang ingin Anda hapus.
Kursor yang baru ditambahkan
Untuk menghapus kursor yang baru ditambahkan, tekan CtrlU di Windows atau ⌘U di Mac.
Menyalin dan menempelkan kursor
Menyalin seleksi kode termasuk kursor di dalamnya. Perilaku tempel bergantung pada jumlah kursor di sumber dan jumlah kursor di tujuan:
- Jika jumlah kursor sama, maka setiap kursor yang disalin ditempel ke setiap kursor tujuan yang sesuai.
- Jika jumlah kursor berbeda, maka setiap kursor di tujuan menerima seluruh hasil tempelan dengan setiap kursor yang disalin sebagai baris baru.
Format saat mengetik
Menekan enter/kembali akan secara otomatis mengindentasi setiap kursor di garis baru relatif terhadap garis sebelumnya. Jika garis sebelumnya dimulai dengan blok yang tidak lengkap, formatter akan mencoba menyelesaikannya.
Pengaturan editor
Banyak opsi penyesuaian dapat diakses melalui tab Editor Skrip di Pengaturan Studio. Opsi yang sering dimodifikasi meliputi:
| Opsi | Deskripsi |
|---|---|
| Font | Wajah dan ukuran font untuk kode di editor. |
| Lebar tab | Jumlah spasi yang mewakili indentasi Tab. |
| Indent menggunakan spasi | Jika diaktifkan, spasi yang setara dengan Lebar Tab dimasukkan saat ditekan Tab. |
| Pembungkus teks | Jika diaktifkan, baris kode yang lebih panjang akan dibungkus ke garis berikutnya. |
| Preset warna Editor Skrip | Preset warna untuk elemen kode, warna seleksi, dan lainnya. Setelah memilih preset, Anda dapat mengatur warna tertentu untuk opsi seperti Warna Seleksi dan Warna Komentar. |
Pintasan keyboard
Editor Skrip memiliki pintasan keyboard berikut.
| Komando | Windows | Mac |
|---|---|---|
| Tutup skrip | CtrlW | ⌘W |
| Buka kembali skrip yang baru ditutup | CtrlShiftT | ⌘ShiftT |
| Buka cepat | CtrlP | ⌘P |
| Tampilkan skrip di Explorer | CtrlAltK | ⌘⌥K |
| Perbesar | Ctrl= | ⌘= |
| Perkecil | Ctrl- | ⌘- |
| Reset zoom skrip | Ctrl0 | ⌘0 |