使用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倉庫地址:
安裝和配置的步驟在倉庫的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 編輯器使用
- Visual Studio Code好用的微軟程式碼編輯器微軟
- 如何在Visual Studio和CodeBlocks中反編譯C++程式碼BloC編譯C++
- 微軟程式碼編輯器Visual Studio Code Mac中文設定教程微軟Mac
- 在Visual Studio上用C++ 寫LinuxC++Linux
- Visual Studio Code:功能強大,易於使用的程式碼編輯器 mac/win版Mac
- Visual Studio 智慧程式碼外掛:CodeGeeX
- 如何使用Visual Studio Code除錯PHP CLI應用和Web應用除錯PHPWeb
- Visual Studio Code 使用筆記筆記
- Visual Studio Code 使用指南
- Visual Studio Code 使用心得
- 如何在Visual Studio中執行和除錯彙編程式碼?除錯
- 使用Visual Studio 2005 撰寫CUDA 程式
- Visual Studio Code
- 【實驗手冊】使用Visual Studio Code 開發.NET Core應用程式
- 使用ABAP程式碼生成二維碼(QR Code)
- Visual Studio Code 和 GitHub CopilotGithub
- Visual Studio Code 小白使用介紹
- 使用Visual Studio Code進行MicroPython程式設計Python程式設計
- Visual Studio 開發彙編程式
- 免費的visual studio智慧程式碼外掛——CodeGeeX
- Visual Studio - Now with Go support,你會用 Visual Studio來寫go嗎?Go
- Anaconda 使用和 Visual Studio Code,PyCharm 對接全解析PyCharm
- 使用 Visual Studio Code 入門 Angular 5Angular
- Microsoft Visual Studio CodeROS
- visual studio連線linux編碼Linux
- Visual Studio使用Git進行程式碼版本管理Git行程
- 使用pycharm or vscode來編寫python程式碼?PyCharmVSCodePython
- 在SAP雲平臺ABAP程式設計環境上編寫第一段ABAP程式程式設計
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker開發asp.net core和mysql應用DockerMacASP.NETMySql
- Visual Studio Code 試用體驗總結
- 【Python】—{Visual Studio Code}Python
- 在Visual Studio中快速啟動除錯Web應用程式除錯Web
- 用 SAP ABAP 編寫的俄羅斯遊戲遊戲
- 用Visual C++編寫電子郵件程式 (轉)C++
- Visual Studio Code 程式碼顯示空格等空白符的方法
- 專為 Laravel 定製的 Visual Studio Code 編輯器Laravel
- 使用 Visual Studio 進行 SQL Server 原始碼管理和部署SQLServer原始碼