YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
13 stars 5 forks source link

New Code Editor #3219

Open iampremo opened 11 months ago

iampremo commented 11 months ago

Complete reworking and architecting of the whole Code Editor within GameMaker.

Teaser Section

Multiple events in one place, plus adding, removing and editing events in one place.

Image

Markdown is now supported in Notes Editor.

Image

AToska21 commented 8 months ago

Would this be something close to GMEdit? That would be cool!

ahengine commented 8 months ago

Please add configuration to using vscode as ide and add new event functionality like unity and unreal (Awake, Update, OnTrigger)

iampremo commented 8 months ago

add new event functionality like unity and unreal (Awake, Update, OnTrigger)

Please add this as a feature request, events are not part of the code editor

AToska21 commented 7 months ago

Please add configuration to using vscode as ide and add new event functionality like unity and unreal (Awake, Update, OnTrigger)

Awake = Create Update = Step OnTrigger = Collision ig?

flashice2030 commented 6 months ago

how is it like?

offalynne commented 5 months ago

Is Notes Markdown intended to support linking? For example to header hashes, another Note, etc. If not already so, this would be appreciated for allowing navigation when eg. writing documentation.

michael-mcmullen commented 5 months ago

Can you ensure that we can add "events" by just typing them and not having to use a mouse? Eg:

#event step

or

#step

This is what gmedit allows

michael-mcmullen commented 5 months ago

Please also allow something like a "symbol" find for the current document. VSCode has a short cut in their palette @ which you can look for functions. This would be extremely helpful when jumping from the create event into the draw event, and vice versa

yerumaku commented 5 months ago

Can I expect to view and edit all the timeline moments in one tab?

yerumaku commented 5 months ago

I vote for quick transitions from Markdown to object events and struct methods.

@NameOfGMObject#step_normal

@NameOfStructCtor#method_name

And load info from Events/Functions JSDOC.

TheHumanistX commented 4 months ago

REALLY hoping you guys took all these suggestions into account and also are just bringing in the simple things like auto-closing brackets... being able to use Alt + Up or Down to shift lines of text around... SHIFT + ALT + Up or Down to duplicate line or section of code... things like that you see in so many other editors! :)

kt-altyn commented 4 months ago

could you also add SVG support in addition to PNG?

iampremo commented 4 months ago

SHIFT + ALT + Up or Down to duplicate line or section of code...

That's what Ctrl + D is for, which you can also rebind if you want ;)

michael-mcmullen commented 4 months ago

Technically CTRL + D should be used to find the next duplicate ;) Would be helpful if you had code and you highlighted a variable, and hit CTRL + D so that it takes you down to where that variable is found next in the file. (A-la VSCODE/JETBRAINS)

rwkay commented 4 months ago

Hmmm I would have used F3 to go to the next thing... never used CTRL+D for this myself...

XanthorXIII commented 4 months ago

Please add a section for variable definitions above create so we can do away with having to open and close a window for variable definitions all the time. Otherwise looks pretty good.

rwkay commented 4 months ago

Please add a section for variable definitions above create so we can do away with having to open and close a window for variable definitions all the time. Otherwise looks pretty good.

You can already use the Inspector to do this... that is the intended workflow

thennothinghappened commented 4 months ago

Can you ensure that we can add "events" by just typing them and not having to use a mouse? Eg:

#event step

or

#step

This is what gmedit allows

Seconding this, hoping the new editor to be completely functional by keyboard alone

thennothinghappened commented 4 months ago

I'd really like to see non-mouse-based multi-line selections

matrugdev commented 4 months ago

Not sure if this is the right place for this, but could there be a way to search for event types? For example search and show all objects with Draw Normal Events, or Step Begin Events.

ParodyKnaveBob commented 4 months ago

Those different levels of colored brackets look like a lovely QOL addition, ty.

ParodyKnaveBob commented 4 months ago

@rwkay:

Please add a section for variable definitions above create so we can do away with having to open and close a window for variable definitions all the time. Otherwise looks pretty good.

You can already use the Inspector to do this... that is the intended workflow

When selecting an object from the Asset Browser or Recent Windows, the Inspector shows it, yes. When selecting an object from sliding a Workspace around, the Inspector has no clue.

AvioxArcade commented 3 months ago

I'd really like to see non-mouse-based multi-line selections

Shift + Alt + Arrow keys.

That? or wdym by "multi-line selections"?

