3. ADT 和 SAP GUI 相比的一些独到之处
既然是一个基于Eclipse的IDE,ADT 和 SAP GUI 相比还是存在一些独到之处。
第一,由于 ADT 是基于 Eclipse 这个较之 SAP GUI 来说更加现代的 IDE,从使用习惯上来说更贴近 Java/C++ 程序员。
以 ABAP 类为例,各个维度的信息在 ADT 里能在一个屏幕里同时显示,在 SAP GUI 里一个屏幕显示的信息维度很单一。
如果想看其他维度信息,只有通过双击的方式跳转,查看完毕后通过回退键回到正在工作的界面。
又比如所有添加了关注的系统的 ST22 信息能在一个地方统一监控了:
第二,ADT 提供了很多代码重构的向导(Assistant), Java 和 C++ 的开发人员对这些类的重构功能一定不会陌生。
一些常用的代码重构功能如下:
- Delete unused variables:
快速删除一个方法里所有定义了但未使用的局部变量,这个功能很实用,SAP GUI 不支持。
- Extract Methods: 如果一段代码反复出现,可以考虑用重构技术里的方法提取,将其封装成一个方法。
当然还在使用 SAP GUI 的开发人员要使用 ABAP 重构向导也是可以的, 根据SAP GUI 版本的不同, 入口也稍有差异。
在 SAP GUI 740 版本里,重构向导通过 Utilities 菜单进入。
740 之前的版本,重构向导的打开方式大同小异:
第三,对 SAP GUI 一些常用功能的原生支持。
所谓原生支持,指用 Eclipse 原生的页面来提供以前在 SAP GUI 里实现的功能。
对 ABAP 开发顾问来说,几乎每天都要在 SAP GUI 进行的操作就是 ABAP 类和报表的调试。
有的以前从事 Java 开发的朋友们转到 SAP GUI 后,刚上手时使用 SAP GUI 的调试器总觉得很别扭。一旦使用 ADT 的调试器,熟悉的味道又回来了。在 ADT里调试 ABAP 和 Eclipse 里调试 Java 程序的方式完全一致。
SAP GUI 里的单元测试和分支/语句执行覆盖率:
ADT 里也提供了单元测试和各种覆盖率审查的原生支持:
SAP GUI 里的事务码 SAT 在 ADT 里的原生支持:
使用方式和 SAP GUI 里的没有差别。
第四,方便的SQL console功能。
以前在 SAP GUI 里时,有时出于测试目的想写些简单的 SQL 语言做些验证,还得创建一个报表然后在报表里书写。在 ADT 里,直接使用 SQL console 就可省去不必要的报表创建:
第五,改进的代码版本比较功能。
有些朋友反映 SAP GUI 里自带的代码比较工具不是很好用:
如今在 ADT 里,ABAP 开发人员终于可以像 Java 程序员一样,享受 Eclipse 提供的便利的代码版本比较功能了:
4. ADT 其他一些值得一提的小功能
- ADT Link
比如任何一个在 ADT 里能够查看的资源,都有一个所谓的 ADT Link,通过菜单 Share Link 查看:
这种Link格式如下:
adt://AG3/sap/bc/adt/vit/wb/object_type/tabldt/object_name/ZORDER
通过 Open ADT Link 菜单,输入上述 ADT Link,能直接打开对应的资源,而不需要像 SAP GUI 那样,需要先运行正确的事务码,进入事务码之后再打开资源。
- 自定义编辑器颜色
如何才能让自己使用的 IDE 和其他程序猿相比显得与众不同呢?一个办法是个性化字体和背景色。比如字体必须用程序猿专用的等宽开源字体 Inconsolata:
SAP GUI 的颜色个性化设置稍显麻烦,需要一项项手动设置。而 ADT 因为是基于 Eclipse,所以主题的个性化就容易多了。如果觉得下面的 dark 主题还不够酷,
安装一个名叫 Eclipse Color Theme 的插件,就可以使用这个插件预置好的几十套主题,真正做到一年 54 周每周换一套 Theme 了。
总结
作为一个拥有 14 年 ABAP 开发经验的老程序员,在笔者心中 SAP GUI 和 Eclipse 都是优秀的 ABAP IDE,各有其长处和适应场合。本文通过逐一将 SAP GUI 和 ADT 提供的开发特性做横向比较,希望能够帮助开发人员感知到这些年的集成开发环境自身随时代发展而持续演进,提高,不断改善开发人员使用体验的发展方向。
祝每一位 ABAP 开发人员都能愉快地使用 SAP GUI 和 ADT,做到得心应手。感谢阅读。