SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显示

发布时间 2023-03-24 23:47:09作者: JerryWang_汪子熙

文章目录

  • 本文写作动机
  • XML 视图元素的文档显示
  • 控制器里 JavaScript 代码的 API 文档
  • JavaScript 控制器代码里方法的自动提示和补全功能
  • UI5 Explorer
  • XML 视图里元素名称的自动提示和自动完成
  • sap.ui.define 里导入其他 SAP UI5 库模块的自动完成
  • XML 控件 id 的自动补全功能
  • manifest.json 文件的自动补全
  • Ctrl + 鼠标左键直接跳转到自定义方法的实现源代码去
  • XML 视图控件的事件处理函数的自动导航功能
  • 自动导入调用某个 API 必须的 SAP UI5 Module
  • 总结
    ————————————————

本文写作动机

笔者的这篇教程文章,有学习者在评论区留言:

老师,因为我不懂 JS,这个里面我比较想不通的事。

getView,getModel 这些方法。这个是属于 UI5 提供的方法,还是本身就属于 JS 的方法?

我尝试在 UI5 API 中去找 getView 有在 sap/ui/core/mvc/Controller 路径下找,但是没找到getModel没找到。

我在 sap/ui/model/resource/ResourceModel 这个路径下,有找到 getProperty,getResourceBundle 方法,那我怎么知道我在调用这个方法需要用这种方式:getView().getModel().getProperty 呢?

另外,像比如 getProperty,getResourceBundle 这些方法之类的,我看了 API 文档,写的描述啥的感觉都比较简单。如果我不看这篇教程的话,可能我看文档根本不知道这个是来获取值和实例的。

这个有什么办法让自己看文档也能知道这些怎么使用的吗?

其实这位朋友遇到的问题,笔者在2013年刚刚接触 SAP UI5 开发时也同样遇到过。

一方面,这是一个熟能生巧的问题。大家回忆一下自己刚学会骑自行车,刚学会游泳或者刚学会开车时,是不是觉得还很生疏?但是随着不断的重复,之后就越来越熟练。

另一方面,我们在学习 SAP UI5 开发时,如果善于一些辅助工具,可以缩短我们从生疏到熟练的过程。

一个常见的场合就是,我们在 SAP UI5 应用的控制器里编写 JavaScript 代码,那么在这个上下文里,this 指向的就是控制器实例。如果 this 后面敲一个 . 号,能把这个控制器能调用的所有 SAP UI5 标准 API 自动带出来,并且附上每个 API 的参数说明和文档,那么能提高我们的开发效率和对 SAP UI5 API 的熟悉程度。

比如下面这个效果:

笔者在自己的 SAP 技术交流群里和同仁们讨论后,发现在 Visual Studio Code 里安装 SAPUI5 Extension 这个扩展即可达到效果。

本文介绍这个扩展的安装和使用的详细步骤。