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

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

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

  • ABAP Development Tool 代码模板和其他一些实用技巧汇总

  • 给你的ABAP对象打上标签(Tag)

  • ABAP开发环境终于支持以驼峰命名法自动格式化ABAP变量名了

  • SAP官方发布的ABAP编程规范

  • ABAP开发环境语法高亮的那些事儿

  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

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 + ,” 的快捷键,可以在这些位置之间进行切换。

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

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

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

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

Jerry 的 ABAP 专题

  • Jerry的ABAP, Java和JavaScript乱炖

  • ABAP开发人员未来应该学些什么

  • Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现

  • Jerry的ABAP原创技术文章合集

  • 300行ABAP代码实现一个最简单的区块链原型

  • 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

  • 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

  • ABAP vs Java, 蛙泳 vs 自由泳

  • 聊聊C语言和ABAP

  • 动手使用ABAP Channel开发一些小工具,提升日常工作效率

  • 我用ABAP做过的那些无聊的事情

  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

  • 使用Visual Studio Code编写和激活ABAP代码

  • 你的ABAP程序给佛祖开过光么?来试试Jerry这个小技巧

  • 在SAP云平台ABAP编程环境上编写第一段ABAP程序

  • SAP官方发布的ABAP编程规范

  • ABAP Code Inspector那些隐藏的功能,您都知道吗?

  • 还在用ABAP进行SAP产品的二次开发?来了解下这种全新的二次开发理念吧

  • ABAP Netweaver体内的那些寄生式编程语言

  • 从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀

  • 云端的ABAP Restful服务开发

  • 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务

  • 使用abapGit在ABAP On-Premises系统和SAP云平台ABAP环境之间进行代码传输

  • 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用

  • Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

  • Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试

  • SAP云平台上的ABAP编程环境里如何消费第三方服务

  • ABAP开发者上云的时候到了 - 现在大家可以免费使用SAP云平台ABAP环境的试用版了

  • 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景

  • SAP云平台里的三叉戟应用

  • 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用

  • SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

  • 有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

  • ABAP开发环境终于支持以驼峰命名法自动格式化ABAP变量名了

  • 利用ABAP 740的新关键字REDUCE完成一个实际工作任务

  • 一段让人瑟瑟发抖的ABAP代码

  • 昨日万圣节ABAP怪兽级代码谜团,公布答案啦

  • 介绍一种在ABAP内核态进行内表高效拷贝的方法

  • 使用SAP Cloud Application Programming模型开发OData的一个实际例子

  • 当ABAP遇见普罗米修斯

  • 使用ABAP绘制可伸缩矢量图

  • ABAP开发环境语法高亮的那些事儿

  • SAP错误消息调试之七种武器:让所有的错误消息都能被定位

  • 使用ABAP操作Excel的几种方法

  • SAP GUI里的收藏夹事务码管理工具

  • SAP GUI和Windows注册表

  • 有了Debug权限就能干坏事?小心了,你的一举一动尽在系统监控中

  • ABAP CCDEF, CCIMP, CCMAC, CCAU, CMXXX这些东东是什么鬼

  • 实现ABAP条件断点的三种方式

  • 使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈

  • 一个13年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害

  • SAP ABAP Netweaver容器化, 不可能完成的任务吗?

  • SAP产品增强技术回顾

  • SAP API开发方法大全

  • 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试

  • SAP ABAP应用服务器的HTTP响应状态码(Status Code)

  • SAP ABAP里存在Java List这种集合工具类么?CL_OBJECT_COLLECTION了解一下

  • ABAP面试题系列:写一组会出现死锁(Deadlock)的ABAP程序

  • SAP ABAP Netweaver服务器的标准登录方式讲解

  • SAP ABAP关键字语法图和ABAP代码自动生成工具Code Composer

  • SAP ABAP SM50的另类用途 - ABAP工作进程对数据库表读取操作的检测

  • 关于SAP ABAP字符变量和字符串变量字符个数的一个知识点,和一个血案

  • SAP ABAP一组关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析

  • SAP ABAP和Java里的弱引用(WeakReference)和软引用(SoftReference)

  • SAP AMDP介绍 - ABAP托管的HANA数据库过程

  • 给你的ABAP对象打上标签(Tag)

  • 历史上的今天:编程语言中null引用的十亿美元错误

  • ABAP Development Tool 代码模板和其他一些实用技巧汇总

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

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

  1. 如何安装最新版本的 SAP ABAP Development Tool ( ADT ) 2021年度更新

    下载链接:https://tools.hana.ondemand.com/#abap 首先安装 Eclipse IDE for Java Developers 找到适合自己操作系统的 Eclipse ...

  2. ABAP Development Tool 代码模板和其他一些实用技巧汇总

    这是 Jerry 2021 年的第 35 篇文章,也是汪子熙公众号总共第 311 篇原创文章. Jerry 已经告别 ABAP 开发很长一段时间了,最近有朋友问我一个关于 ABAP Developme ...

  3. 如何在 ABAP Development Tool 创建新的 ABAP Cloud 项目

    前提条件:必须在 SAP Business Technology Platform 上创建了对应的 ABAP 环境. 打开 ABAP Development Tool,新建一个 ABAP Cloud ...

  4. python 电路仿真spice_提高开发效率和质量?用SPICE仿真音效

    我在网上查找音效电路原理图时想到,如果能在出图前先用通用模拟电路仿真器(SPICE)进行模拟检验,可能会提高开发效率和质量.但由于任何电子模拟器都无法读取并输出音频文件,所以我用Pythons波形模块 ...

  5. 开发人员提高开发效率的10个推荐工具

    推荐10个能够提高开发人员开发效率的10个工具 腾讯云开发CloudBase 云开发(Tencent CloudBase,TCB): Cloud Base是腾讯云提供的云原生一体化开发环境和工具平台, ...

  6. “六神”——技术提高开发效率的一个方案

    这个方案并不是我在系统设计方面的最早一次尝试.但它在提高开发效率方面,是效果最为显著的一个方案. 简介 "六神"框架提供了一套简单而通用的.从Web层到数据库操作(增加单个数据.删 ...

  7. 什么样的鼠标对程序员最有用,超级提高开发效率

    目录 学会使用鼠标左边的两个按键,提高开发效率 .今天给大家分享一个鼠标小技巧,先看下图 这两个键非常有用,可能很多人还不知道怎么用他,加上很多公司都配置很普通的鼠标,根本没有这个两个按钮. 那这两个 ...

  8. 能够提高开发效率的Eclipse实用操作

    概要: 工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个"器".本文会从 Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标 ...

  9. 如何通过组件化提高开发效率?

    在软件开发过程中,大到业务模块的划分,小到技术组件的开发,都属于组件化的思考范畴内.很多时候我们到网上搜索「组件化」关键词,都只会看到关于前端组件化的资料,而对于后台开发组件化的资料却很少,那这是不是 ...

最新文章

  1. centos 脚本基础练习1
  2. shell字符串截取方法
  3. 学习如何使用JavaScript 生成各种好看的头像!
  4. 组合恒等式3 母函数与形式幂级数的运算
  5. 【pmcaff】pm怎么跟妈妈解释自己是做什么的
  6. 怎样把php文件改成固定大小,php修改上传文件大小限制的方法
  7. MySQL高级 - 应用优化
  8. C#中你想象的Task,很简单?
  9. Java命令行界面(第23部分):Rop
  10. 正确设置asp.net网站的404错误页面
  11. Spark源码分析之SchedulerBackend分析
  12. 七、制作主题(二) Anatomy of a theme
  13. mysql 5.5 特性_MySQL5.5复制新特性
  14. spring提供的线程池
  15. zoj3987—Numbers(贪心)
  16. vue.js bootstrap 下拉列表_Excel下拉菜单制作的小技巧
  17. 在linux服务器下配置代理服务器( 使用liunx服务器的ip用来代理 )
  18. prometheus+grafana告警,监控部署展示
  19. vu3响应式原理 代码分析
  20. 嵌入式处理器分类与现状

热门文章

  1. 24、springboot与缓存(2)
  2. node安装和使用redis
  3. 动态导入模块__import__(str) importlib标准库
  4. 发现dba_segments和dba_extents中统计段空间大小居然不一样
  5. BZOJ-1057: [ZJOI2007]棋盘制作(单调栈)
  6. 2017年5个网络行业快速发展技术趋势
  7. 最小硬盘实现单原子信息存储 超现有硬盘500倍
  8. Android接入百度自动更新SDK
  9. SGU 117 Counting
  10. 领导,你可以做得更好