使用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以前已經做過詳細介紹,這裡不再贅述,可以參考我這些文章:
-
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
再回到今天聊的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程式設計環境的相關內容,敬請期待。
感謝閱讀。
更多閱讀
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2636822/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Visual Studio Code好用的微軟程式碼編輯器微軟
- 20200115 - Visual Studio Code 編輯器
- Visual Studio Code 使用指南
- Visual Studio Code 使用筆記筆記
- Visual Studio Code 和 GitHub CopilotGithub
- Visual Studio Code:功能強大,易於使用的程式碼編輯器 mac/win版Mac
- Visual Studio Code
- 微軟程式碼編輯器Visual Studio Code Mac中文設定教程微軟Mac
- 使用Visual Studio Code進行MicroPython程式設計Python程式設計
- 如何使用Visual Studio Code除錯PHP CLI應用和Web應用除錯PHPWeb
- Visual Studio Code 小白使用介紹
- 【Python】—{Visual Studio Code}Python
- Microsoft Visual Studio CodeROS
- Anaconda 使用和 Visual Studio Code,PyCharm 對接全解析PyCharm
- 使用ABAP程式碼生成二維碼(QR Code)
- visual studio連線linux編碼Linux
- Visual Studio Code 1.78 釋出!
- Visual Studio Code 1.77 釋出!
- Java on Visual Studio Code的更新Java
- Visual Studio Code 程式碼顯示空格等空白符的方法
- 專為 Laravel 定製的 Visual Studio Code 編輯器Laravel
- 在 Visual Studio Code (VS Code) 中設定
- Visual Studio使用Git進行程式碼版本管理Git行程
- Visual Studio Code 常用外掛分享
- Java on Visual Studio Code 3月更新Java
- 12月更新 | Visual Studio Code PythonPython
- 正式釋出 | Visual Studio Code 1.65
- Java on Visual Studio Code 2月更新Java
- 10月更新 | Java on Visual Studio CodeJava
- 10 月更新 | Visual Studio Code PythonPython
- 3月更新 | Visual Studio Code PythonPython
- 6月更新 | Visual Studio Code PythonPython
- 6月更新 | Java on Visual Studio CodeJava
- Java on Visual Studio Code 4月更新Java
- Python遷移編輯器到Visual Studio Code 的步驟Python
- 如何使用 Visual Studio Code 除錯 Angular Schematics 實現除錯Angular
- 無需離開 Visual Studio 即可編寫 Markdown
- 使用 Visual Studio 2019 批量新增程式碼檔案頭