JS Doc dla Feather (GMS 2022.2+)

Wtorek, 25 Stycznia 2022, 23:35
Czas czytania 2 minuty, 8 sekund
Zgodne z GM: gms2
Opis parametrów możliwych do użycia z JS Doc w Feather.
GMS 2 2022.2+ zawierać będzie nowy system podpowiadania składni, który uwzględniać ma np. zwracane typy zmiennych, czy podpowiadanie właściwości struktur i konstruktorów.

Czasem jednak takie zmienne trzeba będzie podowiedzieć, lub możemy też potrzebować je wymusić, dlatego wraz z postępami prac nad tą nowością w programie postaram się tutaj przygotować pełną listę przykładów jak tego użyć.

Na luty 2022 znamy taką listę parametrów:

kod// typy zmiennych:
Undefined
String
Real
Bool
Array
Pointer
Function
Struct // dla dowolnych struktur
Struct.CarType // dla konstruktorów, np. function CarType(name) constructor {}
Id // więcej info niżej
Resource
Constant
ArgumentIdentity
Mixed

Id jest specjalnym typem, który może posłużyć to tworzenia własnych typów, np. żeby dane zwrócone z jakiejś funkcji, bez względu na typ, mogły być użyte w innej funkcji, np. poniżej tworzymy typ Id.Wow:
kod/// @returns {Id.Wow}
function wow_create() {
static id = 0;
return id++;
}

/// @param {Id.Wow} _wow
/// @param {real} _value
function wow_amazing(_wow, _value) {
// ...
}

var _w = wow_create(); // zwrócona zostaje liczba (real), ale Feather uzna ten typ za Id.Wow
wow_amazing(_w, 15); // wszystko jest ok, bo pierwszy argument jest typu Id.Wow
wow_amazing(10, 15); // pojawi się błąd, gdyż real to nie Id.Wow

kod/// @desc Opis
// alternatywnie:
/// @description Opis

kod/// @param {typ} nazwa_zmiennej Opis
// Można też użyć: @paramter, @arg, @argument

kod// Do ignorowania i nie podpowiadania niektórych funkcji można użyć:
/// @ignore

kod// z kolei do funkcji, które chcemy wkrótce usunąć z gry, można użyć
/// @deprecated

kod// wymuszanie typu zmiennej, np. gdy wiemy, że inny obiekt/skrypt ustawi własnie taki typ
/// @context {FUNCTION_NAME lub OBJECT_NAME lub CTOR_FUNCTION_NAME}

kod// opisanie jaki typ zwraca funkcja, co pomoże ograniczać @context
/// @returns {type}

kod/**
* możliwe są też
* wieloliniowe opisy
* @param {string} name
* i dalszy opis!
* ...
*/

Ctrl+Q - pokazuje menu Quick Fix, które pozwala w niektórych przypadkach automatycznie poprawić kod. W pozostałych, pozwala np. na oznaczenie za pomocą specjalnego komentarza, że mamy ignorować jakiś błąd.

Ignorować Feather potrafi na dwa sposoby - cały kod (skrypt, event), lub tylko następujące po nim wyrażenie.

Cały kod ignoruje się poprzez dodanie:
kod// Feather disable GMXXXXlub wsystkie błędy poprzez:
kod// Feather disable allnatomiast jedno wyrażenie:
kod// Feather disable once GMXXXXgdzie GMXXXX to numer błedu, np. GM1001. Tak, ten komentarz używa dwóch zamiast trzech slashy, dla odróżnienia od JSDoc.
Komentarze (łącznie 0):
Nie ma jeszcze żadnego komentarza. Czas to zmienić

Najnowsze wersje GameMakera:

Stabilna
2024.13.1.193 • 2024.13.1.242
wydana 172 dni temu
LTS
2022.0.3.85 • 2022.0.3.99
wydana 307 dni temu
Beta
2024.1400.0.904 •
2024.1400.0.892
 0.17.0

wydana  4 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
36 użytkowników online na discordzie:
🧁Cupcake🧁, Grela, Alice, LeD, Carl-bot, Saus, Fox, Cosplyfanka, Wielki Druid, Seba ale czasami Zyragon, Alkapivo, GMRussell, fervi, Threef, LadyLush, HappyOrange, Arrekin, yazaa, Dyno, szmalu, sgames, Kandif, Danieo, bagno, antek, Tidżi, Mtax, MrTesterr, g..., Huder, s..., moeglich, Add92, Krzysiek1250, h..., Shockah
Shoutbox
gnysek (10:33, 06.10.25)
Może tak zrobię :D Jak znajdę czas :D
I am Lord (10:49, 01.10.25)
Tutaj powinna być na głównej jakaś wielka informacja o tym że na Discordzie teraz wszystko jest
Wojo (20:34, 17.07.25)
Discordy i Facebooki pogrzebały erę forów internetowych...
gnysek (10:36, 04.07.25)
Bo wszyscy piszą na discordzie :)
M
Modnar23 (20:08, 29.06.25)
Ja po 13 latach postanowiłem się zalogować i widzę, że straszne pustki na forum. Kiedyś to aż huczało na forum. :)
Chell (08:18, 26.06.25)
to masz krótką pamięć, bo od 2014 jakoś nie wiadomo ilu nowych userów nie przybyło :-D
p
pablo1517 (18:34, 16.06.25)
Ja w sumie żadnego z tych nicków nie kojarze poza Gnyskiem xD
gnysek (10:00, 16.06.25)
Odwiedzić starych dobrych znajomych.
S
Sutikku (01:48, 14.06.25)
nie wiem który to już rok, że ciągle mechanicznie wchodzę na gmclan, w sumie sam nie wiem po co
S
Sutikku (01:47, 14.06.25)
SIEMA! U mnie znośnie
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?