Ethereum Solidity and local node testing with security features for Visual Studio Code.
This extension adds language support for Solidity to Visual Studio Code, and provides a Remix-like experience for testing contracts on your local network. Benefits:
- Test and interact with your smart contracts on an Ethereum local node
- See vulnerabilities from static analysis in real-time
- Best code navigation experience, call-graphs and more
Compile your contracts and deploy them on a local chain for testing
Test your deployed contracts by interacting with them using function calls with different inputs
Catch potential issues early with real-time static analysis
Get an overall overview of issues in your project
See compilation errors highlighted in code
Quickly navigate to any function or variable definition with a click
Right click to see a context menu, and use it to find all references
Click and jump to linked files and resources
Use hover to see instant documentation in your code
Navigate big projects with ease using the Contract Outline
Code Lens shows you relevant information like functions selectors and parameter references inside your code
Visualise contract inheritance and function control flows with graphs
The Solidity extension uses the PyPi package eth-wake which requires Python 3.8 or higher. This package is automatically installed via conda by default.
Rosetta is required to be enabled on Apple Silicon Macs.
juanfranblanco/vscode-solidity: a base of our Solidity grammar
joaompinto/vscode-graphviz: a base of our Graphviz integration
Get help and give feedback in our Discord
Follow Ackee on Twitter
Go to references
, number of references and other features do not work correctly with no workspace open
It is always recommended to open a project as a folder (File -> Open folder
). Open file
should only be used when opening a single file or several files inside the same folder.
- Analysis does not work when the workspace contains compilation errors
The extension relies on the solc
compiler. For this reason, files containing compilation errors and files importing these files cannot be analyzed.