EOS基础全家桶(十二)智能合约IDE-VSCode

简介

上一篇咱们介绍了EOS的专用IDE工具EOS Studio,该工具的优点是简单,易上手,可是灵活性低,且对系统资源开销大,依赖多,容易出现功能异常。那么咱们开发人员最容易使用的,可能仍是深度定制化的IDE,今天咱们介绍若是用强大的VSCode来配置一个EOS的开发环境。java

准备

最简配置:python

  • eosio.cdt
  • VSCode
  • C++插件

豪华配置:c++

  • eosio.cdt
  • VSCode
  • C++插件
  • docker
  • docker的eosio.cdt镜像
  • eosio.cdt源码及Intellisence配置

安装eosio.cdt

为了编译合约,eosio.cdt是必须的,这里咱们提供两种安装的方式,各有优点,直接安装能够更方便的使用,可是对于须要使用不一样cdt版本编译时,就会很麻烦;而使用docker版的,能够更好的使用多版本cdt,缺点是与系统集成很差,使用cmake编码会很麻烦。git

直接安装能够参考我前面的文章EOS基础全家桶(二)安装中的 CDT-Contract Delevop Tools合约开发工具包 章节。github

若是想使用docker镜像,能够看下面使用eosio.cdt的docker镜像docker

安装VSCode

我不怀疑你已经有了VS Code,甚至已经使用的很熟练了。但若是你尚未,那我要强烈推荐你安装一个,也许你已经有了其余语言的IDE,好比.net的Visual Studio,java的IntelliJ Idea……可是你都会有用到VSCode的地方,这是一个免费、开源、集成git、可调试可运行、拥有智能提示和众多插件的多语言编辑器,你如今在看的文章也是我使用VSCode编辑的,没错,它对markdown语法很友好,加上丰富的插件,让你拥有一款轻量且功能强大的md编辑器。json

好了,安利了这么久,咱们言归正传。打开VSCode的官网,在中间显眼的地方就能看到Download了,下载你所需的版本,这里有Stable和Insider的版本,Stable是稳定版,没有明显的bug,Insider则是每周迭代更新的尝鲜版,能更早的用上新功能,可是难免会有些明显的bug。
vscode_setupmarkdown

安装VSCode插件

VSCode的插件很是丰富,这得力于它的开源策略,创造出了一个良性社区环境。咱们今天只介绍和EOS的智能合约相关的插件,其余的搭建能够本身选择,也可参考网上的各类环境构建的教程。
vscode_ext编辑器

  • 【必须】C/C++

咱们合约开发的语言是C++,因此这个库就基本成必须了。这个库提供了C语言相关的智能提示和调试等功能。ide

  • Chinese (Simplified) Language Pack for Visual Studio Code

这个不是必须,只是VSCode默认是英文的,而多语言采用的是扩展来安装,若是你看英文的不太习惯,那么这个包就是必须的了。

  • Git Extension Pack

VSCode默认集成了git的功能,可是咱们可让它更强大,这是一个扩展包,包含了一系列好用的git工具,包括文件、行的历史记录,可视化的管理界面等等。

  • Settings Sync

这个插件很实用,特别是当你装了一堆插件后,你想在多个设备上同步时,它借助github上的gist功能同步VSCode上的设置,让你在不一样的设备上都能同步全部插件和设置。

  • EOSIDE

这个插件其实我没有彻底使用过,是一个我后来在插件库中找到的,这是一个借助python库中的EOSFactory来实现EOS合约开发的各类自动化功能的插件,有兴趣的同窗能够自行尝试。

豪华配置

至此其实你已经拥有了一个最简洁而完备的EOS智能合约开发环境了,若是你须要多cdt版本编译环境或者你想让本身有更好的智能提示,那么下面的配置能够帮助到你。

使用eosio.cdt的docker镜像

咱们能够直接使用EOS Studio上传的docker镜像,咱们打开docker官方的Hub页面,而后搜索eosio.cdt,找到eostudio下的。
docker_search
咱们进入查看tags,他的tag都是以cdt的版本命名的,从1.3~1.7都有,很是的良心。
docker_cdt_tag

咱们选择所需的版本进行拉取,建议直接拉取1.6以上的版本,由于咱们后面的智能合约编写也会基于较新的版本进行讲解。

docker pull eostudio/eosio.cdt:v1.6.3

若是你有多个cdt版本的编译需求,能够拉取各个版本的镜像,在后续咱们介绍合约编译的时候介绍如何使用。

注意: docker相关的安装和操做,请参考我前面的文章EOS基础全家桶(一)开篇中的 Docker 章节。

下载eosio.cdt的源码

智能提示是基于将引用的文件加载并创建索引后为咱们提供的便利功能,那么咱们若是没有安装eosio.cdt而是使用的docker镜像,或者咱们但愿能够直接查看使用的类型或者方法的源码实现,那么咱们就须要下载eosio.cdt的源码,并配置相关的路径引入。

#直接拉取最新的代码
git clone https://github.com/EOSIO/eosio.cdt.git

为了能和咱们实际编译保持一致,这里建议你们拉取和你编译会使用的eosio.cdt相同的版本代码,就是你安装或者从docker拉取的镜像的版本保持一致。

配置开发环境

在你的合约开发目录下新建一个.vscode文件夹,而后新建一个c_cpp_properties.json的文件,这个文件是C/C++插件会使用到的配置文件。

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/Volumes/Disk/PublicGit/eosio.cdt/libraries",
                "/Volumes/Disk/PublicGit/eosio.cdt/libraries/boost/include"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

 

其中includePath就是咱们添加eosio.cdt源码路径的配置项,须要将eosio.cdt的libraries和libraries/boost/include都添加上。

其余的配置请结合自身的实际状况配置,若不清楚,建议使用${default},好比"cppStandard":"${default}"。更多相关配置,请参考C/C++插件的配置文档

总结

咱们已经完成了EOS的智能合约的开发环境的准备,不管你是使用EOS Studio仍是使用VSCode,都可以帮助你进行EOS的智能合约的开发,他们各有千秋,而选择一个适合你的IDE才是最重要的。

相关文章
相关标签/搜索