OpenHarmony开发者论坛
标题:
模板生成和语言转换工具
[打印本页]
作者:
深开鸿_苟晶晶
时间:
7 天前
标题:
模板生成和语言转换工具
[md]napi-gen插件为OpenHarmony开发者提供模板生成(**sa**模板、**hdf**模板)和语言转换功能(依据**h**头文件转换生成**dts**接口文件 和 **native C++** 工程文件)。
## 功能:
* **h2hdf**:根据.h头文件自动生成hdf模板,包含:编译文件(.gn)、驱动配置文件(.hcs)、idl接口(.idl)、驱动程序和驱动服务框架。生成文件需要使用OpenHarmony源码环境编译,验证过的平台如下:| **平台** | **版本** |
| --------------------- | --------------------- |
| **OpenHarmony** | **4.1 release** |
* **h2sa**:根据.h头文件自动生成sa模板,包含:编译文件(.gn)、服务配置文件(.cfg)、服务进程和子系统能力配置文件(.xml:对应 OpenHarmony 3.2 release,.json:对应 OpenHarmony 4.1 / 5.0.0 release),IPC实现(proxy:在framework层使用;stub:在service层使用)以及子系统的服务代码和接口文件。生成文件需要使用OpenHarmony源码环境编译,验证过的平台如下:| **平台** | **版本** |
| --------------------- | ------------------------------------------------- |
| **OpenHarmony** | **3.2 release,4.1 release,5.0.0 release** |
* **h2dts**:根据.h文件生成OpenHarmony的JS-API接口文件,即将C/C++方法,枚举型,结构体,类转换成ArkTS语法的代码(.d.ts)。生成文件可以当作OpenHarmony应用导入的头文件使用;
* **h2dtscpp**:根据.h头文件生成OpenHarmony Native C++应用开发模板,包括JS-API接口文件(.d.ts),CPP文件和测试代码(.ets)。生成文件对应的是DevEco Studio选择NativeC++生成的工程模板中的源码文件内容:
![](
https://gitee.com/openharmony/na ... es/h2dtscpp_gen.png
)
**验证过的平台如下:**| **平台** | **版本** |
| ----------------------- | ------------------------------------------------------------------------- |
| **DecEco Studio** | **4.1 Release(Build Version: 4.1.0.400, built on April 9, 2024)** |
## 使用:
* **方式1**: 右键.h文件在弹出菜单里选择子菜单 **[OHOS\_Gen]** 内的功能:
![](
https://gitee.com/openharmony/na ... /images/h2sa4-1.png
)
* **方式2**: 通过在工具栏选择 **[帮助]** -> **[显示所有命令]** 或者 快捷命令 **[ctrl + shift + p]** 在弹出窗口里输入h2dts等命令使用功能
![](
https://gitee.com/openharmony/na ... es/ctrl_shift_p.png
)
## 验证:
**生成文件的详细用法请参考以下链接:**
* **h2sa:** [h2sa使用帮助文档](
https://gitee.com/openharmony/na ... F%E6%88%90%E7%89%A9
)
* **h2hdf:** [h2hdf使用帮助文档](
https://gitee.com/openharmony/na ... #%E7%BC%96%E8%AF%91
)
* **h2dtscpp:** [h2dtscpp使用帮助文档](
https://gitee.com/openharmony/na ... e/INSTRUCTION_ZH.md
)
## 问题:
要追踪现有的问题或报告一个新问题,请访问 [Gitee Issues](
https://gitee.com/openharmony/napi_generator/issues
) 页面
[/md]
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5