標籤:設定 測試開發 pes window binary nat class 必須 ++
開發工具 EOS 開發終極神器-vscode (你絕對找不到的乾貨)
lome · 2018年04月19日 · 最後由 18636292520 回複於 2018年09月15日 · 15672 次閱讀
本帖已被設為精華帖!
EOS開發終極神器-vscode(你絕對找不到的乾貨)
聲明:本文由EOS中文社區,原創首發,轉載請註明原文地址,謝謝。
前言:最近一直苦於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就可以調試了,效果:
一切都是如此簡單,一切都是如此便捷。
vscode開發智能合約