使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

i042416發表於2019-02-24

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

2019年的六分之一馬上就快過完了,不知道大家在新的一年是否給自己定了新的小目標呢?這裡Jerry先預祝大家到2019年年底的時候,在年初制定的小目標都能實現。

2018年4月之前,Jerry一半時間為SAP S4CRM團隊工作,剩下的一半時間為SAP C4C團隊工作,所以那段時間大家能發現,Jerry公眾號的文章主要是圍繞著這兩個SAP產品來寫的。

4月之後,Jerry換組,到了新的部門,工作內容也發生了變化,不再專注於某個特定的SAP產品,而是專案需要我熟悉什麼產品,我就得熟悉什麼產品,所以之後我的公眾號文章,主題也逐漸多種多樣起來。

言歸正傳,Jerry之前的文章  那些年我用過的SAP IDE  曾經介紹過除了SAPGUI之外的其他ABAP開發工具和ABAP程式碼瀏覽工具。

得益於Netweaver職責清晰的三層架構,提供了ABAP開發環境和執行環境的 應用伺服器層 (下圖中間的Application server layer)作為ABAP應用的核心, 其上可以靈活適配不同的展現層(Presentation layer), 比如WebIDE, Eclipse,和今天要介紹的Visual Studio Code。

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

我們簡單回顧下之前Jerry介紹過的不同的ABAP開發工具。

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

ABAP Development Tool的Java端實現就是Eclipse的一個擴充套件,使用 JCO (Java Connector)連線ABAP後臺的adt服務,實現對ABAP程式的操作。

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

關於ABAP Development Tool的細節,Jerry以前已經做過詳細介紹,這裡不再贅述,可以參考我這些文章:

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

Jerry寫過的相關部落格:

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

當然這個語法高亮的支援不是天上掉下來的,詳細實現參考我的部落格:

How ABAP syntax highlight is implemented in WebIDE launched via browser

https://blogs.sap.com/2018/03/09/how-abap-syntax-highlight-is-implemented-in-webide-launched-via-browser/

再回到今天聊的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編寫和啟用ABAP程式碼 (上)

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

https://github.com/marcellourbani/vscode_abap_remote_fs

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

這個擴充套件的配置檔案settings.json的內容可以參考下圖:

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

當然也有一些Visual Studio Code提供的特色功能,比如下圖這種類Google的即時搜尋。

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

這個擴充套件本身是不提供ABAP程式碼語法高亮的,需要安裝另一個來自 Lars Hvam 貢獻的語法高亮擴充套件。

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

下面這張動圖來自Marcello,演示了通過Visual Studio Code的這個擴充套件實現ABAP程式碼的基本編輯。

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

作者在他的readme也明確註明,這個擴充套件還處於Beta測試階段, 使用者需自己承擔風險

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

在Jerry看來,Visual Studio Code的這個擴充套件,如果用來做ABAP開發的話,功能還相對侷限,但是如果對SAPGUI或者ABAP Development Tool產生了審美疲勞,想換一種工具來閱讀ABAP原始碼,那麼它和下圖的Sublime Text一樣,都是不錯的選擇。

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

將來如果Jerry有空,會在這篇文章的下半部分簡單介紹下這個擴充套件的TypeScript實現細節。

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)

感謝閱讀。

更多閱讀

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

使用Visual Studio Code編寫和啟用ABAP程式碼 (上)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2636822/,如需轉載,請註明出處,否則將追究法律責任。

相關文章