使用Visual Studio Code编写和激活ABAP代码 (上)
豬年春節后的第一篇,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。
上圖中應用服務器層的底層是數據庫服務器層,Netweaver也支持多種主流數據庫提供商的服務。例如下圖是Jerry使用的一個Netweaver系統,支持包括SAP HANA在內的十種數據庫管理系統(DBMS)。
我們簡單回顧下之前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以前已經做過詳細介紹,這里不再贅述,可以參考我這些文章:
-
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
-
Jerry在SAP Community上寫給老外看的文章:https://blogs.sap.com/2014/08/12/an-example-to-help-you-understand-how-does-adt-work/
而在瀏覽器里編寫ABAP,即通常意義上的ABAP WebIDE,實現方式有兩種。一種是通過傳統的ITS****(Internet Trasaction Server),通過這種方式在瀏覽器里顯示的ABAP代碼缺乏語法高亮:
Jerry寫過的相關博客:
-
Open your SAP GUI transaction in Fiori launchpad
https://blogs.sap.com/2016/12/21/open-your-sap-gui-transaction-in-fiori-launchpad/
-
How is old SAP GUI transaction embedded into Fiori launchpad
https://blogs.sap.com/2016/12/21/how-is-old-sap-gui-transaction-embedded-into-fiori-launchpad/
另一種技術就是S/4HANA某些應用,比如Custom Logic采用的,支持語法高亮。
當然這個語法高亮的支持不是天上掉下來的,詳細實現參考我的博客:
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的擴展是開源的,github倉庫地址:
https://github.com/marcellourbani/vscode_abap_remote_fs
安裝和配置的步驟在倉庫的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編程環境的相關內容,敬請期待。
感謝閱讀。
更多閱讀
-
動手使用ABAP Channel開發一些小工具,提升日常工作效率
-
聊聊C語言和ABAP
-
ABAP vs Java, 蛙泳 vs 自由泳
-
300行ABAP代碼實現一個最簡單的區塊鏈原型
-
Jerry的ABAP原創技術文章合集
-
ABAP開發人員未來應該學些什么
-
Jerry的ABAP, Java和JavaScript亂燉
-
我用ABAP做過的那些無聊的事情
-
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
-
那些年我用過的SAP IDE
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的使用Visual Studio Code编写和激活ABAP代码 (上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国内iphone怎么上推特
- 下一篇: cpu带k和不带k的区别是什么(QS版与