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 @   trykle  阅读(48)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示