天天看點

unity vscode沒有智能提示_EOS基礎全家桶(十二)智能合約IDE-VSCode簡介準備安裝eosio.cdt安裝VSCode安裝VSCode插件豪華配置下載下傳eosio.cdt的源碼配置開發環境總結

簡介

上一篇我們介紹了EOS的專用IDE工具EOS Studio,該工具的優勢是簡單,易上手,但是靈活性低,且對系統資源開銷大,依賴多,容易出現功能異常。那麼我們開發人員最容易使用的,可能還是深度定制化的IDE,今天我們介紹如果用強大的VSCode來配置一個EOS的開發環境。

準備

最簡配置:

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

豪華配置:

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

安裝eosio.cdt

為了編譯合約,eosio.cdt是必須的,這裡我們提供兩種安裝的方式,各有優勢,直接安裝可以更友善的使用,但是對于需要使用不同cdt版本編譯時,就會很麻煩;而使用docker版的,可以更好的使用多版本cdt,缺點是與系統內建不好,使用cmake編碼會很麻煩。

直接安裝可以參考我前面的文章EOS基礎全家桶(二)安裝中的 CDT-Contract Delevop Tools合約開發工具包 章節。

如果想使用docker鏡像,可以看下面使用eosio.cdt的docker鏡像。

安裝VSCode

我不懷疑你已經有了VS Code,甚至已經使用的很熟練了。但如果你還沒有,那我要強烈推薦你安裝一個,也許你已經有了其他語言的IDE,比如.net的Visual Studio,java的IntelliJ Idea……但是你都會有用到VSCode的地方,這是一個免費、開源、內建git、可調試可運作、擁有智能提示和衆多插件的多語言編輯器,你現在在看的文章也是我使用VSCode編輯的,沒錯,它對markdown文法很友好,加上豐富的插件,讓你擁有一款輕量且功能強大的md編輯器。

好了,安利了這麼久,我們言歸正傳。打開VSCode的官網,在中間顯眼的地方就能看到Download了,下載下傳你所需的版本,這裡有Stable和Insider的版本,Stable是穩定版,沒有明顯的bug,Insider則是每周疊代更新的嘗鮮版,能更早的用上新功能,但是不免會有些明顯的bug。

unity vscode沒有智能提示_EOS基礎全家桶(十二)智能合約IDE-VSCode簡介準備安裝eosio.cdt安裝VSCode安裝VSCode插件豪華配置下載下傳eosio.cdt的源碼配置開發環境總結

安裝VSCode插件

VSCode的插件非常豐富,這得力于它的開源政策,創造出了一個良性社群環境。我們今天隻介紹和EOS的智能合約相關的插件,其他的搭建可以自己選擇,也可參考網上的各種環境建構的教程。

unity vscode沒有智能提示_EOS基礎全家桶(十二)智能合約IDE-VSCode簡介準備安裝eosio.cdt安裝VSCode安裝VSCode插件豪華配置下載下傳eosio.cdt的源碼配置開發環境總結
  • 【必須】C/C++

我們合約開發的語言是C++,是以這個庫就基本成必須了。這個庫提供了C語言相關的智能提示和調試等功能。

  • 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下的。

unity vscode沒有智能提示_EOS基礎全家桶(十二)智能合約IDE-VSCode簡介準備安裝eosio.cdt安裝VSCode安裝VSCode插件豪華配置下載下傳eosio.cdt的源碼配置開發環境總結

我們進入檢視tags,他的tag都是以cdt的版本命名的,從1.3~1.7都有,非常的良心。

unity vscode沒有智能提示_EOS基礎全家桶(十二)智能合約IDE-VSCode簡介準備安裝eosio.cdt安裝VSCode安裝VSCode插件豪華配置下載下傳eosio.cdt的源碼配置開發環境總結

我們選擇所需的版本進行拉取,建議直接拉取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才是最重要的。

更多内容請關注微信公衆号

unity vscode沒有智能提示_EOS基礎全家桶(十二)智能合約IDE-VSCode簡介準備安裝eosio.cdt安裝VSCode安裝VSCode插件豪華配置下載下傳eosio.cdt的源碼配置開發環境總結

繼續閱讀