Releases: tts-community/moonsharp-tts-debug
v2.0.0.0-tts.8
- Added support for conditional breakpoints.
- Added support for delayed stack trace loading.
- Fixed issues with Unity's ToString() throwing an exception that broke the debugger's ability to fetch variables.
- Fixed support for expression evaluation when debugging a coroutine i.e. mouse-over inspections now function much more reliably.
- Fixed issue with MoonSharp breaking at the same breakpoint after continuing, but not informing VSCode that execution has paused.
Installation
VSCode Extension
Download moonsharp-debug-1.8.2.vsix
. Launch VSCode and navigate to Settings -> Extensions.
Don't search; you won't find this extension in the VSCode marketplace. Instead, click the 3 dot menu and install the VSIX file you downloaded.
Warning
As above, don't ever try update the extension from within VSCode. It'll just replace our extension with a very outdated extension that lacks support for debugging multiple scripts.
MoonSharp (Lua Runtime) with Embedded Tabletop Simulator Debugger
Extract MoonsharpDef.dll.zip
and overwrite the existing MoonsharpDef.dll
inside Tabletop Simulator's directory at the path Resources/Data/Managed
. If you're not sure where Tabletop Simulator is installed, in Steam simply right click on Tabletop Simulator and go to Manage -> Browse local files.
Note
In the case of macOS, you'd right click on the Tabletop Simulator app, and select Show package contents, open the Contents directory, then proceed to drill down through the paths described above.
v2.0.0.0 (TTS Enhanced Rev 7)
TTS v13 support. Aside from that, functionally equivalent to rev 6, please read its notes.
v2.0.0.0 (TTS Enhanced Rev 6)
This release is very experimental. It has some decent improvements over Rev 5, but also some annoying bugs. If you're consistently having issues, please try Rev 5.
Known Issues
- Hovering over property accessors on current
nil
variables will cause VSCode to show an exception, and the session will likely end up in an invalid state.
As a general rule, if the debug session gets in a bad state, you'll know about it because VSCode will show you errors and/or you'll see spinners where you expect to see variables in VSCode. If this occurs you'll have to disconnect the VSCode session from within VSCode and then reconnect.
New features
- Improved breaking on error functionality.
- Improved pause functionality.
- Where possible reuse the same temporary file names for the same script between session reloads (e.g. Atom pushes).
- Handle scripts with
/
in their name. - General debugging (Debug Adapter Protocol) fixes.
Note: The VSIX hasn't changed, just included in the release for posterity.
v2.0.0.0 (TTS Enhanced Rev 5)
New features
- View "Closure" variables in all stack frames using VSCode's
Call Stack
pane. - View "Global" variables in all stack frames using VSCode's
Call Stack
pane. - Proper REPL support i.e. can use VSCode's console input to evaluate (non-mutating) expressions in the currently selected stack frame.
Note: The VSIX hasn't changed since Rev 4, just included in the release for posterity
v2.0.0.0 (TTS Enhanced Rev 4)
New features
- View local variables in all stack frames using VSCode's
Call Stack
pane. - Expand tables, and nested tables within VSCode's
Variables
pane.
Changes
- No longer need to have a Lua file open in VSCode in order to commence debugging.
v2.0.0.0 (TTS Enhanced Rev 3)
- Use "Global" as the name of the default debug session as it will attach to TTS' Global script.
- Fixed issue with the extension not activating when you press debug.
- Fixed issue with debugging not working in certain circumstances if you also have EmmyLua installed (which you really should).
- Fixed VSCode debugger focus issue - where you'd step or hit a breakpoint but the frame wouldn't come into focus and you had to manually click on it.
- Debugger stop reasons (step, breakpoint, exception and pause) now displayed in VSCode when script execution stops/pauses.
v2.0.0.0 (TTS Enhanced Rev 2)
For the most part the MoonSharp debugger should now be very usable with Tabletop Simulator. If you run into issues, please report them.
NOTE: The debugger will still print information about swapping and listing (i.e. !list
) scripts. Please ignore this, it's legacy behavior and is entirely inferior to the behavior built-in to our VSCode extension (VSIX).
v2.0.0.0 (TTS Enhanced Rev 1)
Initial support for simultaneously debugging multiple scripts.
This is still alpha software...
Known bugs
There's still a few kinks with TTS specific functionality that need to be worked out. In particular TTS creates new scripts each time you save in TTS so presently there's two major bugs:
- We hang onto the script indefinitely - making the list of debuggable scripts ever growing.
- You need to detach and reattach to the new scripts after you save (push from Atom).
There's already some logic in place to sort this out - just needs to be hooked up to TTS internals, probably with some dodgy reflection.
- The first script you debug simply being called "Attach" in Atom, rather than the actual name of the script.
v2.0.0.0 (TTS Enhanced)
Initial release of the TTS Enhanced MoonSharp Interpreter, based on MoonSharp 2.0.0.0.