带有 TS 的 JSDoc - 在智能感知中显示 return 界面注释?
JSDoc with TS - show return interface comments in intellisense?
假设我有一个函数,其 return 值是定义的打字稿接口。接口注释好:
interface ReturnValue {
/**
* Wind value, in knots
*/
wind: number;
/**
* Humidity in %
*/
humidity: number;
}
/**
* Function to return some values
* @returns Returner
*/
const myFunction = (): ReturnValue => {
return {
wind: 4,
humidity: 5
};
};
我希望在使用智能感知时或将鼠标悬停在函数上时能够看到 return 值接口的注释。相反,这是我得到的:
当我不命名接口而是直接将其声明为函数的 return 值时,我得到了 一点 的更多细节:
/**
* Function to return some values
*/
const myFunction = (): {
/**
* Wind value, in knots
*/
wind: number;
/**
* Humidity in %
*/
humidity: number;
} => {
return {
wind: 4,
humidity: 5
};
};
这给出:
但即使这样也没有显示我在定义 return 值对象形状时使用的注释。也很乱。
是否可以编写 JSDoc 注释,以便在 typescript 中定义 return 值时,我可以将它们视为智能感知的一部分?
遗憾的是,您在这里没有任何控制权。
Typescript 类型可能会变得很深,将它们完全展开到它们的原子部分对于更复杂的类型来说并不实用。但是,正如您所注意到的,对于简单类型,将它们包装在命名别名中可能有点太快了。一个工具提示有很多页面的界面细节可以滚动浏览,几乎和很少的信息一样无用。
所以打字稿在简洁方面犯了错误,选择向您显示您命名的类型而不是大粒度接口。
如果你想知道这样的类型是什么,你可以做一个,输入一个 .
然后浏览它的界面:
当您实际使用 JS 文档注释时,它们确实会出现:
虽然,我同意有时很难理解类型中的内容,但我认为没有任何方法可以操纵 typescript/vs 代码如何解开和报告类型别名。
假设我有一个函数,其 return 值是定义的打字稿接口。接口注释好:
interface ReturnValue {
/**
* Wind value, in knots
*/
wind: number;
/**
* Humidity in %
*/
humidity: number;
}
/**
* Function to return some values
* @returns Returner
*/
const myFunction = (): ReturnValue => {
return {
wind: 4,
humidity: 5
};
};
我希望在使用智能感知时或将鼠标悬停在函数上时能够看到 return 值接口的注释。相反,这是我得到的:
当我不命名接口而是直接将其声明为函数的 return 值时,我得到了 一点 的更多细节:
/**
* Function to return some values
*/
const myFunction = (): {
/**
* Wind value, in knots
*/
wind: number;
/**
* Humidity in %
*/
humidity: number;
} => {
return {
wind: 4,
humidity: 5
};
};
这给出:
但即使这样也没有显示我在定义 return 值对象形状时使用的注释。也很乱。
是否可以编写 JSDoc 注释,以便在 typescript 中定义 return 值时,我可以将它们视为智能感知的一部分?
遗憾的是,您在这里没有任何控制权。
Typescript 类型可能会变得很深,将它们完全展开到它们的原子部分对于更复杂的类型来说并不实用。但是,正如您所注意到的,对于简单类型,将它们包装在命名别名中可能有点太快了。一个工具提示有很多页面的界面细节可以滚动浏览,几乎和很少的信息一样无用。
所以打字稿在简洁方面犯了错误,选择向您显示您命名的类型而不是大粒度接口。
如果你想知道这样的类型是什么,你可以做一个,输入一个 .
然后浏览它的界面:
当您实际使用 JS 文档注释时,它们确实会出现:
虽然,我同意有时很难理解类型中的内容,但我认为没有任何方法可以操纵 typescript/vs 代码如何解开和报告类型别名。