Editor Skrip di Studio adalah alat utama untuk scripting di Roblox. Ini adalah lingkungan yang terus berkembang yang dapat membantu Anda menulis kode berdampak tinggi, memperpendek waktu pengembangan Anda, dan melakukan iterasi pada permainan Anda. Ini dapat meningkatkan pengalaman scripting Anda dengan:
- Memformat dan menyoroti sintaks dalam kode Anda.
- Menawarkan cara untuk autocompletion frasa dalam kode Anda saat Anda mengetik.
- Membantu Anda menavigasi kode dengan melompat ke deklarasi variabel dan fungsi.
- Membantu Anda mencari dan mengganti kode dalam 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 dua kali skrip yang ada di jendela Explorer.
Fitur Autocompletion
Fitur autocompletion di 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 permainan. Misalnya, jika Anda memiliki Model di Workspace yang disebut RocketShip, autocompletion menyarankan RocketShip saat Anda mengetik workspace.roc dan menunjukkan bahwa itu adalah Model.

Pengisian nama otomatis 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 melayang yang dapat Anda sesuaikan dengan dokumentasi yang Anda definisikan sendiri.

Diagnostik analisis skrip saat melayang dengan informasi yang dapat Anda gunakan untuk memecahkan 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, menyaringnya berdasarkan nama, dan mengklik dua kali salah satu untuk melompat ke deklarasinya.

Mencari dan mengganti
Widget Cari/Ganti memungkinkan Anda mencari dan mengganti kode dalam skrip yang terbuka. Widget ini mendukung pencocokan huruf besar/kecil, 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 dan peringatan yang aktif. Untuk informasi lebih lanjut tentang kesalahan dan peringatan, lihat dokumentasi Linting Luau.


