繁体   English   中英

VSCODE智能感知来自何处?

[英]Where is this VSCODE intellisense coming from?

在VSCODE中,我看到以下智能提示:

在此处输入图片说明

在探索node_modules/sanctuary/index.js ,我找到了一个toMaybe函数,但是它似乎没有定义来自这里,因为它们不匹配

//# toMaybe :: a? -> Maybe a
//.
//. Takes a value and returns Nothing if the value is `null` or `undefined`;
//. Just the value otherwise.
//.
//. ```javascript
//. > S.toMaybe (null)
//. Nothing
//.
//. > S.toMaybe (42)
//. Just (42)
//. ```

这与通常显示的其他功能相反:

在此处输入图片说明

两个问题:

  1. 我下一步应该去哪里?
  2. 我该如何记录自己的功能?

更新:

Lukas Bach和ippi指出, Sanctuary.Static.toMaybe<A>(p: A): Maybe<A>来自自动类型获取功能。

即使从~/Library/Caches/typescript/2.9/node_modules/types-registry删除了所有@types之后,我仍然看到一些文档。

在此处输入图片说明

我也无法在@types/sanctuary/index.d.ts文件或@types目录中的任何位置找到文本toMaybe :: a -> Maybe a

编程语言TypeScript是JavaScript的超集,它允许为函数和变量定义适当的类型。 可以将TypeScript编译为JavaScript,从而删除所有类型注释,并且可以在编译过程中导出单独的类型定义文件(* .d.ts)。 如今,通常直接在模块存储库本身中或作为DefinitelyTyped存储库的一部分为JS模块提供TypeScript类型定义。

要为您自己的代码获取此类类型注释,您可以首先在TypeScript中编写代码,也可以自己编写其他自定义类型定义文件。

这不是编写类型定义的唯一方法,而是目前最突出的方法。

编辑:好的,我没有真正调查您之前提到的软件包。 但是我已经尝试过了,这就是它给我的IntelliSense批注。 VS屏幕截图

这似乎来自TS键入:

toMaybe<A>(p: A | null | undefined): Maybe<A>;

这些类型位于https://www.npmjs.com/package/@types/sanctuary

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM