[beta] Font/sound editors and type system improvements!
GMEdit » Devlog
Additions
- You can now create and edit GMS2.3 fonts! (thanks to Anton)
- You can now create and edit GMS2.3 audio assets! (also thanks to Anton)
- I added an option for implicit type detection for simple instance variables!
Located in Linter settings; when enabled, GMEdit will automatically assign types for variable assignments such asv = 0
,v = ""
,v = buffer_create(...)
and alike. This feature isn’t very smart (e.g. no support for script calls or complex expressions), but still can save you from having to type/// @is {type}
in a handful of places.
Improvements
- Dark theme now looks a little nicer, especially various checkboxes (thanks to Anton)
- Rearranged the Preferences menu a little based on what you are more likely to change often
#import
remapping now works for{types}
inside JSDoc comments- Extending/implementing
object
orinstance
built-in types will now inherit built-in auto-completion and syntax highlighting items. - self-fields are now syntax-highlighted (e.g. will show missing variables) so long as the function/event does not contain
with
-blocks. - Anonymous structure literals (
{...}
) can now be cast to namespaces that they “implement” all fields of. - I rewrote how syntax highlighting for
@hint
works, which now reflects the various degrees of madness that you can do with it. - If methods are not given an explicit field type, they will now be typed as
function<>
, which will spare you of some cases with forgetting parentheses aftera = func
. - Rainbow brackets no longer have a limit on max “depth” - so long as your theme supports them.
The work involved with doing so also opens up opportunities in making highlighter a little smarter in future. - Added a warning if file save operation fails (e.g. the file is read-only).
- Tooltips now show more information when mouseovering variables and I fixed some cases where the tooltip would tell you what the object is rather than what the variable is.
- Checks involving
is_undefined(arg)
will now mark 2.3 function arguments as optional.
Fixes
- Fixed linter incorrectly parsing
struct[$ key]
- Fixed rainbow bracket flag for themes not being set on startup.
- Fixed inconsistencies with return types for some built-in functions
- Fixed incorrect linter types for
Fixed incorrect linter types for
/// @hint {type} namespace_ImpStatic.inst` combined with #import - Fixed 2.2 GUID being technically off-spec (no visible effect).
- Fixed 2.3 shaders not opening given specific settings.
- Fixed a very specific case with syntax highlighting breaking on 3+ consecutive
/// @is {type}
lines - Fixed live linter forgetting about variables in
#event properties
- Fixed
function name
inside object events changing scope and causing warnings. - Fixed
@interface
clashing with@hint X extends Y
- Fixed
with
blocks not changing context correctly for linter type checks. - Fixed local variables without type information being detected as missing fields sometimes.
- Fixed
static func = function()->type
not adding type to function signature. - Fixed type constraints not being allowed in some cases.
- Fixed auto-completion hints showing the “raw” type sometimes.
- Fixed
:
not bringing up type auto-completion when after afunction(
. - Fixed context menu copy-paste not working on Mac OS.
- Fixed
function<>
not being allowed in some type specifications. - Fixed a few spots where you could cast
function<>
tofunction<>
with incompatible arguments. - Fixed hint type information not being removed when hints get cleared.
(meaning that you couldn’t “un-type” a field without hitting Ctrl+R) - Fixed a rare softlock with outline-view involving unusually-formatted code.
- Fixed detection of
#import
preprocessor when a script only usesfunction()->
and nothing else of typed syntax. - Fixed local variable type inference mistaking
globalvar
s for local variable declarations. - Fixed instance variables with names matching those of built-in “types” not being added to instance’s variable list.
- Fixed it being possible to lose
@implements
information when reloading a project. field:
s inside struct literals{...}
can no longer show up as “missing”, though ultimately this is a complex issue to tackle due to syntax overlap (field:
vscase val:
vsa?b:c
vsvar a:type
).- Fixed warning line highlights not moving along when adding/removing code before them (#124).
- Fixed use of
argument
inside constructor methods marking constructor as having optional arguments (#127). - Fixed some cases where tooltips/status bar could not display information about very specific variable names.
- Fixed linter not handling types in
#args
in “live” mode. - Fixed #90 -
#args
JSDoc generator shouldn’t insert spaces around=
- Using the “New IDE” button no longer causes the new window to auto-load the original project when assigning GMEdit as “open with” application.
- Fixed GMLive.js not doing anything when running code without any tabs (that is, with code in default tab).
It is entirely possible that I forgot something because there are too many changes.
Hotfix (Mar 01)
- Fixed
global.varname.
not bringing up auto-completion. - Fixed type information in auto-completion info continuing to stack in some cases.
- Fixed
@is
and@implements
not working in files with Unix endings. - Fixed snippets overriding other auto-completion items.
Files
GMEdit-Beta-Windows.zip 98 MB
Version Feb 26, 2021 Feb 26, 2021
GMEdit-Beta-Mac.zip 90 MB
Version Feb 26, 2021 Feb 26, 2021
GMEdit-Beta-Linux.zip 92 MB
Version Feb 26, 2021 Feb 26, 2021
GMEdit-Beta-App-Only.zip 11 MB
Version Feb 26, 2021 Feb 26, 2021
Get GMEdit
Download NowName your own price
GMEdit
A high-end code editor for all things GameMaker
Status | Released |
Category | Tool |
Author | YellowAfterlife |
Tags | GameMaker |
More posts
- [beta, stable] Small things and fixes15 days ago
- [stable, beta] Some fixesMay 25, 2024
- [stable, beta] "Navigate to method" and various tweaksMay 10, 2024
- [stable, beta] A few things and GM updatesFeb 26, 2024
- [stable, beta] Small fixes and Return Of CoroutinesSep 06, 2023
- [stable, beta] GM2023.4 and multi-level tabsJun 08, 2023
- [stable, beta] GM2023.1 support and small thingsMar 12, 2023
- [stable, beta] GM updatesDec 24, 2022
- [stable, beta] Arrow functions and various improvementsOct 19, 2022
- [beta] Arrow functions!Jun 10, 2022
Comments
Log in with itch.io to leave a comment.
fantastic,until you don't need to open gms2 ide
I'm seeing these asset editing tools like the sound/font viewer and you're really starting to win me over.
Thank you!
Using it and already noticing the vast improvements. Thanks for the continual updates!