Edytor skryptów w Studio jest podstawowym 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ć na swoich doświadczeniach. Może poprawić Twoje doświadczenie skryptowe poprzez:
- Formatowanie i podświetlanie składni w Twoim kodzie.
- Oferowanie sposobów na autouzupełnianie fraz w Twoim kodzie podczas pisania.
- Pomoc w nawigacji po kodzie poprzez przeskakiwanie do deklaracji zmiennych i funkcji.
- Pomoc w wyszukiwaniu i zastępowaniu 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 rodzaje skryptów i otwiera się automatycznie, gdy tworzysz nowy skrypt lub dwukrotnie klikasz istniejący skrypt w oknie Eksploratora.
Opcje autouzupełniania
Funkcje autouzupełniania w Edytorze skryptów generują informacje związane z kodem, które mogą poprawić Twoją efektywność programowania, takie jak:
Sugestie kontekstowe dotyczące tego, jak kończyć frazy podczas ich pisania, które są kontekstowe w stosunku do modelu danych doświadczenia. Na przykład, jeśli masz Model w Workspace nazwane RocketShip, funkcja autouzupełniania zasugeruje RocketShip, gdy wpiszesz workspace.roc i wskaźnik będzie wskazywał, że to Model.

Autouzupełnianie nazw dla zmiennych i funkcji, które deklarujesz, co pomaga uniknąć uciążliwych literówek.

Podpowiedzi dokumentacyjne z przykładami kodu, które są podobne do tych w Referencji API silnika, dając kontekst dotyczący użycia API.

Podpowiedzi najeżdżające z możliwością dostosowania ich własną dokumentacją.

Diagnostyka analizy skryptów najeżdżając z informacjami, które możesz wykorzystać do rozwiązywania błędów.

Sygnatury funkcji po wpisaniu argumentu, co daje Ci odniesienie do jego parametrów i wartości zwracanych.

Nawigacja po kodzie
Przejdź do deklaracji
Możesz przeskoczyć do deklaracji funkcji lub zmiennej, przytrzymując Ctrl na Windows lub ⌘ na Mac podczas klikania wywołania, lub klikając prawym przyciskiem myszy jego wywołanie i wybierają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. Z otwartą listą możesz przeglądać sygnatury dla każdej funkcji, filtrować je według nazwy i dwukrotnie kliknąć jedną, aby przejść do jej deklaracji.

Wyszukiwanie i zastępowanie
Widżet Znajdź/Zastąp pozwala Ci znaleźć i zastąpić kod w otwartym skrypcie. Widżet obsługuje wyrażenia uwzględniające wielkość liter, dopasowywanie pełnego słowa oraz wyszukiwanie przy użyciu wyrażeń regularnych. Aby go otworzyć, naciśnij CtrlF na Windows lub ⌘F na Mac.

Informacja zwrotna w czasie rzeczywistym
Analiza skryptu
Okno Analiza skryptu, dostępne poprzez przycisk Analiza w pasku narzędzi Skrypt w Studio, przeprowadza 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ę weryfikacji Luau.


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

