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