Edytor skryptów w Studio jest głównym narzędziem do skryptowania w Roblox. To samodoskonalące się środowisko, które może pomóc Ci pisać kod o dużym wpływie, skrócić czas rozwoju i iterować w swoich grach. Może poprawić Twoje doświadczenie w skryptowaniu poprzez:
- Formatowanie i podświetlanie składni w Twoim kodzie.
- Oferowanie sposobów na autouzupełnianie fraz w Twoim kodzie podczas pisania.
- Pomaganie w nawigacji po kodzie poprzez skakanie do deklaracji zmiennych i funkcji.
- Pomaganie w znajdowaniu i zamienianiu kodu w otwartych skryptach lub wszystkich skryptach.
- Zapewnienie informacji zwrotnej w czasie rzeczywistym na temat jakości i wydajności Twojego kodu.
Edytor skryptów obsługuje wszystkie typy skryptów i otwiera się automatycznie, gdy tworzysz nowy skrypt lub dwukrotnie klikasz istniejący skrypt w oknie Eksploratora.
Funkcje autouzupełniania
Funkcje autouzupełniania Edytora skryptów generują informacje związane z kodem, które mogą poprawić Twoją efektywność programowania, takie jak:
Autouzupełnianie nazw dla zmiennych i funkcji, które deklarujesz, pomagając uniknąć uciążliwych literówek.

Wyskakujące okna dokumentacji z przykładami kodu, które są podobne do tych w Dokumentacji API silnika, dając Ci kontekst dotyczący użycia API.

Podpowiedzi najeżdżając na elementy, które możesz dostosować własną zdefiniowaną dokumentacją. Umieść komentarz blokowy bezpośrednio przed funkcją, zmienną lub inną deklaracją, a Edytor skryptów wyświetli ten komentarz jako podpowiedź, gdy najedziesz na nazwę później. To również działa, gdy deklaracja pojawia się wewnątrz wyrażenia typu, takiego jak typeof():
export type Icon = {new: typeof(--[[Tworzy pustą ikonę.]] function(): Iconreturn (nil :: any) :: Iconend),}
Diagnostyka analizy skryptów najeżdżając, z informacjami, które możesz wykorzystać do rozwiązywania błędów.

Podpisy funkcji podczas wpisywania argumentu, dostarczając Ci odniesienia do jego parametrów i wartości zwracanych.

Nawigacja po kodzie
Przejdź do deklaracji
Możesz skoczyć do deklaracji funkcji lub zmiennej, przytrzymując Ctrl na Windows lub ⌘ na Mac, gdy klikniesz wywołanie, lub klikając prawym przyciskiem myszy jego wywołanie i klikając Przejdź do deklaracji.

Filtr funkcji skryptu
Filtr funkcji skryptu wyświetla listę wszystkich funkcji zadeklarowanych w skrypcie. Aby go otworzyć, naciśnij AltF na Windows lub ⌥F na Mac. Gdy lista jest otwarta, możesz przeglądać podpisy każdej funkcji, filtrować je według nazwy i dwukrotnie kliknąć jedną, aby skoczyć do jej deklaracji.

Znajdź i zamień
Widget Znajdź/Zamień pozwala znaleźć i zamienić kod w otwartym skrypcie. Widget obsługuje dopasowywanie wielkości liter, dopasowywanie całego słowa oraz wyszukiwanie za pomocą wyrażeń regularnych. Aby go otworzyć, naciśnij CtrlF na Windows lub ⌘F na Mac.

Informacja zwrotna w czasie rzeczywistym
Analiza skryptów
Okno Analiza skryptów, dostępne przez przycisk Analiza w pasku narzędzi zakładki Skrypt w Studio, wykonuje analizę statyczną Twoich skryptów i wyświetla aktywne błędy i ostrzeżenia. Aby uzyskać więcej informacji na temat błędów i ostrzeżeń, zobacz dokumentację Linting Luau.


Wyjście
Okno Wyjście wyświetla błędy zarejestrowane podczas uruchamiania skryptów, wiadomości z silnika Roblox, wiadomości z wywołań do print() oraz błędy z wywołań do warn().

