Skip to content

Ackee-Blockchain/solidity-for-vscode

Repository files navigation

Solidity by Ackee Blockchain Security

Discord Badge Visual Studio Marketplace Badge Follow on X Badge

Solidity for VS Code

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

Compile and deploy contracts

Compile your contracts and deploy them on a local chain for testing

Compile and deploy contracts

Interact with contracts

Test your deployed contracts by interacting with them using function calls with different inputs

Interact with contracts

See vulnerabilities from static analysis in real-time

Free detections with leading security tool Wake

Catch potential issues early with real-time static analysis

Real-time detectors

Security Overview in the Sidebar

Get an overall overview of issues in your project

Security overview in the sidebar

Compilation Errors

See compilation errors highlighted in code

Compilation errors

Best code navigation experience, call-graphs and more

Go to definition

Quickly navigate to any function or variable definition with a click

Go to definition

Find references

Right click to see a context menu, and use it to find all references

Find references

Document Links

Click and jump to linked files and resources

Document links

Hover

Use hover to see instant documentation in your code

Hover

Contract Outline

Navigate big projects with ease using the Contract Outline

Contract outline

Code Lens

Code Lens shows you relevant information like functions selectors and parameter references inside your code

Code Lens

Graphs

Visualise contract inheritance and function control flows with graphs

Graphs

Requirements

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.

Credits

juanfranblanco/vscode-solidity: a base of our Solidity grammar

joaompinto/vscode-graphviz: a base of our Graphviz integration

Feedback, help and news

Get help and give feedback in our Discord

Follow Ackee on Twitter

Known Issues

  • 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.