[beta] "Copy into New Window" and other novelties


First, thanks to thennothinghappened’s efforts, GMEdit now runs on Electron 33.2.
This brings minor performance improvements and hopefully doesn’t bring any oddities.

If all is well, this version will be promoted to stable shortly.

Novelties

  • Added “Copy into New Window” to code editor context menu.
    This is an alternative to Show Aside that pops a copy of a code editor into its own little window.
  • You can now do globalvar name = value and it’ll turn into globalvar name; name = value; in the saved file.
  • You can now change GM2022+ room order inside GMEdit!

Novelties, vintage edition

  • Non-“apply to self” actions are now somewhat supported for GameMaker: Studio and older.
  • Added partial support for GM8.2 (community mod for GM8.1 IDE) folder-based project format.
  • Added a few syntax extensions for GM8.x. These can make editing an old project just a little more tolerable.

Improvements

  • API entries are now updated to 2024.11
  • Preferences and similar non-code windows now keep their scroll position when switching tabs (thanks to thennothinghappened)
  • GMEdit will now pick up custom API entries from subdirectories in appdata /api/ directory (thanks to KeeVeeGames).
    This is used to make GMEdit recognize console-specific fnames files.
  • Mouse text selection is now smoother (thanks to thennothinghappened)
  • You can now zoom window with ctrl-plus / ctrl-minus (thanks to thennothinghappened)
  • Godot theme is no longer included in AppOnly builds because that web font takes up half of the ZIP.
  • Outline view now shows multi-level markdown headers in a nested way
  • Themes can now define maxBracketDepth for cycling rainbow bracket depth

Fixes

  • managed field is now always set on objects because GM sure doesn’t like it when it thinks that it should have been there but it isn’t
  • Fixed Object Information not showing right for objects with null-parent
  • Fixed object sub-fields not being in order that LTS outputs (causing larger YY diffs than necessary)
  • Outline View now updates titles on rename (thanks to thennothinghappened)

Linter/API:

  • A few API fixes by KeeVeeGames
  • You can now cast T to any_fields_of<T> (thanks to KeeVeeGames)
  • Fixed constructor contents not being linted with constructor’s type as self

Plugin changes

  • Thanks to thennothinghappened’s efforts, you can now enable/disable plugins from GMEdit!
    This also updates how the plugins are loaded and how their dependencies work.
  • Plugins can now define buildPreferences and buildProjectProperties methods to better work with above.
  • There’s now a fileRename event for when a tab gets renamed.
  • If a project finishes loading before plugins do, a projectOpen event is now dispatched after loading the plugins.
    If you previously called your event listener in init(), you’ll want to do
    if ($gmedit["plugins.PluginManager"].dispatchProjectOpenOnReady === undefined) {
      yourFunc();
    }
    
    so that it works across both old and new GMEdit versions.
  • You can now unregister file types on cleanup if youre plugin registers any

Lightly breaking changes

Linter:

  • Gamepad axis constants are now a gamepad_axis type for consistency with Feather using separate types for buttons/axes.
  • asset_get_ids now returns a generic array instead of array<asset> that you’d have to cast.

Files

GMEdit-Beta-Windows.zip 125 MB
Version Mar 25, 2025 2 days ago
GMEdit-Beta-Windows-32bit.zip 117 MB
Version Mar 25, 2025 2 days ago
GMEdit-Beta-Mac.zip 113 MB
Version Mar 25, 2025 2 days ago
GMEdit-Beta-Mac-ARM64.zip 109 MB
Version Mar 25, 2025 2 days ago
GMEdit-Beta-Linux.zip 116 MB
Version Mar 25, 2025 2 days ago
GMEdit-Beta-App-Only.zip 4.3 MB
Version Mar 25, 2025 2 days ago

Get GMEdit

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.