vscode-Vyper
Ethereum Vyper language support for Visual Studio Code
Marketplace: ext install tintinweb.vscode-vyper
Also available on vscode.dev! (compilation not yet supported)
Features
Passive Features
- Vyper syntax highlighting support
Active Features
Note: Active features can be disabled by setting Settings
β Vyper
β Mode: Active
to false
.
- Provides Security augmented decorations (
Settings
βVyper
βDecoration: Enable
) - Provides Hover information (
Settings
βVyper
βHover: Enable
) - Provides Code snippets for common language constructs
- Integrates with the vyper compiler (based on
truffle-compile-vyper
)- automatically compile contracts on save (
Settings
βVyper
βCompile: On Save
) - compilation can be triggered by executing a vscode command (
cmd + shift + p
βVyper: Compile
) - vyper location/command can be customized (default assumes
vyper
is inPATH
) (Settings
βVyper
βCommand
)
- automatically compile contracts on save (
- Integrates with MythX
- sign-up with your ethereum address (username)
- set your username and password (
Settings
βVyper
βMythX: Ethaddress
/Settings
βVyper
βMythX: Password
orenv.MYTHX_ETH_ADDRESS
/env.MYTHX_PASSWORD
; configuration takes precedence) - automatically analyze for security issues when saving the file (
Settings
βVyper
βAnalysis: On Save
)
Requirements
- It is assumed that vyper is installed and generally available on the system (
pip install vyper
). In case vyper is not available in path or called in a virtualenv configure the vyper command inSettings
βVyper
βCommand
Tour
Syntax Highlighting
VSCode Light+ (default light)
Solidity Visual Auditor - Dark
Compiler Errors and Details
Hover information
Security Augmented Decorations - Auditor Mode
Snippets
- Quickly create
constructor
,fallback
function,methods
,structs
, ... as you type. Select the snippet from the suggestion box. See snippets/vyper.json for a list of available snippets. - start typing ...
- creates a template constructor after selecting it from the suggestion box.
Extension Settings
FAQ
- Q: I get an error running vyper on my macbook with M1/M2 chipset.
- A: The extension executes the vyper compiler in a
/bin/sh
shell that may not have all the customizations you are using in your day-to-day shell/terminal. As a workaround, I suggest to set the setting:vyper.command
toarch -x86_64 vyper
. see #18
Developer Notes
- install vyper
pip3 install vyper
- use the script in
./scripts/fetch_vyper_language_spec.py
or runnpm run fetchGrammar
to merge the python tmlanguage spec with vyper language specifics.
Release Notes
see CHANGELOG