VSCode如何搭建Vyper语言智能合约开发环境

星晨小哥_5970

星晨小哥_5970

2026-05-06

589人浏览

原创

应先点击右下角语言模式,手动选择“vyper”;若无此选项,需重启vs code或检查插件是否启用,同时确认已通过pip安装vyper并配置好python环境。

vscode如何搭建vyper语言智能合约开发环境

安装Vyper插件后仍无语法高亮?检查 VS Code 是否识别 .vy 文件关联

VS Code 默认不把 .vy 当作 Vyper 文件处理,即使装了插件,打开文件也可能是纯文本模式。右下角状态栏会显示“Plain Text”或“Python”,而不是“Vyper”。

解决方法很简单:点击右下角语言模式名称 → 在弹出框中搜索 “Vyper” → 选择它。之后该文件就会启用语法高亮、括号匹配和基础补全。

  • 首次设置后,可点击“Configure File Association for '.vy'”让所有 .vy 文件默认用 Vyper 模式打开
  • 如果没看到 Vyper 选项,说明插件未正确激活,重启 VS Code 或检查插件是否已启用(不是仅“已安装”)
  • 部分插件(如 Vyper Language Support)依赖 Python 环境,需确保系统 PATH 中有可用的 python3 命令

为什么 vyper 命令在终端里报 “command not found”?别跳过 Python 包安装步骤

Vyper 是 Python 写的编译器,必须通过 pip 安装才能调用命令行工具。只装插件 ≠ 装好编译器 —— 这是新手最常卡住的地方。

执行以下命令(推荐使用虚拟环境,避免污染全局 Python):

python3 -m venv vyper-env
source vyper-env/bin/activate  # macOS/Linux
# 或 vyper-env\Scripts\activate.bat  # Windows
pip install vyper

验证是否成功:

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
vyper --version
  • 若提示 command not found,检查 pip install 输出路径,确认 vyper 可执行文件是否在当前 shell 的 $PATH 中
  • Windows 用户遇到权限问题,不要用 PowerShell 默认策略限制,改用 CMD 或关闭执行策略(Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)
  • VS Code 终端可能未继承激活后的环境变量,建议在终端中手动运行 source 或重新打开集成终端

如何在 VS Code 里一键编译 .vy 文件?用 tasks.json 配置 shell 任务

插件本身不提供自动编译功能,得靠 VS Code 的 tasks.json 手动绑定 vyper 命令。否则每次都要切到终端敲命令,效率极低。

在项目根目录创建 .vscode/tasks.json,内容如下:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "compile-vyper",
      "type": "shell",
      "command": "vyper",
      "args": ["-f", "combined_json", "${file}"],
      "group": "build",
      "presentation": { "echo": true, "reveal": "always" },
      "problemMatcher": []
    }
  ]
}
  • ${file} 是当前打开的 .vy 文件路径,确保你在合约文件里按 Ctrl+Shift+B(macOS Cmd+Shift+B)才能触发
  • 输出格式用 -f combined_json 最实用,生成 ABI + bytecode,方便后续部署;别用 ir 或 ast 等调试专用格式
  • 如果报错 “Unsupported version”,说明合约顶部的 #!vyper 或 @version 声明与本地 vyper 版本不兼容,查 vyper --list-tags 看支持哪些版本

部署前必须生成字节码和 ABI,但 vyper 不像 Solidity 那样自动存到 artifacts 目录

Vyper 编译结果默认输出到终端,不会自动生成 artifacts/ 文件夹或 JSON 文件。硬编码路径或手动复制粘贴极易出错,尤其多合约项目。

建议加一层封装脚本,比如项目根目录放 scripts/compile.py:

import subprocess
import json
import sys
<p>contract = sys.argv[1]
result = subprocess.run(
["vyper", "-f", "combined_json", contract],
capture_output=True, text=True
)
if result.returncode == 0:
data = json.loads(result.stdout)
with open(f"artifacts/{contract.replace('.vy', '.json')}", "w") as f:
json.dump(data, f, indent=2)</p>
  • 然后在 tasks.json 中把 command 改成 python scripts/compile.py
  • ABI 和字节码分离后,部署脚本(如用 web3.py)才能稳定读取,避免因终端截断、编码异常导致部署失败
  • 注意 Vyper 合约没有构造函数参数编码逻辑,ABI 中 constructor 字段永远为空,这点和 Solidity 行为不同,容易在部署时漏掉参数校验

Vyper 的工具链比 Solidity 更“裸”,没有 Hardhat 或 Foundry 那类开箱即用的框架支撑。哪怕只是生成 ABI 这一步,也要自己搭管道。最容易被忽略的是:编译器版本与合约声明版本必须严格一致,且不向下兼容 —— 写 @version 0.4.0 就必须用 vyper==0.4.0,混用会导致静默编译失败或运行时 revert。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

2023.06.30

1355

18

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.21

2872

3

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1969

12

vscode一般用来写什么语言
vscode一般用来写什么语言

VSCode是一款功能强大的代码编辑器,支持多种编程语言和文件格式。它内置对 JavaScript、Python、Java、C++、TypeScript、HTML/CSS、Go 等语言的支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.14

1727

8

vscode可以写什么语言
vscode可以写什么语言

vscode是一款强大的代码编辑器,支持多种编程语言的开发。通过安装扩展,可以为 JavaScript/TypeScript、Python、Java、C#、PHP、Go、Ruby、Rust、HTML/CSS 等语言提供智能代码补全、调试和格式化等功能。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

2607

12

vscode中文设置方法
vscode中文设置方法

方法一:在设置页面中,搜索“locale”,并选择“zh-cn”。方法二:按“Ctrl Shift P”快捷键,输入“Configure Display Language”,将语言修改为“zh-cn”。如果上述方法无效,可考虑安装中文插件。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1838

14

vscode用途介绍
vscode用途介绍

Visual Studio Code(VSCode)是一款由 Microsoft 开发的多功能文本编辑器,适用于各种编程语言。作为一款开源软件,VSCode 拥有代码高亮、自动补全、调试、Git 集成等强大功能,成为程序员不可或缺的工具。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1262

10

vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode设置中文界面不生效解决方法
vscode设置中文界面不生效解决方法

vscode设置中文界面不生效解决方法:安装中文语言包、通过命令面板设置语言、检查 locale.json 设置、重新安装中文语言包、检查 VSCode 版本和更新、排除插件冲突、检查系统语言设置、查看 VSCode 日志和错误消息、重置 VSCode 设置、查看官方文档和社区支持。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

494

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程