[beta] Types! RGB hex colors! And more!


  • Types!
    GMEdit can now perform advanced type checks for built-in and user-defined functions.
    Built-in functions and variables are handled largely automatically (thanks to Anton’s work) and user-defined scripts and variables can be tagged using the new JSDoc tags
  • Even smarter auto-completion
    Provided that expression types are known, GMEdit can now show you contextual auto-completion for arbitrarily complex expressions, meaning that typing instance_nearest(x, y, obj_enemy).weapon. can bring up variables from obj_weapon if the weapon variable was tagged using @is.
  • Added #RrGgBb hexadecimal literals, allowing to paste colors from external editors easily (instead of converting them to BGR first).

Read more about smart auto-completion and types on the wiki.
These two features alone add up to weeks of work total and make for the largest GMEdit update to date.


  • Added “Show Extension API” support for GMS2.3
  • #mark inside //#mark now highlights in #region color
  • Added Room Creation Code editing for GMS2.3
  • Trying to navigate to a GMS2.3 function definition now opens search in the manual
  • Improved startup times and fixed a mystery hang when opening additional instances of GMEdit
    (the issue was caused by this Electron bug)
  • Added a “New IDE” menu item that opens additional editors under the same process.
    If you have limited memory and need a handful of editors open, this saves memory.
  • GMEdit now shows your Asset Browser colors (read: treeview directory backgrounds) from the current GMS2.3 user when available.
  • /// @hint syntax highlighting is now slightly smarter.
  • Added a “default filter” checkbox to lookup window (Ctrl+T).
    If you find yourself only ever opening scripts/objects from the menu, this is for you.
  • Resource creation and renaming are now done inline, thanks to Anton
  • Collapsing a //{ comment-block now keeps the label visible.
  • Outline View now shows Preferences/Project Properties menu sections.
  • You can now annotate argument and return types in GMS2.3 functions using arg:Type and function()->Type accordingly.
  • Linter now has an experimental “live update” mode that can re-run it while the code is being typed to automatically pick up newly added variables and their types.
    Can be enabled globally or on per-project basis.


  • Fixed ^^ operator not being recognized by the linter.
    I figure that most people don’t even know that GML has a ^^ operator.
  • Fixed /// @func name() assuming that a function takes 1 argument.
    (note: as per GMS2 behaviour, @func adds global auto-completion entries and should be avoided where possible)
  • Fixed post-expression field rule matching (like fn().field) in highlighter not using the intended field token type.
  • Fixed ??= operator checkbox using #lambda checkbox value for initial state.


  • aceEditor.debugShowToken() now looks much nicer and has a little highlight frame.
    I’m yet to figure out why mouse->document cursor conversion is sometimes off by a character.
  • Reorganized a handful of wiki pages to reflect new changes and generally be nicer.
  • Finally gotten around to updating itch.io page screenshots to reflect the current design and features.
    (taking representative screenshots is harder than one might think)

Minifix (Feb 5)

  • Fixed /// @is {type} breaking syntax highlighter very specifically if used 3+ times in a row and with rainbow brackets enabled.
  • #import in GMS2.3 scripts now applies to the entire script rather than a single top-level function.
  • #import now supports remapping types in JSDoc
  • Fixed a combination of /// @hint Namespace.staticVar and #import resulting in incorrectly detected types in linter.
  • Fixed GMS2.3 shaders sometimes not opening.


GMEdit-Beta-Windows.zip 90 MB
Version Jan 31, 2021 Jan 31, 2021
GMEdit-Beta-Mac.zip 82 MB
Version Jan 31, 2021 Jan 31, 2021
GMEdit-Beta-Linux.zip 84 MB
Version Jan 31, 2021 Jan 31, 2021
GMEdit-Beta-App-Only.zip 3 MB
Version Jan 31, 2021 Jan 31, 2021

Get GMEdit

Download NowName your own price


Log in with itch.io to leave a comment.

Thanks! :D Best app ever.