当前位置: 首页 > news >正文

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 测试

  1. 点击build:后的[all],可以选择构建的区域.选择[all]可以构建整个eos项目.
  2. 点击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就可以调试了,效果如图所示:

 

一切都是如此简单,一切都是如此便捷。

 

相关文章:

  • 一、计算机的组成
  • 《Redis开发与运维》笔记
  • Result Maps collection already contains value forxxx
  • Windows下安装最新版的MongoDB
  • 微信互联网:如何让别人找到你的小程序?
  • Unity重置Animator到初始状态和重复播放同一个Animation
  • 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
  • 发送HTTP_GET请求 表头application/json
  • 网络文件共享-SAMBA
  • 如何辨别程序员的水平?
  • jQuery清空标签内容--防止内存泄露
  • 对“工厂方法”,突然茅塞顿开
  • 算法第三章上机实践报告
  • 2018-2019-1 20165320 《信息安全系统设计基础》第六周学习总结
  • ajax实现异步上传多图并且预览
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017-08-04 前端日报
  • C++类中的特殊成员函数
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • interface和setter,getter
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Just for fun——迅速写完快速排序
  • Meteor的表单提交:Form
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Python学习之路16-使用API
  • session共享问题解决方案
  • sublime配置文件
  • vue中实现单选
  • 代理模式
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于遗传算法的优化问题求解
  • 深入浅出Node.js
  • 一文看透浏览器架构
  • 字符串匹配基础上
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (1)(1.13) SiK无线电高级配置(五)
  • (42)STM32——LCD显示屏实验笔记
  • (二)pulsar安装在独立的docker中,python测试
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)php投票系统 毕业设计 121500
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (力扣)循环队列的实现与详解(C语言)
  • (七)理解angular中的module和injector,即依赖注入
  • (四)linux文件内容查看
  • (算法)Game
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (轉貼) UML中文FAQ (OO) (UML)
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • . NET自动找可写目录
  • .form文件_一篇文章学会文件上传