SAP ABAP Development Tool 提高开发效率的十个小技巧
這是 Jerry 2021 年的第 46 篇文章,也是汪子熙公眾號(hào)總共第 323 篇原創(chuàng)文章。
Jerry 已經(jīng)有很長(zhǎng)一陣子沒有打開工作電腦上的 SAP ABAP Development Tool 了。在用 Visual Studio Code 進(jìn)行 Angular 開發(fā)馬上快滿一年的時(shí)間點(diǎn)上,為了做到喜新不厭舊,本文把 SAP ABAP Development Tool 一些提高工作效率的使用小技巧羅列出來。歡迎大家在留言區(qū)補(bǔ)充。
關(guān)于 Jerry 之前分享過的 SAP ABAP Development Tool 使用技巧,請(qǐng)查閱這些文章:
-
ABAP Development Tool 代碼模板和其他一些實(shí)用技巧匯總
-
給你的ABAP對(duì)象打上標(biāo)簽(Tag)
-
ABAP開發(fā)環(huán)境終于支持以駝峰命名法自動(dòng)格式化ABAP變量名了
-
SAP官方發(fā)布的ABAP編程規(guī)范
-
ABAP開發(fā)環(huán)境語法高亮的那些事兒
-
不喜歡SAP GUI?那試試用Eclipse進(jìn)行ABAP開發(fā)吧
1. 快速打開 ABAP Development Tool 任意設(shè)置
假設(shè)我想打開 ABAP Development Tool 和顏色 (color) 相關(guān)的設(shè)置,但是我記不住具體的設(shè)置路徑了,沒有關(guān)系,使用快捷鍵 Ctrl + 3:
在輸入框內(nèi)輸入 color,然后就能看到所有和 color 相關(guān)的設(shè)置。
選擇自己想設(shè)置的條目,單擊,即可迅速進(jìn)入設(shè)置頁(yè)面:
2. CDS view 數(shù)據(jù)的本地保存
CDS view 數(shù)據(jù)預(yù)覽之后,可以通過 Add filter 右邊這個(gè)小圖標(biāo),以不同的格式另存到本地以便進(jìn)一步分析。
3. 快速打開任意一個(gè) ABAP 開發(fā)對(duì)象
快捷鍵 Ctrl + Shift + A,在打開的彈出窗口里輸入搜索條件,即可快速搜索并打開找到的對(duì)象。
支持常用的搜索通配符。
4. 在嵌入的彈出對(duì)話框查看對(duì)象明細(xì)
例如我們想查看標(biāo)準(zhǔn)視圖 /DMO/I_Travel_U 的明細(xì),無需打開其視圖本身。
直接鼠標(biāo)選中該視圖,按 F2 即可在彈出窗口里查看,清晰準(zhǔn)確,一目了然。
如果嫌這個(gè)彈出窗口尺寸太小,還可以將其以 ABAP Development Tool 屬性視圖的方式顯示,點(diǎn)擊這個(gè)小圖標(biāo)即可:
效果如下:
5. 在 ABAP 類方法實(shí)現(xiàn)的任意位置查看其參數(shù)定義
SAPGUI 里能在編寫 ABAP 類方法源代碼實(shí)現(xiàn)時(shí),隨時(shí)查看其方法參數(shù)定義,這一點(diǎn)我很喜歡。
在 ABAP Development Tool 里就無法隨時(shí)看到方法參數(shù)定義了。
不過只需要按一下 Alt + F2, 方法參數(shù)定義又回來了:
后續(xù)即將介紹的小技巧里,我們還能對(duì) Alt + F2 顯示的內(nèi)容進(jìn)行增強(qiáng)。
6. 類似 Visual Studio Code 的 Quick Fix 功能
我用了快一年的 Visual Studio Code 進(jìn)行 Angular 開發(fā)了,真心喜歡其 Quick Fix 功能, 編譯器能通過上下文,自動(dòng)給出一些編譯錯(cuò)誤的解決方案。
ABAP Development Tool 里也有類似功能。比如下面的例子,代碼第25行,變量 lo_request 沒有定義就直接使用,引起了一個(gè)編譯錯(cuò)誤。
選中 lo_request, 快捷鍵 Ctrl + 1,即可看到 ABAP 編譯器給出修復(fù)該語法錯(cuò)誤的幾種建議,這稱之為 ADT Quick Assistant.
這里選擇第一條建議即 Declare local variable lo_request, 雙擊,定義局部變量 lo_request 的代碼就自動(dòng)插入到指定的位置了:
根據(jù)不同的選中上下文,Ctrl + 1 的行為也不同。比如同時(shí)選中 ABAP 方法內(nèi)的若干行代碼,再按 Ctrl + 1,彈出的則是代碼重構(gòu)的一些建議,比如將這些選中的代碼,抽取到一個(gè)新的私有方法去。這種代碼重構(gòu)方式稱之為 Method Extraction.
選中一個(gè)硬編碼的字符串,Ctrl + 1 后編譯器會(huì)提示我們,是否考慮將其轉(zhuǎn)換成一個(gè)局部常量,類常量,局部變量,或是使用 ABAP Text Pool 來避免硬編碼。
對(duì)自己編寫的代碼經(jīng)常使用 ADT Quick Assistant, 多思考其提出的重構(gòu)建議,有助于提升我們的代碼質(zhì)量。
7. 添加代碼注釋
想讓你的方法能夠像 Visual Studio Code 里顯示的注釋一樣專業(yè)嗎?在 SAP ABAP Development Tool 里當(dāng)然也能做到。
選中下圖第28行的方法調(diào)用 get_destination, 按 F2 之后,顯示的是 SAP ABAP Development Tool 里默認(rèn)的方法參數(shù)說明。
現(xiàn)在我們?cè)谠摲椒ǖ亩x代碼的前一行,手動(dòng)維護(hù)下列注釋。
激活之后再次選中方法調(diào)用然后按 F2,我們之前手動(dòng)維護(hù)的注釋,就會(huì)渲染成如下紅色高亮區(qū)域的文本,是不是看起來專業(yè)多了?通過語法{@link XXXX}, 我們可以在注釋里插入指向 ABAP 標(biāo)準(zhǔn)開發(fā)對(duì)象的超鏈接,提供注釋的可讀性。
8. 讓 ABAP 代碼格式化工具支持駝峰風(fēng)格(Camel Case)
在 ABAP Formatter 設(shè)置里,將 Keep Camel Case Identifiers 前的勾打上即可。
之后,代碼中這些采用駝峰風(fēng)格定義的變量名,就不會(huì)被 ABAP Formatter 轉(zhuǎn)換成純小寫了。當(dāng)然,代碼中使用下劃線風(fēng)格還是駝峰風(fēng)格來對(duì)變量進(jìn)行命令,還得遵循項(xiàng)目本身的編程規(guī)范。
9. 更改 ABAP 關(guān)鍵字的顏色
SAPGUI 里所有的 ABAP 關(guān)鍵字都只能設(shè)置為同一種顏色。而 ABAP Development Tool 里,能夠?yàn)椴煌年P(guān)鍵字分別設(shè)置不同的顏色:
如果嫌麻煩不愿意逐一設(shè)置,可以直接導(dǎo)入 Github 上這個(gè)設(shè)置:
https://github.com/FreHu/eclipse-abap-keywordcolors
Visual Studio Code 需要安裝額外的擴(kuò)展才能實(shí)現(xiàn)這個(gè)顏色更改需求,而 ADT 本身的設(shè)置就足以工作了,相當(dāng)贊。如果需要整天面對(duì) ABAP 代碼,那么將其外觀設(shè)置得五彩繽紛一點(diǎn),或許也能讓自己編程時(shí),心情更加愉悅一些。
10. ABAP Occurances
以 Visual Studio Code 為例,假設(shè)我想查看名為 config 的屬性在 Component 里所有的出現(xiàn)場(chǎng)景(Occurances), 需要 Ctrl + F 打開搜索框,輸入 .config. 這樣,代碼中所有出現(xiàn) .config 的位置,會(huì)被高亮顯示。
在 ABAP Development Tool 里就方便多了。
假設(shè)我想查看代碼中所有出現(xiàn) zbooking 的位置。直接點(diǎn)擊其即可。
單擊后,代碼中所有出現(xiàn) zbooking 的位置,會(huì)自動(dòng)被高亮顯示。
按 “Ctrl + ,” 的快捷鍵,可以在這些位置之間進(jìn)行切換。
在使用該功能時(shí),確保編輯器里的 “ABAP Occurances” 處于開啟狀態(tài)。
Occurances 顯示的顏色和外觀也能夠定制化:
比如下圖是我將高亮顯示更改為紅色下劃線的效果:
希望這些小技巧能夠幫助提高大家使用 SAP ABAP Development Tool 的開發(fā)效率。
Jerry 的 ABAP 專題
-
Jerry的ABAP, Java和JavaScript亂燉
-
ABAP開發(fā)人員未來應(yīng)該學(xué)些什么
-
Jerry 2017年的五一小長(zhǎng)假:8種經(jīng)典排序算法的ABAP實(shí)現(xiàn)
-
Jerry的ABAP原創(chuàng)技術(shù)文章合集
-
300行ABAP代碼實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的區(qū)塊鏈原型
-
使用Java+SAP云平臺(tái)+SAP Cloud Connector調(diào)用ABAP On-Premise系統(tǒng)里的函數(shù)
-
在SAP云平臺(tái)的CloudFoundry環(huán)境下消費(fèi)ABAP On-Premise OData服務(wù)
-
ABAP vs Java, 蛙泳 vs 自由泳
-
聊聊C語言和ABAP
-
動(dòng)手使用ABAP Channel開發(fā)一些小工具,提升日常工作效率
-
我用ABAP做過的那些無聊的事情
-
不喜歡SAP GUI?那試試用Eclipse進(jìn)行ABAP開發(fā)吧
-
使用Visual Studio Code編寫和激活A(yù)BAP代碼
-
你的ABAP程序給佛祖開過光么?來試試Jerry這個(gè)小技巧
-
在SAP云平臺(tái)ABAP編程環(huán)境上編寫第一段ABAP程序
-
SAP官方發(fā)布的ABAP編程規(guī)范
-
ABAP Code Inspector那些隱藏的功能,您都知道嗎?
-
還在用ABAP進(jìn)行SAP產(chǎn)品的二次開發(fā)?來了解下這種全新的二次開發(fā)理念吧
-
ABAP Netweaver體內(nèi)的那些寄生式編程語言
-
從SAP社區(qū)上的一篇博客開始,聊聊SAP產(chǎn)品命名背后的那份情懷
-
云端的ABAP Restful服務(wù)開發(fā)
-
如何在SAP云平臺(tái)ABAP編程環(huán)境里把CDS view暴露成OData服務(wù)
-
使用abapGit在ABAP On-Premises系統(tǒng)和SAP云平臺(tái)ABAP環(huán)境之間進(jìn)行代碼傳輸
-
30分鐘用Restful ABAP Programming模型開發(fā)一個(gè)支持增刪改查的Fiori應(yīng)用
-
Jerry帶您了解Restful ABAP Programming模型系列之二:Action和Validation的實(shí)現(xiàn)
-
Jerry帶您了解Restful ABAP Programming模型系列之三:云端ABAP應(yīng)用調(diào)試
-
SAP云平臺(tái)上的ABAP編程環(huán)境里如何消費(fèi)第三方服務(wù)
-
ABAP開發(fā)者上云的時(shí)候到了 - 現(xiàn)在大家可以免費(fèi)使用SAP云平臺(tái)ABAP環(huán)境的試用版了
-
學(xué)而不思則罔 - SAP云平臺(tái)ABAP編程環(huán)境的由來和適用場(chǎng)景
-
SAP云平臺(tái)里的三叉戟應(yīng)用
-
如何基于Restful ABAP Programming模型開發(fā)并部署一個(gè)支持增刪改查的Fiori應(yīng)用
-
SAP 2019 TechEd Key Note解讀:云時(shí)代下SAP從業(yè)人員如何做二次開發(fā)?
-
有哪些ABAP關(guān)鍵字和語法,到了ABAP云環(huán)境上就沒辦法用了?
-
ABAP開發(fā)環(huán)境終于支持以駝峰命名法自動(dòng)格式化ABAP變量名了
-
利用ABAP 740的新關(guān)鍵字REDUCE完成一個(gè)實(shí)際工作任務(wù)
-
一段讓人瑟瑟發(fā)抖的ABAP代碼
-
昨日萬圣節(jié)ABAP怪獸級(jí)代碼謎團(tuán),公布答案啦
-
介紹一種在ABAP內(nèi)核態(tài)進(jìn)行內(nèi)表高效拷貝的方法
-
使用SAP Cloud Application Programming模型開發(fā)OData的一個(gè)實(shí)際例子
-
當(dāng)ABAP遇見普羅米修斯
-
使用ABAP繪制可伸縮矢量圖
-
ABAP開發(fā)環(huán)境語法高亮的那些事兒
-
SAP錯(cuò)誤消息調(diào)試之七種武器:讓所有的錯(cuò)誤消息都能被定位
-
使用ABAP操作Excel的幾種方法
-
SAP GUI里的收藏夾事務(wù)碼管理工具
-
SAP GUI和Windows注冊(cè)表
-
有了Debug權(quán)限就能干壞事?小心了,你的一舉一動(dòng)盡在系統(tǒng)監(jiān)控中
-
ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX這些東東是什么鬼
-
實(shí)現(xiàn)ABAP條件斷點(diǎn)的三種方式
-
使用SAT跟蹤監(jiān)控從瀏覽器打開的SAP應(yīng)用的性能和調(diào)用棧
-
一個(gè)13年ABAP老兵的建議:了解這些基礎(chǔ)知識(shí),對(duì)ABAP開發(fā)有百利而無一害
-
SAP ABAP Netweaver容器化, 不可能完成的任務(wù)嗎?
-
SAP產(chǎn)品增強(qiáng)技術(shù)回顧
-
SAP API開發(fā)方法大全
-
淺談Java和SAP ABAP的靜態(tài)代理和動(dòng)態(tài)代理,以及ABAP面向切面編程的嘗試
-
SAP ABAP應(yīng)用服務(wù)器的HTTP響應(yīng)狀態(tài)碼(Status Code)
-
SAP ABAP里存在Java List這種集合工具類么?CL_OBJECT_COLLECTION了解一下
-
ABAP面試題系列:寫一組會(huì)出現(xiàn)死鎖(Deadlock)的ABAP程序
-
SAP ABAP Netweaver服務(wù)器的標(biāo)準(zhǔn)登錄方式講解
-
SAP ABAP關(guān)鍵字語法圖和ABAP代碼自動(dòng)生成工具Code Composer
-
SAP ABAP SM50的另類用途 - ABAP工作進(jìn)程對(duì)數(shù)據(jù)庫(kù)表讀取操作的檢測(cè)
-
關(guān)于SAP ABAP字符變量和字符串變量字符個(gè)數(shù)的一個(gè)知識(shí)點(diǎn),和一個(gè)血案
-
SAP ABAP一組關(guān)鍵字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
-
SAP ABAP和Java里的弱引用(WeakReference)和軟引用(SoftReference)
-
SAP AMDP介紹 - ABAP托管的HANA數(shù)據(jù)庫(kù)過程
-
給你的ABAP對(duì)象打上標(biāo)簽(Tag)
-
歷史上的今天:編程語言中null引用的十億美元錯(cuò)誤
-
ABAP Development Tool 代碼模板和其他一些實(shí)用技巧匯總
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP ABAP Development Tool 提高开发效率的十个小技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAD打开文件总是弹出要求选择字体该怎么
- 下一篇: 介绍一个好用的静态图片合成为 gif 动