{"id":15645161,"url":"https://github.com/tintinweb/vscode-vyper","last_synced_at":"2025-06-19T22:36:17.503Z","repository":{"id":41747578,"uuid":"177229711","full_name":"tintinweb/vscode-vyper","owner":"tintinweb","description":"Ethereum Vyper language support for Visual Studio Code","archived":false,"fork":false,"pushed_at":"2024-12-09T09:04:51.000Z","size":364,"stargazers_count":66,"open_issues_count":7,"forks_count":16,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T12:07:11.875Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=tintinweb.vscode-vyper","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tintinweb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-23T01:23:41.000Z","updated_at":"2025-03-19T22:31:24.000Z","dependencies_parsed_at":"2025-01-15T03:54:36.768Z","dependency_job_id":"f545c578-77a2-44f7-a2f2-2e864c609179","html_url":"https://github.com/tintinweb/vscode-vyper","commit_stats":{"total_commits":70,"total_committers":6,"mean_commits":"11.666666666666666","dds":"0.18571428571428572","last_synced_commit":"9266abf5ebe705ffbc0897d37688d42d5e280604"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintinweb%2Fvscode-vyper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintinweb%2Fvscode-vyper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintinweb%2Fvscode-vyper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tintinweb%2Fvscode-vyper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tintinweb","download_url":"https://codeload.github.com/tintinweb/vscode-vyper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247666014,"owners_count":20975788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:04:52.717Z","updated_at":"2025-04-07T14:12:45.634Z","avatar_url":"https://github.com/tintinweb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[\u003cimg height=\"71\" alt=\"get in touch with Consensys Diligence\" src=\"https://user-images.githubusercontent.com/2865694/56826101-91dcf380-685b-11e9-937c-af49c2510aa0.png\"\u003e](https://consensys.io/diligence/) \u0026nbsp; and \u0026nbsp; [\u003cimg height=\"48\" alt=\"get in touch with Consensys Diligence\" src=\"https://github.com/tintinweb/vscode-vyper/assets/2865694/e627c8ef-79f5-4efc-acbc-8a70e1105af3\"\u003e](https://www.chainsecurity.com)\u003cbr/\u003e\n\u003csup\u003e\n[[  🌐  ](https://consensys.io/diligence/)  [  📩  ](mailto:diligence@consensys.net)  [  🔥  ](https://consensys.io/diligence/research)]\n\u003c/sup\u003e\u003cbr/\u003e\u003cbr/\u003e\n[\u003cimg height=\"30\" alt=\"vscode marketplace\" src=\"https://github.com/user-attachments/assets/030dde14-1745-4f4e-852c-b415db9c2050\"\u003e](https://marketplace.visualstudio.com/items?itemName=tintinweb.vscode-vyper) [\u003cimg height=\"30\" alt=\"open-vsx\" src=\"https://github.com/user-attachments/assets/975d31ca-5259-4bf0-8c40-b2e25cdd5ccb\"\u003e](https://open-vsx.org/extension/tintinweb/vscode-vyper) \n\n# vscode-Vyper    \n   \n![img](./images/icon.png)\n\nEthereum [Vyper](https://www.vyperlang.org/) Language Support for [Visual Studio Code](https://code.visualstudio.com/) \u0026 [VSCodium](https://vscodium.com/)\n\n\n`ext install tintinweb.vscode-vyper`\n\n\n\u003csup\u003eVyper syntax also available on [vscode.dev](https://vscode.dev)!\u003c/sup\u003e \n\n## Features\n\n#### Passive Features\n\n* Vyper syntax highlighting support\n\n#### Active Features\n\nNote: Active features can be disabled by setting `Settings` → `Vyper` → `Mode: Active` to `false`.\n\n* Provides Security augmented decorations (`Settings` → `Vyper` → `Decoration: Enable`)\n* Provides Hover information (`Settings` → `Vyper` → `Hover: Enable`)\n* Provides Code snippets for common language constructs\n* Integrates with the vyper compiler\n  * automatically compile contracts on save (`Settings` → `Vyper` → `Compile: On Save`)\n  * compilation can be triggered by executing a vscode command (`cmd + shift + p` → `Vyper: Compile`)\n  * vyper location/command can be customized (default assumes `vyper` is in `PATH`) (`Settings` → `Vyper` → `Command`)\n\n## Requirements\n\n* It is assumed that vyper is installed and generally available on the system (`pip3 install vyper`). In case vyper is not available in path or called in a virtualenv configure the vyper command in `Settings` → `Vyper` → `Command`\n\n## Tour\n\n#### Syntax Highlighting\n\n##### VSCode Light+ (default light)\n\n\u003cimg width=\"550\" alt=\"theme-light\" src=\"https://user-images.githubusercontent.com/2865694/64434714-76afa980-d0c1-11e9-8836-520a1920435b.png\"\u003e\n\n##### Solidity Visual Auditor - Dark\n\n\u003cimg width=\"550\" alt=\"theme-light\" src=\"https://user-images.githubusercontent.com/2865694/54860156-63c53a80-4d16-11e9-9c94-0bdead2346b6.png\"\u003e\n\n#### Compiler Errors and Details\n\n\u003cimg width=\"600\" alt=\"image\" src=\"https://user-images.githubusercontent.com/2865694/54860166-a1c25e80-4d16-11e9-9352-89e380b3b498.png\"\u003e\n\n\n#### Hover information\n\n\u003cimg width=\"600\" alt=\"image\" src=\"https://user-images.githubusercontent.com/2865694/54860173-b6065b80-4d16-11e9-8dba-84107c6ac726.png\"\u003e\n\n\n#### Security Augmented Decorations - Auditor Mode\n\n\u003cimg width=\"600\" alt=\"image\" src=\"https://user-images.githubusercontent.com/2865694/54860188-ff56ab00-4d16-11e9-92a7-01e6c2ddcbf1.png\"\u003e\n\n#### Snippets\n\n* Quickly create `constructor`, `fallback` function, `methods`, `structs`, ... as you type. Select the snippet from the suggestion box. See [snippets/](./snippets/) for a list of available snippets.\n* start typing ...\n\n\u003cimg width=\"600\" alt=\"image\" src=\"https://user-images.githubusercontent.com/2865694/54860223-6e340400-4d17-11e9-8b21-49deed0db4db.png\"\u003e\n\n* creates a template constructor after selecting it from the suggestion box.\n\n\u003cimg width=\"600\" alt=\"image\" src=\"https://user-images.githubusercontent.com/2865694/54860229-75f3a880-4d17-11e9-93fc-e2a02ac60459.png\"\u003e\n\n## Extension Settings\n\n\u003cimg width=\"600\" alt=\"settings\" src=\"https://user-images.githubusercontent.com/2865694/54860098-67a48d00-4d15-11e9-951e-e8422bc3fae5.png\"\u003e\n\n## FAQ\n\n* **Q**: I get an error running vyper on my macbook with M1/M2 chipset.\n* **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` to `arch -x86_64 vyper`. see #18\n\n* **Q**: My project uses Vyper 0.3.x and import some interfaces from other contracts. but the extension does not recognize them and output `FileNotFoundError: Cannot locate interface 'interface/my_interface{.vy,.json}`.\n* **A** The extension compiles your file with the command `vyper`. You should set the setting: `vyper.command` to `vyper -p path/to/your/project/directory` to make the compiler aware of the interfaces in your project.\n\n* **Q** My multi-module project uses Vyper 0.4.x and while the extension does not report compilation error for any files, when compiling the project with the Vyper cli or some framework such as `ape`, `foundry` or `titanoboa`, it fails with some issue about modules usage/initialization.\n* **A** In 0.4.x, A Vyper modules might be valid when being imported but not a valid standalone contracts to compile into bytecode. Hence the extension stops the compilation at the ``annotated_ast` phase, before the global constraint checker. For more info see https://github.com/vyperlang/vyper/pull/3810.\n\n## Developer Notes\n\n* install vyper `pip3 install vyper`\n* 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.\n\n## Release Notes\n\nsee [CHANGELOG](./CHANGELOG.md)\n\n## Contact / Maintainer\n\n- [tintinweb](https://github.com/tintinweb) @ [Consensys Diligence](https://consensys.io/diligence/)\n- [trocher](https://github.com/trocher) @ [ChainSecurity](https://www.chainsecurity.com/)\n\n\n-----------------------------------------------------------------------------------------------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftintinweb%2Fvscode-vyper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftintinweb%2Fvscode-vyper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftintinweb%2Fvscode-vyper/lists"}