VSCode Ethereum Security Bundle
A meta-extension bundling vscode marketplace plugins for secure Ethereum smart contract development.
📚What's the story?
- You are developing or auditing smart contracts for the Ethereum ecosystem.
- (optional) You love
git
and your home is github❤ .
- You are battling with all the different IDE's that claim to support smart contract languages but they do not seem to be the right fit ⚡😐.
- The IDE's by default do not sufficiently support you doing a good job out.
- The options provided by the IDE's marketplace is just overwhelming.
This meta-extension aims to help you getting your IDE up to speed. It does not contribute any new functionality by its own, but installs a curated set of useful extensions for ethereum developers from the vscode marketplace. 🤓
🎁 What's included?
Alright, this is supposed to be a community curated extension. If you feel like an extension is missing or should be removed from the bundle? Vote for it by creating an issue and we'll remove/add it if the vote succeeds! Together we can make this work for everyone :)
Solidity
Language support
Vyper
Language support
LLL
Language support
General Purpose
Efficiency
Review
- eg2.vscode-npm-script - NPM integration for vscode. Install dependencies directly by right-clicking
package.json
in your vscode file explorer.
- eamodio.gitlens - Git support. Especially useful when reviewing diffs.
⚙ Tweaks
Cool, you've come this far therefore I expect you're genuinely interested in either the individual extensions or you just installed the one-click bundle :) Either way, you're welcome!
Here's a quick walk-through and some tweaks on how to get the best out of vscode and the extensions.
Note: json settings shown below are meant to be merged into your config.
VSCode
How do I un/install extensionbs?
AppMenu -> Preferences -> Extensions
How do I access vscode and extension settings?
AppMenu -> Preferences -> Settings
How do I disable telemetry in vscode?
- Open settings.json (via vscode settings)
- Add this to
settings.json
:
{
"telemetry.enableCrashReporter": false,
"telemetry.enableTelemetry": false,
}
Make vscode auto-save files automatically after a delay
- It can be annoying that you are editing a file and always have to manually save it for it to be synced to the file-system. The following auto-saves files after a delay automatically.
- Add this to
settings.json
:
{
"files.autoSave": "afterDelay",
}
- And disable confirmation when deleting
{
"explorer.confirmDelete": false,
}
How do I extend the terminal scrollback cache?
{
"terminal.integrated.scrollback": 6000,
}
Selection Highlighting

- Grey selection highlight
- Orange selection border for other occurences of the selection in the editor (nice for comparison)
{
"workbench.colorCustomizations": {
"editor.selectionBackground": "#977f5746",
"editor.selectionHighlightBackground": "#cf9b4d28",
"editor.selectionHighlightBorder":"#ff5e0096"
},
}
Make vscode diff editor ignore whitespaces by default
- we don't care too much about whitespaces right now :D
{
diffEditor.ignoreTrimWhitespace
}
Solidity
Disable the auto-linting
- Add this to
settings.json
:
{
"solidity.enabledSolium": false,
"solidity.linter": "",
}
Git & Gitlens
- Gitlens code-lenses can be annoying (inline code actions). Thankfully they can be disabled (together with telemetry. data privacy ftw). We also enable git commit fetching for the git extension:
{
"gitlens.codeLens.enabled": false,
"gitlens.advanced.telemetry.enabled": false,
"git.autofetch": true,
}
Other useful extensions
- Indent-Rainbow
- Bookmarks
- Git Graph
- ES Lint
- XML Tools
- Material Icon Theme
- Markdown All in One
Notes
- You can uninstall individual extensions at any point.
- Uninstalling the extension pack will uninstall all the referenced extensions.
Credits
♥ Thanks to the awesome Ethereum community for building all these extensions, you rock!
Release Notes
see CHANGELOG