SAP ABAP Development Tool 提高开发效率的十个小技巧

这是 Jerry 2021 年的第 46 篇文章,也是汪子熙公众号总共第 323 篇原创文章。

Jerry 已经有很长一阵子没有打开工作电脑上的 SAP ABAP Development Tool 了。在用 Visual Studio Code 进行 Angular 开发马上快满一年的时间点上,为了做到喜新不厌旧,本文把 SAP ABAP Development Tool 一些提高工作效率的使用小技巧罗列出来。欢迎大家在留言区补充。

关于 Jerry 之前分享过的 SAP ABAP Development Tool 使用技巧,请查阅这些文章:

1. 快速打开 ABAP Development Tool 任意设置

假设我想打开 ABAP Development Tool 和颜色 (color) 相关的设置,但是我记不住具体的设置路径了,没有关系,使用快捷键 Ctrl + 3:

在输入框内输入 color,然后就能看到所有和 color 相关的设置。


选择自己想设置的条目,单击,即可迅速进入设置页面:

2. CDS view 数据的本地保存

CDS view 数据预览之后,可以通过 Add filter 右边这个小图标,以不同的格式另存到本地以便进一步分析。

3. 快速打开任意一个 ABAP 开发对象

快捷键 Ctrl + Shift + A,在打开的弹出窗口里输入搜索条件,即可快速搜索并打开找到的对象。

支持常用的搜索通配符。

4. 在嵌入的弹出对话框查看对象明细

例如我们想查看标准视图 /DMO/I_Travel_U 的明细,无需打开其视图本身。


直接鼠标选中该视图,按 F2 即可在弹出窗口里查看,清晰准确,一目了然。


如果嫌这个弹出窗口尺寸太小,还可以将其以 ABAP Development Tool 属性视图的方式显示,点击这个小图标即可:

效果如下:


5. 在 ABAP 类方法实现的任意位置查看其参数定义

SAPGUI 里能在编写 ABAP 类方法源代码实现时,随时查看其方法参数定义,这一点我很喜欢。

在 ABAP Development Tool 里就无法随时看到方法参数定义了。


不过只需要按一下 Alt + F2, 方法参数定义又回来了:

后续即将介绍的小技巧里,我们还能对 Alt + F2 显示的内容进行增强。

6. 类似 Visual Studio Code 的 Quick Fix 功能

我用了快一年的 Visual Studio Code 进行 Angular 开发了,真心喜欢其 Quick Fix 功能, 编译器能通过上下文,自动给出一些编译错误的解决方案。

ABAP Development Tool 里也有类似功能。比如下面的例子,代码第25行,变量 lo_request 没有定义就直接使用,引起了一个编译错误。


选中 lo_request, 快捷键 Ctrl + 1,即可看到 ABAP 编译器给出修复该语法错误的几种建议,这称之为 ADT Quick Assistant.


这里选择第一条建议即 Declare local variable lo_request, 双击,定义局部变量 lo_request 的代码就自动插入到指定的位置了:

根据不同的选中上下文,Ctrl + 1 的行为也不同。比如同时选中 ABAP 方法内的若干行代码,再按 Ctrl + 1,弹出的则是代码重构的一些建议,比如将这些选中的代码,抽取到一个新的私有方法去。这种代码重构方式称之为 Method Extraction.

选中一个硬编码的字符串,Ctrl + 1 后编译器会提示我们,是否考虑将其转换成一个局部常量,类常量,局部变量,或是使用 ABAP Text Pool 来避免硬编码。

对自己编写的代码经常使用 ADT Quick Assistant, 多思考其提出的重构建议,有助于提升我们的代码质量。

7. 添加代码注释

想让你的方法能够像 Visual Studio Code 里显示的注释一样专业吗?在 SAP ABAP Development Tool 里当然也能做到。

选中下图第28行的方法调用 get_destination, 按 F2 之后,显示的是 SAP ABAP Development Tool 里默认的方法参数说明。

现在我们在该方法的定义代码的前一行,手动维护下列注释。

激活之后再次选中方法调用然后按 F2,我们之前手动维护的注释,就会渲染成如下红色高亮区域的文本,是不是看起来专业多了?通过语法{@link XXXX}, 我们可以在注释里插入指向 ABAP 标准开发对象的超链接,提供注释的可读性。

8. 让 ABAP 代码格式化工具支持驼峰风格(Camel Case)

在 ABAP Formatter 设置里,将 Keep Camel Case Identifiers 前的勾打上即可。


之后,代码中这些采用驼峰风格定义的变量名,就不会被 ABAP Formatter 转换成纯小写了。当然,代码中使用下划线风格还是驼峰风格来对变量进行命令,还得遵循项目本身的编程规范。


9. 更改 ABAP 关键字的颜色

SAPGUI 里所有的 ABAP 关键字都只能设置为同一种颜色。而 ABAP Development Tool 里,能够为不同的关键字分别设置不同的颜色:

如果嫌麻烦不愿意逐一设置,可以直接导入 Github 上这个设置:

https://github.com/FreHu/eclipse-abap-keywordcolors

Visual Studio Code 需要安装额外的扩展才能实现这个颜色更改需求,而 ADT 本身的设置就足以工作了,相当赞。如果需要整天面对 ABAP 代码,那么将其外观设置得五彩缤纷一点,或许也能让自己编程时,心情更加愉悦一些。

10. ABAP Occurances

以 Visual Studio Code 为例,假设我想查看名为 config 的属性在 Component 里所有的出现场景(Occurances), 需要 Ctrl + F 打开搜索框,输入 .config. 这样,代码中所有出现 .config 的位置,会被高亮显示。

在 ABAP Development Tool 里就方便多了。

假设我想查看代码中所有出现 zbooking 的位置。直接点击其即可。

单击后,代码中所有出现 zbooking 的位置,会自动被高亮显示。

按 "Ctrl + ," 的快捷键,可以在这些位置之间进行切换。

29

在使用该功能时,确保编辑器里的 "ABAP Occurances" 处于开启状态。

Occurances 显示的颜色和外观也能够定制化:

比如下图是我将高亮显示更改为红色下划线的效果:

希望这些小技巧能够帮助提高大家使用 SAP ABAP Development Tool 的开发效率。

Jerry 的 ABAP 专题

更多Jerry的原创文章,尽在:"汪子熙":


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容