Asystent kodu
Asystent kodu to funkcja, która sugeruje linie lub funkcje kodu podczas pisania, pomagając Ci kodować bardziej efektywnie i skupić się. Na podstawie kontekstów z Twojego komentarza i kodu, sugestie będą wyzwalane na dwa sposoby:
- Automatycznie, gdy zatrzymasz się na linii na kilka sekund, a model AI ma wystarczająco dużo kontekstu do sugestii.
- Ręcznie za pomocą skrótu Alt∖ na Windows lub ⌥∖ na Mac.
Naciśnij Tab, aby zaakceptować sugestię, lub zignoruj ją, kontynuując pisanie. Obecnie Twój skrypt musi zawierać przynajmniej kilka linii kodu, aby wyzwolić sugestię.
Poprawa sugestii
Aby uzyskać dokładniejsze i bardziej odpowiednie sugestie, zaleca się przestrzeganie zasad czystego kodowania, niezależnie od pomocy, i:
- Dzielić swój kod na mniejsze funkcje.
- Używać opisowych nazw skryptów, które oddają ogólny zamiar tego, co każdy skrypt robi. Na przykład, nazwij skrypt SyncCustomSounds zamiast po prostu Sounds.
- Przypisywać opisowe nazwy dla parametrów, funkcji i skryptów. Na przykład, nazwij część GreenSphere zamiast po prostu grs, lub nazwij funkcję generateSphere() zamiast gen(). Używanie nazwanych funkcji w porównaniu do funkcji anonimowych może również przynieść lepsze podpowiedzi.
- Konsekwentnie umieszczać dobrze napisane komentarze, które opisują zadanie, które wdrażasz oraz jakie powinny być wejścia/wyjścia.
- Rozważ umieszczenie kilku przykładowych wywołań z oczekiwanymi wynikami w komentarzach.
- Sugeruj, jak rozwiązać problem, na przykład -- Użyj raycast.
- Użyj dokładnej nazwy funkcji lub zmiennej, którą zdefiniowałeś, na przykład -- Utwórz 10 obiektów greenSphere zamiast -- Utwórz 10 sfer.
- Jeśli jesteś początkującym skryptowcem, zacznij od podstawowych projektów, takich jak "spraw, aby gracz skakał, gdy dotknie części" lub użyj narzędzia do generowania małych fragmentów kodu, które możesz rozwijać w miarę wzrostu swojej wiedzy.
Ograniczenia
Narzędzie pomaga zautomatyzować podstawowe zadania kodowania, ale nie zawsze sugeruje idealny kod. Znane ograniczenia obejmują:
- Ręczne wyzwalanie nie zawsze wymusza wygenerowania sugestii.
- Sugestie są uczeniem maszynowym z korpusu kodu i mogą odzwierciedlać pewne ograniczenia kodu, na którym są trenowane. Na przykład, sugestie mogą nie używać nowszych API na rzecz starszych API, lub mogą używać Lua zamiast Luau.
- Narzędzie może generować niepoprawne lub mylące informacje, które nie są przydatne dla Twojego celu.
- Wewnętrzne filtry próbują blokować obraźliwy język, ale nie są wszechobecne i istnieje możliwość, że narzędzie może generować obraźliwe lub stronnicze informacje.
- Sugestie mogą być takie same, podobne lub różne wśród użytkowników, nawet przy tych samych podpowiedziach. Twój kod jednak nigdy nie będzie dzielony z innymi.
- Sugestia może być niekompletna z powodu ograniczonej długości wyjścia z modeli uczenia.
- Istnieje dzienny limit liczby sugestii i, gdy limit zostanie osiągnięty, nie otrzymasz żadnych sugestii do następnego dnia.
Prywatność kodu
Obecnie Roblox nie używa żadnych danych niepublicznych do trenowania modeli uczenia. Narzędzie korzysta tylko z małego zestawu darmowych zasobów rynkowych do dostosowywania dużych modeli językowych, a zestaw przeszedł różne kontrole jakości i filtrów bezpieczeństwa.
Ponadto wszystkie sugestie są generowane przez model AI i nie przenoszą się z jednego użytkownika do drugiego. Ponieważ Twój kod nie jest używany do trenowania modelu, nie będzie sugerowany innym użytkownikom Asystenta kodu, z wyjątkiem kodu publikowanego w darmowych przedmiotach rynkowych.
Edytor z wieloma kursorami
Edytor skryptów obsługuje użycie wielu kursorów, aby dokonywać edycji jednocześnie. Możesz dodawać kursory w zależności od swoich potrzeb za pomocą kliknięcia myszą lub skrótu klawiaturowego. Początkowy kursor nazywa się głównym kursorem, a dodatkowe kursory nazywają się drugorzędnymi kursorami.
- Edycje, które dokonujesz na głównym kursorze, kopiują się do drugorzędnych kursorów. Każda edycja liczy się jako jedna akcja, więc cofnięcie/ponowne wykonanie edycji dotyczy wszystkich kursorów.
- Widgety, takie jak autouzupełnianie, pojawiają się na głównym kursorze, ale nie na drugorzędnych kursorach.
- Wszystkie standardowe skróty klawiaturowe do edytowania skryptów działają z edytowaniem z wieloma kursorami, w tym wcięcia kodu, przełączanie komentarzy i usuwanie linii.
Poniższa tabela podsumowuje przepływy pracy z wieloma kursorami i ich skróty.
| Komenda | Windows | Mac |
|---|---|---|
| Dodaj/usuń kursor w lokalizacji myszy | Alt + klik | ⌥ + klik |
| Usuń ostatnio dodany kursor | CtrlU | ⌘U |
| Dodaj/modyfikuj kursor podczas przeciągania myszy | Alt + przeciągnij | ⌥ + przeciągnij |
| Dodaj kursor powyżej/poniżej | CtrlAlt↑ / CtrlAlt↓ | ⌘⌥↑ / ⌘⌥↓ |
| Dodaj kursor do następnego dopasowania | CtrlD | ⌘D |
| Dodaj kursor do każdego dopasowania | ShiftAltL | Shift⌥L |
| Wybór kolumny/bloku | ShiftAlt + przeciągnij | Shift⌥ + przeciągnij |
| Podziel wybory na linie | ShiftAltI | Shift⌥I |
Dodawanie kursorów
Możesz dodawać kursory za pomocą kombinacji skrótów klawiaturowych i ruchów myszą. Kursory łączą się, jeśli zajmują tę samą przestrzeń, na przykład, jeśli dodasz kursory za pomocą klawiszy strzałek lub usuniesz wszystkie znaki między kursorami.
W lokalizacji myszy
Aby dodać kursor w lokalizacji wskaźnika myszy:
Przytrzymaj Alt na Windows lub ⌥ na Mac.
Kliknij, gdzie chcesz dodać kursor.
Przy przeciąganiu myszy
Możesz przeciągnąć mysz, aby dodać kursor do zaznaczenia, podzielić wieloliniowe zaznaczenie na linie lub zaznaczyć kolumny i bloki kodu/białych znaków.
Aby dodać kursor do zaznaczenia kodu przez przeciąganie:
Przytrzymaj Alt na Windows lub ⌥ na Mac.
Kliknij i przeciągnij myszą po zaznaczeniu kodu.
Powyżej i poniżej głównego kursora
Aby dodać kursor bezpośrednio powyżej lub poniżej głównego kursora:
Naciśnij i przytrzymaj CtrlAlt na Windows lub ⌘⌥ na Mac.
Naciśnij strzałki ↑ lub ↓.
Do dopasowanych zaznaczeń
Możesz dodać kursory do wszystkich dopasowań zaznaczenia lub do następnego/poprzedniego dopasowania, a opcjonalnie przełączać, czy dopasowania mają być wrażliwe na wielkość liter i/lub dopasowywać całe słowo.
Aby dodać kursor do wszystkich dopasowań wybranego fragmentu:
Zaznacz kod, którego chcesz szukać w dopasowaniach.
Naciśnij ShiftAltL na Windows lub Shift⌥L na Mac.
Usuwanie kursorów
Możesz usunąć kursory za pomocą następujących skrótów klawiaturowych i ruchów myszą. Alternatywnie, możesz wyjść z edytowania z wieloma kursorami, naciskając Esc.
W lokalizacji myszy
Aby usunąć kursor:
Przytrzymaj Alt na Windows lub ⌥ na Mac.
Kliknij kursor, który chcesz usunąć.
Ostatnio dodany
Aby usunąć ostatnio dodany kursor, naciśnij CtrlU na Windows lub ⌘U na Mac.
Kopiowanie i wklejanie kursorów
Kopiowanie zaznaczenia kodu obejmuje kursory w nim. Zachowanie wklejania zależy od liczby kursorów w źródle i liczby kursorów w miejscu docelowym:
- Jeśli liczba kursorów jest taka sama, każdy skopiowany kursor wkleja się do odpowiadającego mu kursora docelowego.
- Jeśli liczba kursorów jest różna, każdy kursor w miejscu docelowym otrzymuje całe wklejenie, a każdy skopiowany kursor jako nowa linia.
Formatowanie podczas pisania
Naciśnięcie enter/return automatycznie wciśnie każdy kursor w nowej linii w stosunku do poprzedniej linii. Jeśli poprzednia linia zaczyna się od niekompletnego bloku, formatowanie spróbuje go dokończyć.
Ustawienia edytora
Wiele opcji dostosowywania jest dostępnych za pośrednictwem zakładki Edytor skryptów w Ustawieniach Studio. Często modyfikowane opcje obejmują:
| Opcja | Opis |
|---|---|
| Czcionka | Rodzaj czcionki i rozmiar dla kodu w edytorze. |
| Szerokość tabulacji | Liczba spacji reprezentujących wcięcie Tab. |
| Wcięcie przy użyciu spacji | Jeśli włączone, spacje równe Szerokości tabulacji są wstawiane przy naciśnięciu Tab. |
| Zawijanie tekstu | Jeśli włączone, dłuższe linie kodu zawijają się do następnej linii. |
| Preset kolorów Edytora skryptów | Preset kolorów dla elementów kodu, kolorów zaznaczenia i innych. Po wybraniu presetów możesz ustawić konkretne kolory dla opcji takich jak Kolor zaznaczenia i Kolor komentarza. |
Skróty klawiaturowe
Edytor skryptów ma następujące skróty klawiaturowe.
| Komenda | Windows | Mac |
|---|---|---|
| Zamknij skrypt | CtrlW | ⌘W |
| Otwórz ostatnio zamknięty skrypt | CtrlShiftT | ⌘ShiftT |
| Szybkie otwieranie | CtrlP | ⌘P |
| Pokaż skrypt w Eksploratorze | CtrlAltK | ⌘⌥K |
| Powiększ | Ctrl= | ⌘= |
| Pomniejsz | Ctrl- | ⌘- |
| Resetuj powiększenie skryptu | Ctrl0 | ⌘0 |
