Preferences
This page details less-obvious items in Preferences.
This defines how auto-completion filtering works.
-
This is how things worked in legacy versions of GameMaker - if you typed
ds_
, you only get names that start withds_
. -
This is how auto-completion works in GameMaker Studio 2 - if you type
debug_
, you'll getdebug_
get_callstack, show_debug_
message, and so on. -
This is an auto-completion mode offered by GMEdit's code editor component (Ace.js).
It matches names that contain all letters from the input, and in order.
So,sdm
will matchs
how_d
ebug_m
essage andicl
matchesi
o_cl
ear. -
This is an auto-completion mode written specifically for GML's naming specifics.
It matches names that have each "section" (separated by_
or lowercase->UPPERCASE transitions) start with according letter of input.So,
sdm
will still matchs
how_d
ebug_m
essage, buticl
will get youi
nstance_c
reate_l
ayer.
You can also useSDM
orICL
if you prefer (it'll still be completed to the normal name).If this produces too many results, or you do not, in fact, remember the name of a thing, you can "clarify" section(s) by adding opposite-cased letters after the first one.
So, if you wanted to only getdevice_mouse_
functions but notds_map_
ones, you could writedmO
/DMo
(d*_mo*
) ordEm
/DeM
(de*_m*
).For convenience, this completion mode can also access full matches in global variables (
gsv
->global.someVar
).
GMEdit can make a backup copy of your code whenever you save a file.
Such backups are stored in #backups
subdirectory of the project and can be accessed through file manager or by right-clicking a file tab and picking "Backups".
This is not a substitute for version control, but a mechanism to prevent loss of short-term changes.
Specifics, in order:
- GMS1 is, unfortunately, eager to overwrite external changes on any occasion.
Essentially, when you open a resource in GMS1, it caches it in the memory, and may later decide to flush that to disk, overwriting any external changes. For this reason GMEdit will keep two backups of GMS1 files by default. - GMS2 is much better with external changes.
Ticking "Automatically reload changed files" in "File > Preferences > General Settings" will save you from pretty much all trouble. Still, you may find it desirable to have a backup just in case. - For custom modes (see: Nuclear Throne Together), there is very little that can go wrong, as no other software is writing into the file(s).
- Smart auto-completion
- JSDoc tags (incl. additional ones)
- @hint tag (mostly 2.3)
- `vals: $v1 $v2` (template strings)
- #args (pre-2.3 named arguments)
- ??= (for pre-GM2022 optional arguments)
- ?? ?. ?[ (pre-GM2022 null-conditional operators)
- #lambda (pre-2.3 function literals)
- => (2.3+ function shorthands)
- #import (namespaces and aliases)
- v:Type (local variable types)
- #mfunc (macros with arguments)
- #gmcr (coroutines)