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:
- Filing an issue on the Sui repository: Sign in to GitHub · GitHub
- Or raising an issue on Telegram or Discord
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.