引言

  ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言。ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利。

  我发现有两样东西太cool了:

  • 朴实的IDE(ABAP Editor)以及
  • 酷炫的调试器

  尽管SAP的IDE不支持某些更加有名的IDE(比如Eclipse)的一些特点,我依然发现在ABAP Editor中写代码要比其它IDE舒服太多。原因在于以下的快捷键以及它的可定制性。我会列出一些我常用的功能清单,如果没了它们,我可能就没办法写ABAP代码了。

大部分ABAP程序员甚至只有一点ABAP经验的人可能已经了解下面清单的部分内容了。如果你是这样的话,请忽略它们。如果你不是的话,那这部分就是为你准备的。

快捷键

 快捷键

效果

Ctrl + D

复制行.

例子  i_vbap TYPE STANDARD TABLE OF vbap + Ctrl-D = i_vbap TYPE STANDARD TABLE OF vbap
i_vbap TYPE STANDARD TABLE OF vbap

Ctrl + /

跳转到左上角我们输入T-CODE的输入框。这个真的很方便,省去了从键盘切换到鼠标的时间,有的时候你切换键盘和鼠标再回到键盘仅仅是为了点击这个输入框

Ctrl + J

将每个单词的首字母转换为大写,写注释的时候十分有用。

例子:  * this is a comment which will give absolutely no useful information 将转换为
* This Is A Comment Which Will Give Absolutely No Useful Information

Ctrl + I  &
  Ctrl + Shift + I

增量搜索。 这是查找(Ctrl + F) 功能的一个小小增强,可以在你键入的同时搜索,对没耐心的人来说很有用                                            加上Shift反向搜索

Ctrl + K

大小写切换.

Alt + 选择

在你指向选择表中某些字段的情况下,自动选择是一个很有用的功能。

例子:

caufv-aufnr,

caufv-werks,

caufv-objnr,

caufv-plnbez,

caufv-gamng,

caufv-gasmg,

caufv-gmein,

caufv-plnnr,

caufv-plnal,

caufv-dispo,

caufv-fevor,

caufv-cy_seqnr ,

caufv-aufpl,

caufv-gstrp,

caufv-gltrp,

caufv-gstrs,

caufv-gltrs,

caufv-gstri,

caufv-gltri,

你可以按住ALT键来把下面的值选中并复制到剪切板中(类似Ctrl+Y)

aufnr,

werks,

objnr,

plnbez,

gamng,

gasmg,

gmein,

plnnr,

plnal,

dispo,

fevor,

cy_seqnr ,

aufpl,

gstrp,

gltrp,

gstrs,

gltrs,

gstri,

gltri,

Tab & Shift tab

增加和删除缩进

Ctrl + O

前往程序的某一行

Ctrl + Shift + S

把当前文件以ABAP格式保存到桌面上,因为学会了这个快捷键,我才了解到.abap格式的存在

Ctrl + Selection

当你按住Ctrl选择 **** + -> or <- 的时候,可以选取到符号左侧或者右侧的单词

Ctrl + . & Ctrl + ,

注释和解除注释

Ctrl+Alt+T

交换当前行与上一行的位置。(译者注:个人测试未成功)
例子: INCLUDE ZTEST_ABAP_HTTP_CLIENT_TOP.
     INCLUDE ZTEST_ABAP_HTTP_CLIENT_C01. 变为

