Skip to content

dethcrypto/vscode-vyper

 
 

Repository files navigation

get in touch with Consensys Diligence
[ 🌐 📩 🔥 ]

vscode-Vyper

img

Ethereum Vyper language support for Visual Studio Code

Marketplace: ext install tintinweb.vscode-vyper

Features

Passive Features

  • Vyper syntax highlighting support

Active Features

Note: Active features can be disabled by setting SettingsVyperMode: Active to false.

  • Provides Security augmented decorations (SettingsVyperDecoration: Enable)
  • Provides Hover information (SettingsVyperHover: Enable)
  • Provides Code snippets for common language constructs
  • Integrates with the vyper compiler (based on truffle-compile-vyper)
    • automatically compile contracts on save (SettingsVyperCompile: On Save)
    • compilation can be triggered by executing a vscode command (cmd + shift + pVyper: Compile)
    • vyper location/command can be customized (default assumes vyper is in PATH) (SettingsVyperCommand)
  • Integrates with MythX
    • sign-up with your ethereum address (username)
    • set your username and password (SettingsVyperMythX: Ethaddress / SettingsVyperMythX: Password or env.MYTHX_ETH_ADDRESS / env.MYTHX_PASSWORD; configuration takes precedence)
    • automatically analyze for security issues when saving the file (SettingsVyperAnalysis: 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 in SettingsVyperCommand

Tour

Syntax Highlighting

VSCode Light+ (default light)

theme-light

Solidity Visual Auditor - Dark

theme-light

Compiler Errors and Details

image

Hover information

image

Security Augmented Decorations - Auditor Mode

image

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

image

  • creates a template constructor after selecting it from the suggestion box.

image

Extension Settings

settings

Developer Notes

  • install vyper pip3 install vyper
  • use the script in ./scripts/fetch_vyper_language_spec.py or run npm run fetchGrammar to merge the python tmlanguage spec with vyper language specifics.

Release Notes

see CHANGELOG

v0.0.10

  • fix: an issue where the compilation would fail on windows systems #4
  • update: disabled mythx.io trial code
  • update: disabled signature helper (not yet implemented)
  • update: quick code cleanup
  • fix: allow workspace relative vyper.command #3

Packages

No packages published

Languages

  • JavaScript 86.2%
  • Python 13.8%