EOS 开发终极神器-vscode (你绝对找不到的干货)
https://eosfans.io/topics/323
前言:最近一直苦于EOS开发没有好用的IDE,用了很多,试了很多,都让人觉得有些差强人意。于是乎笔者在经过,长时间的查找实践中,终于找到了eos开发终极神器-vscode。当然这个只是笔者经过测试开发尝试后的一家之言。
话不多说下面进入正题。
vscode 安装
- 下载
大家开一去官网下载vscode:https://code.visualstudio.com/Download。下载安装都很方便。
- 安装
- win windows下的安装,相信大家都能顺利完成
- linux linux下,官网下载的都是linux可执行文件.deb,.rpm。直接打开安装即可,也很方便。
- Mac os下,这个本人没有试过,应该安装很简单。
配置
vscode安装起来非常简单,配置起来也非常容易。
首先,EOS是用c++开发的,所以打开vscode之后先装c++ 插件:
ms-vscode.cpptools
这个插件是必须的,其他的,也有很多插件非常有用,大家可以自己积极去发现。
运行测试
首先打开本地的eos,然后会看到最下面有许多选项,如图所示:

build all 测试
- 点击build:后的
[all],可以选择构建的区域.选择[all]可以构建整个eos项目. - 点击build[all]进行构建。
如图所示:

智能合约构建
1.创建智能合约,这里我用的是`hello`的例子,来说明。
首先是hello.cpp。
#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>
//用eosio命名空间
using namespace eosio;
//所有的智能合约都继承自contract类
class hello : public eosio::contract {
public:
using contract::contract;
/// @abi action
void hi( account_name user ) {
print( "Hello, ", name{user} );
}
};
EOSIO_ABI( hello, (hi) )
hello.abi:
{
"types": [],
"structs": [{
"name": "hi",
"base": "",
"fields": [{
"name": "user",
"type": "account_name"
}
]
}
],
"actions": [{
"name": "hi",
"type": "hi"
}
],
"tables": []
}
CMakeLists.txt:
file(GLOB ABI_FILES "*.abi")
configure_file("${ABI_FILES}" "${CMAKE_CURRENT_BINARY_DIR}" COPYONLY)
add_wast_executable(TARGET hello
INCLUDE_FOLDERS "${STANDARD_INCLUDE_FOLDERS}"
LIBRARIES libc++ libc eosiolib
DESTINATION_FOLDER ${CMAKE_CURRENT_BINARY_DIR}
)
然后在`eos/contracts`目录下的CMakeLists.txt中加入hello:
添加命令:
add_subdirectory(hello)
然后build[all].后根据cmake文件来自动构建。构建完成以后,你可以在build/contracts目录下,看到构建好的hello,如图所示:

构建完成以后,你就可以在build后选择[hello],单独进行编译。
代码提示
在左下角点击设置,加入以下配置,并且保存,就会出现代码提示了:
"[cpp]": {
"editor.autoIndent": true,
"editor.quickSuggestions":true
},
"[c]": {
"editor.quickSuggestions":true
},
"cmake-tools-helper.auto_set_cpptools_target": true,
代码提示效果如图所示:

vscode Debug
debug方式很简单,选择debug:后,你所debug的代码,打上断点,然后点击debug就可以调试了,效果如图所示:


一切都是如此简单,一切都是如此便捷。
EOS 开发终极神器-vscode (你绝对找不到的干货)的更多相关文章
- ETH&EOS开发资源及工具集合(完整汇总版)
ETH&EOS开发资源及工具集合(完整汇总版) 3113 ETH开发资源篇 一.开发语言 · Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语 ...
- 面向前端开发人员的VSCode自动化插件
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://blog.bitsrc.io/vscode-automations-for-fro ...
- Unity3D开发必备神器(Visual Studio Tools for Unity)
Unity3D开发必备神器(Visual Studio Tools for Unity) 开发Unity3D程序你用的什么IDE呢? 1.MonoDevelop 2.VS 可能你的回答是这样的,我用的 ...
- EOS开发入门
EOS开发入门 在上一篇文章<EOS开发环境搭建>中,我们已经完成了EOS开发环境的搭建,本次为大家带来的是EOS开发入门的相关内容. 1. EOS的合约开发基础 智能合约是一种旨 ...
- EOS开发环境搭建
EOS开发环境搭建 在上一篇文章<扒一扒EOS的前世今生>中,我们已经了解了EOS以及他的创始人Daniel Larimer的故事,本次为大家带来的是关于EOS开发环境搭建的内容.首先 ...
- EOS开发实战
EOS开发实战 在上一篇文章<EOS开发入门>中,我们为大家介绍了EOS的节点启动和合约部署和调用等入门知识.本次我们来实现一个复杂的例子,可以为其取一个高大上的名字-悬赏任务管理系统 ...
- 基于EOS开发的Dapp大全
基于EOS开发的Dapp大全 截止20180424,基于EOS开发的项目在50,很多项目的规划信息还不完善,搜集了基本的信息,供大家参考. ==========================长期囤币 ...
- eos开发实践
一 下载前端代码 git clone https://github.com/baidang201/eos-todo 二 安装nodejs sudo apt-get install python-sof ...
- Windows下的开发辅助神器——Chocolate Package Manager
Windows下的开发辅助神器——Chocolate Package Manager:https://juejin.im/post/5c6cb3acf265da2dc4537235 Windows上的 ...
随机推荐
- rxjs 常用的管道操作符
操作符文档 api 列表 do -> tap catch -> catchError switch -> switchAll finally -> finalize map s ...
- js的with语句,和debugger语句
减少操作,速度及慢, 严格模式无法使用 debugger 在程序中打断点 'use strict' var name = 'global'; var obj = { name: "ajanu ...
- mysql迁移sqlserver
数据迁移的工具有很多,基本SSMA团队已经考虑到其他数据库到SQL Server迁移的需求了,所以已经开发了相关的迁移工具来支持. 此博客主要介绍MySQL到SQL Server数据迁移的工具:SQL ...
- 查看线程的进程id
import os from threading import Thread def f1(n): print(n) print('%d号线程的id是%s'%(n,os.getpid())) if _ ...
- 将 django部署到 heroku上
为什么要这样做,因为我并没有弄懂,使用传统和推荐的方法来部署django.刚好我手里有这么一份教程我就按照这么做了. 1. 访问 http://heroku.com/ 完成一个注册,注册需要一个国外的 ...
- [No0000A5]批处理常用命令大全&&21个DOS常用命令
1.Echo 命令打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法echo [{on|off}] [message]Sample: echo off e ...
- 石子合并 区间dp模板
题意:中文题 Description 在操场上沿一直线排列着 n堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的两堆石子合并成新的一堆, 并将新的一堆石子数记为该次合并的得分.允许在第一次合 ...
- spark分组统计及二次排序案例一枚
组织数据形式: aa 11 bb 11 cc 34 aa 22 bb 67 cc 29 aa 36 bb 33 cc 30 aa 42 bb 44 cc 49 需求: 1.对上述数据按key值进行分组 ...
- angular 表单元素的使用总结
工作中form表单元素最常用的是input,问题没有太多,现在总结下select ,radio组,checkbox的使用 1 select 常用的使用方式,如下 var Cityis = [{id:0 ...
- [ovs] ovs开启日志debug
如题 [root@vrouter1 ~]# ovs-appctl vlog/set netdev:file:dbg [root@vrouter1 ~]# ovs-appctl vlog/set net ...