Yesterday ROBLOX published a blog post about some improvements they made to Team Create. One of the improvements was to breakpoints. In the knowledge that breakpoints are still supported, I’d like to make a couple of improvement requests for them:
Issue 1:
Breakpoints on lines without code are skipped over as if they don’t even exist. This is fine, but this behavior isn’t communicated to the user whatsoever. I spent a couple minutes finding out why one specific breakpoint kept getting ignored. A potential solution is to grey out the breakpoint when it’s on an empty line, and on mouseover say “No code on line”
Issue 2:
When I hit a breakpoint, none of the appropriate widgets are focused. I have the Breakpoints, Call Stack, and Watch all tucked away with other widgets, and this makes them a pain to get to. These widgets should be automatically focused when a breakpoint is hit. Here’s what I mean by tucked away:
Issue 3:
There’s no way to step in/out/over breakpoints without using the ribbon’s script menu or by adding the buttons to the quick access menu. These controls should be added to the Breakpoints widget, which they currently aren’t in:
Issue 4:
Watch only tracks values for the current script. If I require a modulescript, all of the variables I’m watching in the requiring script get nilled out in the Watch menu. You might say that only tracking variables in the current script makes it easier to manage, but these variables get nilled out – not hidden, so it’s not making it easier to look at. Either hide variables if they’re not in the current script, or if you’re going to leave them in the list, keep their entries populated.
Issue 5:
Watch only tracks manually tracked variables. When I’m developing a project for Data Structures in Eclipse, I put a breakpoint and bam all of the variables in my program that are loaded into memory are automatically displayed in the Watch. It’s tedious to manually track each variable I want to observe and then untrack it afterwards. It’d be great if this all happened automatically. If there’s concern for there being too many variables, manually watched variables can be displayed at the top, but in most cases that won’t be necessary and it’ll work just fine.
Issue 6:
Watch can’t handle tables reliably. If a table is mixed (e.g. it has an integer index and also a string index), only the integer indices are displayed. If something weird gets into the table as a key like a function, the whole thing breaks and you can’t even see the contents of the table. Given that Watch is specifically for monitoring the state of my variables, using it to figure out when my tables go wonky is kind of something I’d want to do with it – Watch should be updated so that it can display any type of key in arrays and also be able to handle mixed tables.
Issue 7:
I can’t use breakpoints for plugin development. Really I can’t do anything with plugin development because Roblox doesn’t support it at all.