每一个开发人员都需要一个良好的IDE,EOS开发也是一样,为项目开发过程构建一个良好的IDE环境是第一步。这就是为什么我们要写这个如何使用VS Code或者CLion进行EOS开发的快速教程的原因。
我们还为VS Code创建了一些脚本,这些脚本将你在终端中使用的一些命令自动化。
设置Visual Studio Code
首先,如果你还没有这些VS Code扩展的话,安装一下。对于EOS Dapp开发,它们将非常有帮助:
- C/C++ - VS Code的智能感知、调试和代码浏览
- CMake - Visual Studio Code的CMake语言支持
- CMake Tools - Visual Studio Code扩展CMake支持
- WebAssembly - 用于WebAssembly文本表示的语法高亮显示
当我们开发EOSIO dApps时,我们需要编写.hpp和.cpp文件中的代码。然而,这是整个过程中很小的一部分。大多数时候,我们需要生成一些其他文件,这些文件将用于在区块链上部署合约,进行单元测试等等。这就是CMake有用的地方。
CMake是用于控制软件编译过程的命令行工具。一旦它在你的IDE内正确设置的话,会使整个开发过程更加容易。
既然我们要使用CMake工具,我们应该对我们的项目结构做一些改变。我们将重用EOSIO项目的构架,因为它拥有我们所需要的一切。当然,我们有一些小的变化。
我们有一张图片,展示了新的项目结构。让我们看一看。
首先,我们有了build文件夹。这是放置所有构建内容的地方。你所使用的每一个生成文件都在那里。接下来是CMakeModules,它包含一些有用的Cmake模块,这些自定义模块用于编译过程。
contracts是我们的核心文件夹。这就是我们要放置智能合约的地方。目前,eosiolib, libc++和musl默认存在这里用于编译。紧接着是externals和libraries。两个文件夹都包含用于使整个编译过程更容易的库。
项目结构中最后一个重要的东西是配置文件CMakeLists.txt。每个目录都有自己的带有命令的CMakeLists.txt文件。
可以在我们的repo中找到所有的文件夹和脚本的新项目结构。
CMakeLists
让我们看一些配置文件,因为你需要知道如何使用它们。
1.CMakeLists.txt(4)
这是设置编译过程的主要配置文件。你应该知道,当你开发Dapp时,你需要设置项目名称。版本和语言是可选的。
# Set the minimum required version of cmake for a project
cmake_minimum_required(VERSION 3.5)
# Set a name, version, and enable languages for the entire project.
project( ProjectName )
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/fc/CMakeModules")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
# Load and run CMake code from a file or module.
include( GNUInstallDirs )
include( SetupTargetMacros )
# Set a normal, cache, or environment variable to a given value
set( CMAKE_CXX_STANDARD 14 )
set( CMAKE_CXX_EXTENSIONS ON )
set( CXX_STANDARD_REQUIRED ON)
set( CLI_CLIENT_EXECUTABLE_NAME cleos )
set( GUI_CLIENT_EXECUTABLE_NAME eosio )
set