• Home
Name Date Size #Lines LOC

..--

docs/12-May-2024-10956

src/12-May-2024-1,036849

README_zh.mdD12-May-20243.8 KiB13182

package.jsonD12-May-20241.1 KiB3029

README_zh.md

1# TS生成工具VSCode插件说明
2
3## 简介
4
5TS(type-script)接口生成工具,它可以根据定义在c++头文件中的接口,生成type-script语言的TS接口文件。若某个服务实现方式为c++,且供应用层访问的接口已在.h文件中定义,此时,NAPI接口开发者使用此工具可一键生成对应的ts文件,进而将生成的TS文件作为NAPI框架生成代码工具的输入,生成NAPI框架代码。目前工具支持可执行文件、VS Code插件、IntelliJ插件三种入口,本文主要介绍VS Code插件使用指导。
6
7## 目录
8
9	├── ts                            # TS框架生成工具
10	│   ├── ...                       # 其它文件
11	│   ├── ts_vs_plugin              # VS Code插件代码
12	│   │   ├── docs                  # VS Code插件说明
13	│   │   ├── src    				  # VS Code插件源码
14	│   │   ├── package.json    	  # package.json 文件
15	│   │   └── README_zh.md          # VS Code插件说明
16
17## 约束
18
19系统:建议Ubuntu 20.04或者Windows 10
20
21依赖版本:VS Code 1.62.0
22
23## 使用方法
24
25### 使用对象
26
27系统开发者、应用Native开发者
28
29### 使用场景
30
311) 系统框架层新增子系统,需对应用层提供接口。
322) 系统框架层子系统能力增强后,需对应用层提供新接口。
333) 应用层引入C++三方库,需增加OpenHarmony应用层接口。
34
35### 工具使用
36
37插件下载路径如下,选择ts-gen-0.0.1.vsix下载。
38
39[下载链接1](暂无)
40
41[下载链接2](暂无)
42
43[下载链接3](暂无)
44
45具体的工具使用步骤,可以左键单击以下链接了解:
46
47[工具使用说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/ts/ts_vs_plugin/docs/INSTRUCTION_ZH.md)
48
49### 工具输出
50
51根据使用者指定的.h文件,工具会输出对应的ts接口文件。为了方便使用者快速上手工具,可供测试的test.h文件样例如下:
52
53```
54	#include < string >
55	#include < vector >
56	using namespace std;
57
58	class TestA {
59    	public:
60    	char16_t string1;
61    	void add(string v, long double v1[]);
62	};
63	double count(double v, double v1[]);
64
65	namespace Space {
66    	class TestBB {
67        	public:
68        	short string4;
69        	bool ifExist(bool v, bool v1[]);
70	};
71    	uint32_t max(uint32_t v, uint32_t v1[]);
72	}
73```
74
75在window环境下的,根据输入文件test.h,生成的输出文件,如下所示:
76
77![](./../figures/h-2-ts-succ.png)
78
79
80其中生成的"test.d.ts"文件,定义了应用开发接口,如下所示:
81
82	declare class TestA {
83		string1: string;
84		add(v: string, v1: Array<number>): void;
85	}
86	declare namespace Space {
87		function max(v: number, v1: Array<number>): number;
88		class TestBB {
89	    	string4: number;
90	    	ifExist(v: boolean, v1: Array<boolean>): boolean;
91		}
92	}
93	declare function count(v: number, v1: Array<number>): number;
94
95	export default Space;
96
97## 开发说明
98
99### 对象
100
101工具的开发者
102
103### 开发场景
104
105若当前工具的功能已经不能满足开发者的全部需求,则开发者可以基于已有的源码对工具进行二次开发,来增强工具的能力,编译打包生成自定义的可执行文件和插件。
106
107### 开发步骤
108
109开发者可以根据如下的步骤来完成对工具VS Code插件的开发:
110
111 [工具开发说明](https://gitee.com/openharmony/napi_generator/tree/master/hdc/ts/ts_vs_plugin/docs/DEVELOP_ZH.md)
112
113
114## 版本说明
115
116当前版本已支持的特性和待开发的特性,如下所示:
117
118 [已支持特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/ts/ts_Gen-1.0.md)
119
120 [待支持特性](https://gitee.com/openharmony/napi_generator/blob/master/docs/ts/ROADMAP_ZH.md)
121
122## FAQ
123
124对于常见问题解决方法指导如下:
125
126  [FAQ](https://gitee.com/openharmony/napi_generator/tree/master/docs/ts/FAQ.md)
127
128## 相关仓
129
130暂无
131