Asystent kodu
Asystent kodu to funkcja, która sugeruje wiersze lub funkcje kodu podczas pisania, pomagając Ci kodować bardziej efektywnie i skupiać się. Na podstawie kontekstów z Twojego komentarza i kodu, sugestie będą wywoływane na dwa sposoby:
- Automatycznie, gdy zatrzymasz się na linii na kilka sekund, a model AI ma wystarczający kontekst do sugestii.
- Ręcznie za pomocą skrótu Alt∖ na Windows lub ⌥∖ na Mac.
Naciśnij Tab, aby zaakceptować sugestię, lub ją zignoruj, pisząc dalej. Obecnie Twój skrypt musi zawierać przynajmniej kilka linii kodu, aby uruchomić sugestię.
Poprawianie sugestii
Aby uzyskać dokładniejsze i bardziej trafne sugestie, zaleca się przestrzeganie dobrych praktyk pisania czystego kodu, niezależnie od pomocnictwa, oraz:
- Rozdzielanie swojego kodu na mniejsze funkcje.
- Używanie opisowych nazw skryptów, które uchwycą ogólny zamysł tego, co robi każdy skrypt. Na przykład, nazwij skrypt SyncCustomSounds zamiast po prostu Sounds.
- Nadawanie opisowych nazw parametrom, funkcjom i skryptom. Na przykład, nazwij część GreenSphere zamiast po prostu grs, lub nazwij funkcję generateSphere() zamiast gen(). Używanie nazwanych funkcji zamiast funkcji anonimowych może również prowadzić do lepszych wskazówek.
- Konsekwentne umieszczanie dobrze napisanych komentarzy, które opisują zadanie, które realizujesz, oraz jakie powinny być dane wejściowe/wyjściowe.
- Rozważ dołączenie 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 skrypterem, zacznij od podstawowych projektów, takich jak "czynić gracza skaczącym, gdy dotknie części" lub użyj narzędzia do generowania małych fragmentów kodu, które możesz rozszerzyć w miarę wzrostu wiedzy.
Ograniczenia
Narzędzie pomaga zautomatyzować podstawowe zadania związane z kodowaniem, ale nie zawsze sugeruje idealny kod. Znane ograniczenia obejmują:
- Ręczne wywołanie nie zawsze wymusza wygenerowanie sugestii.
- Sugestie są uczeniem maszynowym z korpusu kodu i mogą zatem odzwierciedlać pewne ograniczenia kodu, na którym są trenowane. Na przykład, sugestie mogą nie używać nowszych API na korzyść starszych API, lub mogą używać Lua zamiast Luau.
- Narzędzie może generować niepoprawne lub mylącą informacje, które nie są przydatne w Twoim celu.
- Wewnętrzne filtry próbują blokować obraźliwy język, ale nie są wszechstronne 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.
- Sugestie mogą być niekompletne z powodu ograniczonej długości wyjścia z modeli uczenia.
- Istnieje codzienny limit liczby sugestii i, po osiągnięciu limitu, nie otrzymasz żadnych sugestii do następnego dnia.
Prywatność kodu
Obecnie Roblox nie wykorzystuje żadnych danych publicznych do trenowania modeli uczonych. Narzędzie wykorzystuje tylko mały zestaw zasobów z wolnego rynku do dostosowania dużych modeli językowych, a zestaw przeszedł różne kontrole pod kątem jakości i filtrów bezpieczeństwa.
Co więcej, wszystkie sugestie są generowane przez model AI i nie przenoszą się z jednego użytkownika na drugiego. Ponieważ Twój kod nie jest używany do trenowania modeli, nie zostanie zasugerowany innym użytkownikom Asystenta kodu, z jednym wyjątkiem kodu publikowanego w przedmiotach na wolnym rynku.
Edytowanie z wielu kursorów
Edytor skryptów obsługuje użycie wielu kursorów, aby wprowadzać zmiany jednocześnie. Możesz dodawać kursory według swoich potrzeb za pomocą kliknięcia myszką lub skrótu klawiszowego. Początkowy kursor nazywa się kursorem głównym, a dodatkowe kursory nazywają się kursory pomocnicze.
- Zmiany, które wprowadzasz na kursorem głównym, są kopiowane na kursory pomocnicze. Każda zmiana liczy się jako jedna akcja, więc cofnięcie/przywrócenie zmiany dotyczy wszystkich kursorów.
- Widgety takie jak autouzupełnianie pojawiają się na kursorku głównym, ale nie na kursorkach pomocniczych.
- Wszystkie standardowe skróty klawiszowe do edytowania skryptów działają w edytowaniu z wieloma kursorami, w tym wcięcia kodu, przełączanie komentarzy i usuwanie linii.
Poniższa tabela podsumowuje przepływy robocze edytowania z wieloma kursorami i ich skróty.
| Komenda | Windows | Mac |
|---|---|---|
| Dodaj/usuń kursor w lokalizacji myszki | Alt + klik | ⌥ + klik |
| Usuń ostatnio dodany kursor | CtrlU | ⌘U |
| Dodaj/modyfikuj kursor podczas przeciągania myszką | 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 kolumn/klocków | 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 klawiszowych 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 myszki
Aby dodać kursor w miejscu wskaźnika myszki:
Przytrzymaj Alt na Windows lub ⌥ na Mac.
Kliknij, gdzie chcesz dodać kursor.
Z przeciąganiem myszką
Możesz przeciągnąć myszkę, aby dodać kursor do zaznaczenia, podzielić wieloliniowe zaznaczenie na linie, lub zaznaczyć kolumny i bloki kodu/znaków białych.
Aby dodać kursor do zaznaczenia kodu przez przeciąganie:
Przytrzymaj Alt na Windows lub ⌥ na Mac.
Kliknij i przeciągnij myszką wzdłuż zaznaczenia kodu.
Powyżej i poniżej kursora głównego
Aby dodać kursor bezpośrednio powyżej lub poniżej kursora głównego:
Naciśnij i przytrzymaj CtrlAlt na Windows lub ⌘⌥ na Mac.
Naciśnij klawisze strzałek ↑ lub ↓.
Do dopasowanych zaznaczeń
Możesz dodać kursory do wszystkich dopasowań zaznaczenia lub do następnego/poprzedniego dopasowania, a opcjonalnie przełączyć, czy dopasowania mają być rozróżniane na podstawie wielkości liter czy też muszą odpowiadać całemu słowu.
Aby dodać kursor do wszystkich dopasowań wybranego fragmentu:
Zaznacz kod, który chcesz przeszukać w poszukiwaniu dopasowań.
Naciśnij ShiftAltL na Windows lub Shift⌥L na Mac.
Usuwanie kursorów
Możesz usuwać kursory za pomocą następujących skrótów klawiszowych i ruchów myszą. Alternatywnie, możesz wyjść z edytowania z wieloma kursorami, naciskając Esc.
W lokalizacji myszki
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 również kursory w jego wnętrzu. 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, to każdy skopiowany kursor wkleja się do każdego odpowiadającego kursoru docelowego.
- Jeśli liczba kursorów jest różna, to każdy kursor w miejscu docelowym otrzymuje całe wklejenie, a każdy skopiowany kursor położony jest w nowej linii.
Formatowanie podczas pisania
Naciśnięcie enter/return automatycznie wciśnie każdy kursor w nowej linii w odniesieniu do poprzedniej linii. Jeśli poprzednia linia zaczyna się od niekompletnego bloku, formatter spróbuje go zakończyć.
Ustawienia edytora
Wiele opcji dostosowywania jest dostępnych przez zakładkę Edytor skryptów w Ustawieniach Studio. Często modyfikowane opcje obejmują:
| Opcja | Opis |
|---|---|
| Czcionka | Rodzaj i rozmiar czcionki dla kodu w edytorze. |
| Szerokość zakładki | Liczba spacji reprezentujących wcięcie Tab. |
| Wcięcie używając spacji | Jeśli włączone, spacje równe Szerokości zakładki są wstawiane przy naciśnięciu Tab. |
| Zawijanie tekstu | Jeśli włączone, dłuższe linie kodu zawijają się do następnej linii. |
| Zestaw kolorów Edytora skryptów | Zestaw kolorów dla elementów kodu, kolorów zaznaczenia i innych. Po wybraniu zestawu, możesz ustawić konkretne kolory dla opcji takich jak Kolor zaznaczenia i Kolor komentarza. |
Skróty klawiszowe
Edytor skryptów ma następujące skróty klawiszowe.
| Komenda | Windows | Mac |
|---|---|---|
| Zamknij skrypt | CtrlW | ⌘W |
| Ponownie 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 |