Ackee Blockchain Tools for Solidity
Tools for Solidity is an extension for Visual Studio Code that implements a language server for Solidity. It offers most of the language server features and displays results of vulnerability detectors along with compiler warnings and errors. Different graph types can be generated to better vizualize the relations in the code.
This extension provides the following language server features:
The following types of graphs can be generated:
The Tools for Solidity extension uses the PyPi package woke which requires Python 3.7 or higher.
To display the generated graphs, one of the supported Graphviz (DOT) extensions must be installed:
The package woke is installed
Alternatively, it can be installed
Control flow graphs
Go to definition
Go to type definition
Go to implementation
Find implementations of an unimplemented function or modifier.
Also works for virtual functions.
Includes links to documentation for OpenZeppelin contracts.
Number of references is shown above each declaration.
Together with compiler errors, diagnostics also include results from Woke vulnerability detectors.
Force recompile the opened project/files.
Force rerun Woke vulnerability and issue detectors on the opened project/files.
Generate an inheritance graph for the whole project.
The extension currently does not handle changes external to VS Code. This especially means that files installed into
It is always recommended to open a project as a folder (
The extension relies on the
We used juanfranblanco/vscode-solidity as a base of our Solidity grammar.