Due to conflict of interests, I am no longer able to support development on Velma. Please feel free to fork it!
This repository contains the VS Code extension which integrates with the Velma Solidity Debugger. Design and implementation decisions for MVP v1.0.0 were heavily guided by the needs of Augur and Augur's application.
Follow us on Twitter at https://twitter.com/seeseplusplus to get updates about new releases/etc about Velma
Unless you know for certain the issue belongs in this repository, please submit issues related to the Velma Debugger at the debugger main repo
You must install a Solidity language VS Code extension; I suggest the one from Juan Blanco. I suggest that you change the keyboard shortcut this extension uses to compile the Solidity file as it defaults to F5
and inhibits smooth debugging (if you left the default F5
command for continuing while in a debug session). You can do this following the below instructions:
- Press Ctrl+Shift+P (or Command+Shift+P) to open the settings quick open popup
- Search for and open
Preferences: Open Keyboard Shortcuts
(with the preceeding>
that should already be entered) - In the search box in the
Keyboard Shortcuts
tab, search forsolidity.compile.active
- Click the edit pencil on the left of the row and enter a different keyboard shortcut that isn't
F5
- Go to https://github.com/seeseplusplus/vscode-velma-debug/releases and navigate to the latest versioned tag
- Download the attached vscode-velma-debug-{version}.vsix file
- Open VS Code
- Go to the Extensions panel (default shortcut: Ctrl+Shift+X or Command+Shift+X)
- Click the horizontal dots in the top right of the Extensions panel
- Click "Install from VSIX..."
- Select the downloaded VSIX file
- Reload VS Code
- Currently only basic array (1-Dimensional, fixed-size (i.e. not dynamic)) variable inspection support.
- No
hover
REPL/Debug Console viewing support - No backwards stepping support
- Important: Until my changes to 3rd party repos have been merged and released to NPM, you must use the associated GitHub links. You can find the supporting GitHub repositories at https://github.com/seeseplusplus. These versions of the repos (i.e.
1.0.0-rc.1
branches) are likely out of date from the upstream repo. Please take this into consideration when testing
For the scope of the Augur bounty, the only way you can currently use the debugger is through Ganache (formally TestRPC). The recommended method is by setting up a Mocha test which will compile the contracts, upload them to the Ganache, link the debug symbols (aka compilation output and contract addresses) to Velma, and execute transactions.
I highly recommend you familiarize yourself with the test application before integrating your own project.