• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NAPI框架生成工具VSCode插件说明
2
3## 简介
4
5NAPI框架代码生成工具,它可以根据用户指定路径下的ts(typescript)接口文件一键生成NAPI框架代码、业务代码框架、GN文件等。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口,本文主要介绍VS Code插件使用指导。
6
7## 目录
8
9	├── napi_generator                # NAPI框架代码生成工具
10	│   ├── ...                       # 其他文件
11	│   ├── napi_vs_plugin            # VS Code插件代码
12	│   │   ├── docs                  # VS Code插件说明
13	│   │   ├── src    				  # VS Code插件源码
14	│   │   └── README_zh             # VS Code插件说明
15
16## 约束
17
18系统:建议Ubuntu 20.04或者Windows 10
19
20依赖版本:VS Code 1.62.0
21
22## 使用方法
23
24### 使用对象
25
26系统开发者
27
28### 使用场景
29
301) 系统框架层新增子系统,需对应用层提供接口。
312) 系统框架层子系统能力增强后,需对应用层提供新接口。
32
33### 工具使用
34
35具体的工具使用步骤,可以左键单击以下链接了解:
36
37[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/napi_vs_plugin/docs/napi/INSTRUCTION_ZH.md)
38
39### 工具输出
40
41根据使用者指定的typescript文件,工具会输出NAPI框架代码、业务代码框架、GN脚本等文件。
42
43为了方便使用者快速上手工具,可供测试的typescript文件存放在以下路径:
44
45```
46napi_vs_plugin
47```
48
49在window环境下的,根据输入文件@ohos.napitest.d.tsbasic.d.ts生成的输出文件,如下所示:
50
51![](../figures/pic-d-ts-transition.png)
52
53其中生成的"napitest.h"文件,定义了框架代码的接口,如下所示:
54
55
56```c++
57#include "napitest.h"
58
59namespace napitest {
60bool func1(std::string& v1, std::string& out)
61{
62    // TODO
63    return true;
64}
65}
66```
67
68### 集成方法
69
70为了实现工具生成的接口被其他子系统或者应用调用,需将生成的代码编译集成到OpenHarmony系统中,编译生成动态库。
71
72把工具的生成代码集成到OpenHarmony的具体操作步骤,可以左键单击以下链接了解:
73
74[生成代码集成到OpenHarmony的方法](https://gitee.com/openharmony/napi_generator/blob/master/docs/guide/ENSEMBLE_METHOD_ZH.md)
75
76## 开发说明
77
78### 对象
79
80工具的开发者
81
82### 开发场景
83
84若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。
85
86### 开发步骤
87
88开发者可以根据如下的步骤来完成对工具VS Code插件的开发:
89
90 [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/napi_vs_plugin/docs/napi/DEVELOP_ZH.md)
91
92## 版本说明
93
94当前版本已支持的特性和待开发的特性,如下所示:
95
96 [已支持特性](https://gitee.com/openharmony/napi_generator/blob/master/release-notes)
97
98 [待支持特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/guide/ROADMAP_ZH.md)
99
100## FAQ
101
102对于常见问题解决方法指导如下:
103
104  [FAQ](https://gitee.com/openharmony/napi_generator/blob/master/FAQ.md)
105
106## 相关仓
107
108暂无
109