Output
Jendela Output menampilkan kesalahan yang ditangkap dari menjalankan 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 mengkode lebih efisien dan tetap fokus. Berdasarkan konteks dari komentar dan kode Anda, saran akan dipicu dengan dua cara:
- Secara otomatis saat Anda berhenti di satu 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 terus mengetik. 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 maksud 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 bernama dibandingkan dengan fungsi anonim juga dapat menghasilkan petunjuk yang lebih baik.
- Secara konsisten menyertakan komentar yang ditulis dengan baik yang menjelaskan tugas yang Anda implementasikan dan apa yang seharusnya menjadi input/output.
- Pertimbangkan untuk menyertakan beberapa panggilan contoh dengan hasil yang diharapkan dalam komentar.
- Sarankan cara untuk menyelesaikan masalah, misalnya -- Gunakan raycast.
- Gunakan nama fungsi atau variabel yang tepat yang Anda definisikan, misalnya -- Buat 10 objek greenSphere alih-alih -- Buat 10 bola.
- Jika Anda seorang pemula dalam scripting, mulailah dengan proyek dasar seperti "buat pemain melompat saat mereka menyentuh bagian" atau gunakan alat untuk menghasilkan potongan kode kecil yang dapat Anda kembangkan seiring bertambahnya pengetahuan Anda.
Batasan
Alat ini membantu mengotomatiskan tugas pengkodean dasar tetapi tidak selalu menyarankan kode yang sempurna. Batasan yang diketahui meliputi:
- Pemicu manual tidak selalu memaksa menghasilkan saran.
- Saran dipelajari mesin dari korpus kode dan dapat mencerminkan beberapa batasan dari kode yang mereka latih. Misalnya, saran mungkin tidak menggunakan API yang lebih baru demi API yang lebih lama, atau mereka mungkin menggunakan Lua alih-alih Luau.
- Alat ini mungkin menghasilkan informasi yang salah atau menyesatkan yang tidak berguna untuk tujuan Anda.
- Filter internal berusaha memblokir bahasa yang menyinggung, tetapi tidak semuanya mencakup dan ada kemungkinan alat ini dapat menghasilkan informasi yang menyinggung atau bias.
- Saran mungkin 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 hari berikutnya.
Privasi Kode
Saat ini, Roblox tidak menggunakan data non-publik untuk melatih model pembelajaran. Alat ini hanya menggunakan subset kecil dari aset pasar gratis untuk menyetel model bahasa besar dan subset tersebut telah melewati berbagai pemeriksaan untuk kualitas dan filter keamanan.
Selain itu, semua saran dihasilkan oleh model AI dan tidak ditransfer dari satu pengguna ke pengguna lainnya. Karena kode Anda tidak digunakan untuk pelatihan model, itu tidak akan disarankan kepada pengguna lain dari Bantuan Kode, dengan satu pengecualian yaitu kode yang diposting ke item pasar gratis.
Multi-kursor
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 buat di kursor utama disalin ke kursor sekunder. Setiap edit dihitung sebagai satu tindakan, jadi undo/redo dari edit berlaku untuk semua kursor.
- Widget seperti autocompletion muncul di kursor utama tetapi tidak di kursor sekunder.
- Semua pintasan keyboard standar untuk pengeditan skrip bekerja dengan pengeditan multi-kursor, termasuk indentasi kode, mengalihkan komentar, dan menghapus baris.
Tabel berikut merangkum alur kerja multi-kursor dan pintasannya.
| Perintah | Windows | Mac |
|---|---|---|
| Tambahkan/hapus kursor di lokasi mouse | Alt + klik | ⌥ + klik |
| Hapus kursor yang baru saja ditambahkan | CtrlU | ⌘U |
| Tambahkan/modifikasi kursor saat menyeret mouse | Alt + seret | ⌥ + seret |
| Tambahkan kursor di atas/bawah | CtrlAlt↑ / CtrlAlt↓ | ⌘⌥↑ / ⌘⌥↓ |
| Tambahkan kursor ke pemilihan yang cocok berikutnya | CtrlD | ⌘D |
| Tambahkan kursor ke setiap pemilihan yang cocok | ShiftAltL | Shift⌥L |
| Pilih kolom/blok | ShiftAlt + seret | Shift⌥ + seret |
| Pisahkan pemilihan menjadi baris | ShiftAltI | Shift⌥I |
Menambahkan kursor
Anda dapat menambahkan kursor dengan kombinasi pintasan keyboard dan gerakan mouse. Kursor akan bergabung jika mereka menempati ruang yang sama, seperti jika Anda menambahkan kursor dengan tombol panah atau menghapus semua karakter di antara kursor.
Di lokasi mouse
Untuk menambahkan kursor di lokasi penunjuk mouse Anda:
Tahan Alt di Windows atau ⌥ di Mac.
Klik di mana Anda ingin menambahkan kursor.
Dengan seret mouse
Anda dapat menyeret mouse untuk menambahkan kursor ke pemilihan, memisahkan pemilihan multi-baris menjadi baris, atau memilih kolom dan blok kode/ruang kosong.
Untuk menambahkan kursor ke pemilihan kode melalui penyeretan:
Tahan Alt di Windows atau ⌥ di Mac.
Klik dan seret mouse Anda di atas pemilihan kode.
Di atas dan di bawah kursor utama
Untuk menambahkan kursor tepat di atas atau di bawah kursor utama:
Tekan dan tahan CtrlAlt di Windows atau ⌘⌥ di Mac.
Tekan tombol panah ↑ atau ↓.
Ke pemilihan yang cocok
Anda dapat menambahkan kursor ke semua kecocokan dari pemilihan atau ke kecocokan berikutnya/sebelumnya, dan secara opsional mengalihkan apakah kecocokan bersifat sensitif huruf besar/kecil 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 multi-kursor 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 saja ditambahkan
Untuk menghapus kursor yang baru saja ditambahkan, tekan CtrlU di Windows atau ⌘U di Mac.
Menyalin dan menempelkan kursor
Menyalin pemilihan kode mencakup kursor di dalamnya. Perilaku tempel tergantung pada jumlah kursor di sumber dan jumlah kursor di tujuan:
- Jika jumlah kursor sama, maka setiap kursor yang disalin ditempelkan ke setiap kursor tujuan yang sesuai.
- Jika jumlah kursor berbeda, maka setiap kursor di tujuan menerima seluruh tempelan dengan setiap kursor yang disalin sebagai baris baru.
Pemformatan saat mengetik
Menekan enter/return akan secara otomatis mengindentasi setiap kursor di baris baru relatif terhadap baris sebelumnya. Jika baris sebelumnya dimulai dengan blok yang tidak lengkap, pemformat akan mencoba menyelesaikannya.
Pengaturan Editor
Banyak opsi kustomisasi dapat diakses melalui tab Editor Skrip di Pengaturan Studio. Opsi yang sering dimodifikasi termasuk:
| Opsi | Deskripsi |
|---|---|
| Font | Wajah dan ukuran font untuk kode di editor. |
| Lebar tab | Jumlah spasi yang mewakili indentasi Tab. |
| Indentasi menggunakan spasi | Jika diaktifkan, spasi yang setara dengan Lebar Tab disisipkan dengan penekanan Tab. |
| Pembungkus teks | Jika diaktifkan, baris kode yang lebih panjang akan membungkus ke baris berikutnya. |
| Preset warna Editor Skrip | Preset warna untuk elemen kode, warna pemilihan, dan lainnya. Setelah memilih preset, Anda dapat mengatur warna spesifik untuk opsi seperti Warna Pemilihan dan Warna Komentar. |
Pintasan Keyboard
Editor Skrip memiliki pintasan keyboard berikut.
| Perintah | Windows | Mac |
|---|---|---|
| Tutup skrip | CtrlW | ⌘W |
| Buka kembali skrip yang baru saja ditutup | CtrlShiftT | ⌘ShiftT |
| Buka cepat | CtrlP | ⌘P |
| Tampilkan skrip di Explorer | CtrlAltK | ⌘⌥K |
| Perbesar | Ctrl= | ⌘= |
| Perkecil | Ctrl- | ⌘- |
| Reset zoom skrip | Ctrl0 | ⌘0 |