YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

Option to strictly delegate one workspace for each object #3000

Open Vine2D opened 1 year ago

Vine2D commented 1 year ago

Is your feature request related to a problem?

I primarily use GMS2 with a fullscreen script editor, and I have checked all the preferences that open all their events in a new tab/workspace/etc. However, it seems inevitable that these workspaces get cluttered by scripts unrelated to the object you were originally working on. This leads to scenarios in which you have 35+ workspaces, all with dozens of tabs of events and scripts from different objects, creating an impossible to navigate tab hierarchy, especially since the workspaces and tabs have undescriptive titles.

Describe the solution you'd like

I'd love if I could double-click an object in the Asset Browser and a new workspace is created for that object, named after the object, with all of it's events opened as a new tab in that workspace, assuming there is not a workspace with that object's name already. Additionally, if objects, events, or scripts are opened with an object-delegated workspace in focus, they are instead created in their own respective workspace, or added as a tab in a Scripts workspace if it is a standalone script.

Describe alternatives you've considered

Imaginably more difficult than the previous solution, but some sort of system in which the user could define filters or intended use for specific workspaces so they could adopt behavior that could be defined by the user. ie: Defining a Scripts Workspace type, in which you define as the target for newly opened standalone scripts to open up in. ie2: When opening an object, the newly created workspace recognizes it's an Object Workspace type, and will only allow events from that specific object to be tabs inside of it.

You could perhaps right click a workspace tab and customize a filter as another solution.

Additional context

No response

Vine2D commented 1 year ago

Had an idea after making this post that could mostly solve this and might be easier to implement:

Describe alternatives you've considered

When right-clicking a workspace tab, add a "lock workspace" menu item to that menu, and prevent locked workspaces from having new tabs added to them.