Devlogs
Multiline tabs and a whole lot of types!
GMEditA downloadable tool for Windows, macOS, and Linux
Additions
- I added a whole lot of options for tabs!
You can now have tabs split across multiple lines, have them match the label width, and more - check Preferences ➜ Navigation ➜ Tabs for new settings.
You can also pin/unpin tabs by Ctrl+clicking them - this prevents them from being closed via “close all but this” shortcut and will put them at the beginning of tab list.
- Outline View now has more display options
Among other things, this allows using it as a vertical tab list.
Improvements
- Object editor now displays overridden properties.
aceEditor.debugShowToken()
now toggles debug display if called again, shows more information, and looks better than before.
- When navigating to a function name that matches its script name, GMEdit won’t try to scroll down to the function declaration inside.
(base IDE shows separate lookup items for functions/scripts, which is a little nasty)
- You can now include a note after the type in
/// @is
and this will be shown in auto-completion.
- You can now create Notes in 2.3 projects, which is also good because Script and Shader creation menu items were too close together.
- You can now cancel resource creation by pressing Esc when entering the name.
Types
- Added @typedef JSDoc comment!
This allows to specify project-wide type aliases.
- Added support for tuples!
This means that if you are turning an array with different-typed values, you can specify what each cell holds.
- Added support for
specified_map
, a ds_map
with known key-value pair types.
This also means that GMEdit can now check access to async_load
- Added an option to disable implicit int<->bool casts.
- Doing
arr[i,k]
now reasonably implies that arr
is a Type[][]
rather than just Type[]
.
- Index-based built-in types (surfaces, data structures, etc.) now accept
-1
very specifically as an allowed value.
- Object/constructor type inference will now auto-type variables when assigned assets (
spr = spr_some
types as sprite
) and also supports spr = -1 as sprite
(or spr = func() as sprite
) for convenience.
- Added an option to warn about redundant casts (like doing
4 as int
).
@param
types now auto-apply to 2.3 named arguments and argument#
/argument[]
so that you don’t have specify types in both places.
- Added an option to index non-top-level variables in Create events.
This can be handy for configuration-specific logic that’s usually in if
-blocks.
Fixes
- Fixed status bar being able to make the code editor view wider than intended.
I think this is the third time I’m fixing this specific bug since styling is complex.
- Fixed a few built-in functions having incorrect return values as far as linter is concerned.
- Lone
$
no longer highlights in numeric value color.
- Fixed tabs continuing to show the “changes” marker when saving in Show Aside view.
- Fixed multi-select object properties denying to save.
- Fixed
#import
not working for importing items into “built-in” (int
, array
, etc.) types.
- Fixed multiple code editors having blinking cursors if focusing-unfocusing the editor in specific ways.
- Fixed 2.3 timeline moments being saved in 2.2 format.
- Fixed nested
with
recovering self
type incorrectly.
- Fixed a few timing-specific issues with GMLive.js
Files
GMEdit-Beta-Windows.zip 125 MB
Version Aug 23, 2021
GMEdit-Beta-Mac.zip 113 MB
Version Aug 23, 2021
GMEdit-Beta-Linux.zip 116 MB
Version Aug 23, 2021
GMEdit-Beta-App-Only.zip 4.3 MB
Version Aug 23, 2021