使用Visual Studio Code編寫和激活ABAP代碼 (上)

豬年春節後的第一篇,Jerry祝各位豬年大吉!前端

2019年的六分之一立刻就快過完了,不知道你們在新的一年是否給本身定了新的小目標呢?這裏Jerry先預祝你們到2019年年末的時候,在年初制定的小目標都能實現。git

2018年4月以前,Jerry一半時間爲SAP S4CRM團隊工做,剩下的一半時間爲SAP C4C團隊工做,因此那段時間你們能發現,Jerry公衆號的文章主要是圍繞着這兩個SAP產品來寫的。github

4月以後,Jerry換組,到了新的部門,工做內容也發生了變化,再也不專一於某個特定的SAP產品,而是項目須要我熟悉什麼產品,我就得熟悉什麼產品,因此以後個人公衆號文章,主題也逐漸多種多樣起來。web

言歸正傳,Jerry以前的文章 那些年我用過的SAP IDE 曾經介紹過除了SAPGUI以外的其餘ABAP開發工具和ABAP代碼瀏覽工具。數據庫

得益於Netweaver職責清晰的三層架構,提供了ABAP開發環境和運行環境的應用服務器層(下圖中間的Application server layer)做爲ABAP應用的核心, 其上能夠靈活適配不一樣的展示層(Presentation layer), 好比WebIDE, Eclipse,和今天要介紹的Visual Studio Code。編程

上圖中應用服務器層的底層是數據庫服務器層,Netweaver也支持多種主流數據庫提供商的服務。例以下圖是Jerry使用的一個Netweaver系統,支持包括SAP HANA在內的十種數據庫管理系統(DBMS)。json

咱們簡單回顧下以前Jerry介紹過的不一樣的ABAP開發工具。瀏覽器

首先是ABAP Development Tool(簡稱ADT), 對ABAP程序提供增刪查改和激活操做的函數,經過位於路徑sap/bc/下面的SICF服務節點adt暴露給外部消費者。服務器

ABAP Development Tool的Java端實現就是Eclipse的一個擴展,使用JCO(Java Connector)鏈接ABAP後臺的adt服務,實現對ABAP程序的操做。架構

關於ABAP Development Tool的細節,Jerry之前已經作過詳細介紹,這裏再也不贅述,能夠參考我這些文章:

而在瀏覽器裏編寫ABAP,即一般意義上的ABAP WebIDE,實現方式有兩種。一種是經過傳統的ITS(Internet Trasaction Server),經過這種方式在瀏覽器裏顯示的ABAP代碼缺少語法高亮:

Jerry寫過的相關博客:

另外一種技術就是S/4HANA某些應用,好比Custom Logic採用的,支持語法高亮。

固然這個語法高亮的支持不是天上掉下來的,詳細實現參考個人博客:

How ABAP syntax highlight is implemented in WebIDE launched via browser

https://blogs.sap.com/2018/03...

再回到今天聊的Visual Studio Code。SAP成都研究院不少前端開發的同事都向我推薦過這個IDE。Jerry試用過以後,印象最深的就是它那超快的啓動速度,一流的擴展性和繁榮的生態圈。其擴展應用的豐富程度不亞於Sublime Text和Eclipse這些老牌開發工具。

和SAP自研的ABAP Development Tool思路同樣,本文介紹的Visual Studio Code擴展應用,ABAP Remote File System,也是經過另外一種編程語言TypeScript去遠程消費ABAP後臺程序的增刪查改服務。

該擴展應用的做者叫Marcello,一位居住在倫敦的程序猿(Jerry想起了西甲皇家馬德里足球隊昔日的隊寵)。

這個Visual Studio Code的擴展是開源的,github倉庫地址:

https://github.com/marcellour...

安裝和配置的步驟在倉庫的readme裏有詳細說明,最簡單的方式就是在Visual Studio Code裏直接用abap做爲關鍵字搜索Market place,而後點Install安裝。

這個擴展的配置文件settings.json的內容能夠參考下圖:

配置完成後,在Visual Studio Code的命令欄裏能看到鏈接ABAP系統的指令和settings.json裏配置的兩條記錄,任選一個後登入系統,顯示該系統下的ABAP程序資源。操做它們的方式和基於Eclipse的ABAP Development Tool大同小異。

固然也有一些Visual Studio Code提供的特點功能,好比下圖這種類Google的即時搜索。

這個擴展自己是不提供ABAP代碼語法高亮的,須要安裝另外一個來自Lars Hvam貢獻的語法高亮擴展。

安裝完畢後,ABAP的語法高亮也能順利在Visual Studio Code裏工做了。

下面這張動圖來自Marcello,演示了經過Visual Studio Code的這個擴展實現ABAP代碼的基本編輯。

做者在他的readme也明確註明,這個擴展還處於Beta測試階段,使用者需本身承擔風險

在Jerry看來,Visual Studio Code的這個擴展,若是用來作ABAP開發的話,功能還相對侷限,可是若是對SAPGUI或者ABAP Development Tool產生了審美疲勞,想換一種工具來閱讀ABAP源代碼,那麼它和下圖的Sublime Text同樣,都是不錯的選擇。

未來若是Jerry有空,會在這篇文章的下半部分簡單介紹下這個擴展的TypeScript實現細節。

另外,今年Jerry也會爭取能分享一些SAP雲平臺上ABAP編程環境的相關內容,敬請期待。

感謝閱讀。

更多閱讀

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索