Announcing Significant Updates to Sui’s Developer Tooling

We’re pleased to announce three significant updates to the core Sui developer tools. This week, we’ve released:

  • A new release of our Move extension providing LSP support for Move.
  • A completely new trace debugger, allowing you to single-step through your Move code
  • A completely new Prettier-based autoformatter and VSCode extension.

Please expect some rough edges on these, and if you encounter any issues, let us know, either by:

Move Extension

The Move extension now implements much more of the Language Server Protocol, including the following features:

  • Autocompletion after . or :: characters to autocomplete receiver-syntax functions and types
  • “Inlay completion” that adds a type argument after writing something like let x = 10 or other similar contexts
  • Go-to-definition, type definition, and find references, to easily navigate Move code
  • Pop-ups with type information on hoverover
  • Basic commands to build, test, and generate execution traces from Move code

Move Trace Debugger

This is a new trace-based debugger. After generating an execution trace, you can single-step through your Move functions and macros while watching the state of the values in the Move VM.

Currently, this is only supported for Move unit tests, but in future releases (we are targeting 2025H1 for these), replaying on-chain transactions and forking chain state will be supported.

Move Autoformatter

We’ve also released a Prettier-based autoformatter. You can install it from NPM directly or (as we recommend) use the VSCode extension. The autoformatter is a common ask on our Developer Experience surveys and we’re pleased to be able to release it.

4 Likes

That’s insane! :man_dancing::dancer: Thank you for listening to us! :pray:

2 Likes