Skip to content

Releases: tts-community/moonsharp-tts-debug

v2.0.0.0-tts.8

06 Jul 10:25
Compare
Choose a tag to compare
  • 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.

CleanShot 2024-07-06 at 20 36 41@2x

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.

CleanShot 2024-07-06 at 20 38 00

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)

30 Jan 16:35
Compare
Choose a tag to compare

TTS v13 support. Aside from that, functionally equivalent to rev 6, please read its notes.

v2.0.0.0 (TTS Enhanced Rev 6)

27 Jul 15:44
Compare
Choose a tag to compare

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)

27 Oct 04:14
Compare
Choose a tag to compare
Pre-release

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)

25 Oct 07:16
Compare
Choose a tag to compare
Pre-release

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)

24 Feb 16:22
Compare
Choose a tag to compare
Pre-release
  • 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)

10 Feb 17:28
Compare
Choose a tag to compare
Pre-release

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)

02 Feb 20:22
Compare
Choose a tag to compare
Pre-release

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)

16 Jan 18:35
Compare
Choose a tag to compare
Pre-release

Initial release of the TTS Enhanced MoonSharp Interpreter, based on MoonSharp 2.0.0.0.