INCLUDE ZTEST_ABAP_HTTP_CLIENT_C01.
INCLUDE ZTEST_ABAP_HTTP_CLIENT_TOP.

  Ctrl+Shift+L/X 删除整行
  Ctrl + ] & Ctrl + [ 跳转到上一个段落、下一个段落

段落是用句子间留空行的方式创建的

 Ctrl + Shift + Num8 &
 Ctrl + Shift + Num2

在编辑器中以行为单位上下移动,光标位置不随之改变

这个和Page Up & Page Down相似,只是每次移动的是行而不是整页

 Ctrl + Spacebar

显示补全选项列表(译者注:可能和输入法冲突)

例子: 输入CREATE之后,按 Ctrl + Spacebar将会显示一个列表让你选择DATA或者OBJECT

更多编辑器工具

 除了这个,还有一些其它东西可以在编辑器选项中设置。 

代码模板

  这里我使用了一个文本模板。它可以用在标记修改、或者定义以及实现本地类的情况,等等。

* Begin of Insertion <SID>K12345 <username>
* End of Insertion   <SID>K12345  <username>

  当我在编辑器输入i*的时候,它可以提示代码的补全...

  当我点击tab补全的时候,弹出了TR码对话框

  我们给出的TR码将会被添加到注释中。

变量名补全

  这是一个小小的设置,但是它会将你从不停地复制粘贴/重复输入各种小单词的繁琐中拯救出来。

  当你选中这个选项之后,他会提示你每一个变量名比如...

  在长变量名的情况下特别有用。

结论

  除了编辑器和调试器功能,导航和使用过的清单(used-list,似乎是指程序中查找功能)也是我们经常使用的功能。由于这些特性,代码维护和支持的工作变得相对而言不那么繁重了。

  另一个比较cool的地方是可以使用API来拓展核心编辑器的功能,这使得应用开发者也可以使用代码自定义编辑器特征。因为任何第三方开发者都有可能借此产生有关编辑器拓展的好主意,SAP方面也能由此得到有创意的东西。

  就我目前的探索情况,我还没有发现任何BADI或者类可以用于执行编辑器功能,也许我应该多找找或者再等等。

更新:这篇博文得到的反响感动了我,让我去更深入地挖掘这个主题,之后我遇到了这个:

编程快捷键——极客风格

  大部分列出的快捷键和没列出的快捷键可以在SAP-GUI编辑器选项中查看。

  还是那样,点击编辑器界面右下角的编辑器选项按钮,

  然后如图选择键盘选项...

  现在,大部分快捷键都在上面的清单中列出来了。

  我们可以按自己的意愿重新分配任何快捷键。

  也有些没有默认分配快捷键的cool功能,Copy Append就是其中之一,很有用,而且未分配。

  现在,根据新设置,按Ctrl+Alt+C,我就可以将内容追加到剪切板了。

  例子:

+ Ctrl + Alt + C

+=

  相似地,你可以设置Cut Append,跳转到书签,格式化选择文本等等..

本文链接:http://www.cnblogs.com/hhelibeb/p/5794460.html

英文原文:Shortcuts that can make an ABAP'er life easier

转载请注明

让ABAP开发者更加轻松的若干快捷键的更多相关文章

  1. 让ABAP开发者愈加轻松的若干快捷键

    引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...

  2. 为什么ABAP开发者需要使用面向对象技术?

    ABAP对面向对象的支持已有十多年的历史,然而在生产实践中,我们对这门技术的应用十分有限. 一方面,面向过程的惯性长期存在着:另一方面,对于大部分二次开发工作而言,似乎并没有足够的理由促使开发者使用面 ...

  3. 这不是我想要的ABAP开发者

    原文在此: These Aren’t the Developers You’re Looking for 在吃饼干的过程中偶然看到这篇文章,立刻被UC化的标题吸引到了. 全文读完,感觉作者还是有点刻薄 ...

  4. vue3.0和2.0的区别,Vue-cli3.0于 8月11日正式发布,更快、更小、更易维护、更易于原生、让开发者更轻松

    vue3.0和2.0的区别Vue-cli3.0于 8月11日正式发布,看了下评论,兼容性不是很好,命令有不少变化,不是特别的乐观vue3.0 的发布与 vue2.0 相比,优势主要体现在:更快.更小. ...

  5. Netty 系列之 Netty 高性能之道 高性能的三个主题 Netty使得开发者能够轻松地接受大量打开的套接字 Java 序列化

    Netty系列之Netty高性能之道 https://www.infoq.cn/article/netty-high-performance 李林锋 2014 年 5 月 29 日 话题:性能调优语言 ...

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

    之前Jerry已经写了一系列SAP Cloud Platform ABAP编程环境的文章,当时使用的环境,是SAP专门为SAP社区导师们创建的. 当时也有朋友留言,询问大家何时才能使用到免费的SAP云 ...

  7. ImageKnife组件,让小白也能轻松搞定图片开发

    本期我们给大家带来的是开发者周黎生的分享,希望能给你的HarmonyOS开发之旅带来启发~ 图片是UI界面的重要元素之一, 图片加载速度及效果直接影响应用体验.ArkUI开发框架提供了丰富的图像处理能 ...

  8. 每个Android开发者必须知道的资源集锦

    英文原文:Resources every Android developer must know 随着 Android 平台持续惊人的增长,越来越多的开发人员开始工作于 Android 应用程序.而且 ...

  9. HANA CDS与ABAP CDS

    如果你在网络或者SCN上面搜索CDS,即SAP的Core Data Services,你会很容易地找到类似“Core Data Services(CDS)是一个在SAP HANA中用于定义和消费富语义 ...

随机推荐

  1. Utility1:Overview

    Utility 是利用,使用的意思,utilization是指使用效率,利用率的意思. SQL Sever 内置 Utility Feature,便于集中监控Server关键资源(CPU和Disk)的 ...

  2. CTE 递归查询

    使用CTE进行递归查询,能够实现对层次结构的数据的快速访问,非常有用. TSql CTE 递归原理探究 TSql 分层和递归查询 1,CTE的递归结构 递归查询的结构包括两部分:起始点和迭代公式. 使 ...

  3. C# 如何将List拆分成多个子集合

    网上的例子: 问:List<string> list = new List<string>();        for (int i = 1; i < 95; i++)  ...

  4. Objective-C中把数组中字典中的数据转换成URL

    可能上面的标题有些拗口,学过PHP的小伙伴们都知道,PHP中的数组的下标是允许我们自定义的,PHP中的数组确切的说就是键值对.而在OC我们要用字典(Dictionary)来存储,当然了Java用的是M ...

  5. [c++] Operator overloading

    c++的操蛋属性:自己为一档,空一档,其他随意. UB_stack a; UB_stack b = a; // copy auto c = a; auto d {a}; // (or auto d = ...

  6. C#/VB.NET 向PowerPoint文档插入视频

    如今,Microsoft Office PowerPoint在我们日常生活中的应用已经很广泛了,利用Microsoft Office PowerPoint不仅可以创建演示文稿,还可以在互联网上召开面对 ...

  7. 使用Free Spire.Presentation生成PowerPoint文件

      使用Free Spire.Presentation生成PowerPoint文件 前言 之前有写过一篇使用Free Spire.XLS生成图表的文章,朋友圈内反应还不错,都希望我能继续写下去,把类似 ...

  8. 性能测试工具Locust

    An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...

  9. 【集合框架】JDK1.8源码分析之LinkedHashMap(二)

    一.前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存 ...

  10. Groovy学习--基本语法了解

    x项目用到gradle,学习gradle之前准备先过一遍Groovy的语法.这里参考:Groovy入门. 该博客没有系统的讲解Groovy的语法和原理,仅仅只是罗列了使用Groovy的常规方法.我照着 ...