js 在vscode中让自己的api获得类型提示,成员补全的能力

我的项目不是正经的js项目,它经常需要单个文件打开,并且调用接口来自另一种语言实现

创建API.d.ts文件

为接口自动生成类型标记文件,格式如下
这里的类型来自另一门语言自动生成,不是js的类型,不影响

declare namespace API {
	/**
	 *成员的注释
	 */
    const Age: String;

    var Name: String;

    function Print(str: String): String;
}

在需要的文件上引用

/// <reference path="./API.d.ts" />

如果你希望得到类型检查提示,就需要把一些和js可通用的类型变成js的类型
比如c# 的String 和js 的 string,再加上

//@ts-check

在函数上使用jsdoc注释

标记之后,input这个函数参数被视为API类型

 /**
 * @param {API} input
 */
this.OnInitialize = (input) => {
	
}

补充

可以在工作区配置jsconfig.json来全局引用类型文件

{
  "compilerOptions": {
    "typeRoots": ["*.d.ts"]
  }
}

在vscode设置中搜索checkjs,来全局启用js使用ts的类型检查

这样就可以避免在每个文件中标记

posted @ 2024-06-19 23:01  trykle  阅读(80)  评论(0)    收藏  举报