flashice2030 commented 3 months ago

when will release the next new IDEs?

---- Replied Message ---- | From | @.> | | Date | 02/09/2024 23:28 | | To | @.> | | Cc | @.>@.> | | Subject | Re: [YoYoGames/GameMaker-Bugs] New Code Editor (Issue #3219) |

I'd really like to see non-mouse-based multi-line selections

Shift + Alt + Arrow keys.

That? or wdym by "multi-line selections"?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

TheGitMagician commented 3 months ago

When selecting an object from the Asset Browser or Recent Windows, the Inspector shows it, yes. When selecting an object from sliding a Workspace around, the Inspector has no clue.

This really needs to be implemented - if not as standard then at least as an option. Right now, if you switch between objects via the Workspace or even different script tabs (in fullscreen script mode) the Inspector has no idea and always displays the Object that is selected in the Asset Browser.

8BitKing commented 3 months ago

while you people are at it could you please make it so pressing escape returns focus back to the text editor when in the search and replace dialog? grafik

I cannot find a way to return focus without use of my mouse

thennothinghappened commented 2 months ago

Please add a section for variable definitions above create so we can do away with having to open and close a window for variable definitions all the time. Otherwise looks pretty good.

GMEdit has something similar to this in a sense that I think would be a really nice way to interact with variable definitions:

image

Above Create there's another code block which is essentially a "stricter" block that you can only make assignments in the form variable = value;. Representing variable definitions this way would be really, really nice, especially in the theme of moving more functionality to the code editor away from workspaces!

The inspector is alright but it tends to feel a bit cramped, and the fact that variable definitions are a distinctly different section than writing regular code disrupts the flow of things a bit.

thennothinghappened commented 2 months ago

Also like to reiterate that I'd really like to see a fully keyboard-driven workflow supported - just like GMEdit's system of creating new events via #event <event name> seamlessly creates a new block, which is very friendly if you like going all in on keyboard.

image
ILP17 commented 2 months ago

Please add a section for variable definitions above create so we can do away with having to open and close a window for variable definitions all the time. Otherwise looks pretty good.

GMEdit has something similar to this in a sense that I think would be a really nice way to interact with variable definitions: image

Above Create there's another code block which is essentially a "stricter" block that you can only make assignments in the form variable = value;. Representing variable definitions this way would be really, really nice, especially in the theme of moving more functionality to the code editor away from workspaces!

The inspector is alright but it tends to feel a bit cramped, and the fact that variable definitions are a distinctly different section than writing regular code disrupts the flow of things a bit.

Honestly, I'd love to have a code editor section for variable definitions. I don't like having to switch between windows so much.

JustMegaAlex commented 2 weeks ago

Yeah, basically bringing all beloved features from popular programming IDEs like VSCode. That would be a blast (I'm currently using VSCode a lot but it's not super convenient to constantly switch between GM and VSCode)

oldtimerza commented 1 week ago

EDIT: BIG EDIT!!!!! Opening new code editors for objects breaks the keyboard again, going into preferences and toggling and applying the code editor 2 enabled toggle fixes it again. But this needs to be done every time a new code editor is opened. It's almost as if each new code editor window is broken from the start and needs to have the Enabled flag retriggered to begin working.

Love the look and feel of the new Code editor.

Typing in general works fine,. Game maker shortcutes(like ctrl+f) work fine. Right-click selection cut, paste, copy works fine.

However one issue is making it impossible to use, backspace, enter and delete keys(or windows shortcuts ctrl+z, ctrl+x, ctrl+c) on laptop keyboard doesn't work in the code editor.

I press the key and nothing happens. I've checked the "Redefine keys" preference menu and the keys are all correct binding.

Game maker Beta IDE version: 2024.400.0.556

Windows 11 operating system.

hasnogame commented 1 week ago

@oldtimerza I would recommend downgrading to Beta IDE 2024.400.0.543 until a new beta is released. I believe the April betas are now considered closed due to the release of 2024.4.

It seems this issue was introduced in Beta IDE 2024.400.0.549 as the last version without this issue is Beta IDE 2024.400.0.543.

oldtimerza commented 1 week ago

Thank you @hasnogame . Will give that a try :)

hasnogame commented 1 week ago

@oldtimerza Happy to let you know the new June beta released today does not have this issue either. :D

oldtimerza commented 1 week ago

Speak about timing. That's fantastic!