Visual Studio代码 - JavaScript文件的类型提示

时间:2017-08-29 17:04:39

标签: javascript visual-studio-code

是否可以将类型信息提供给VS Code linter以获取JavaScript文件?我有一个JavaScript文件和一个Hangfire文件,我希望使用此.d.ts文件解析JavaScript文件的类型错误。那可能吗?如果在VS Code中无法直接使用,是否可以使用其他工具?

添加示例:

.d.ts

1 个答案:

答案 0 :(得分:3)

通常,您需要在项目的根目录中创建一个jsconfig.json file,内容为:

{
    "compilerOptions": {},
    "exclude": [
        "node_modules"
    ]
}

此文件告诉VS Code将所有js文件(和d.ts文件)视为同一项目的一部分。

但是,似乎TypeScript不会将d.ts文件中f的类型声明与js文件中f的实际声明合并。如果您注释掉实现,则会得到f的正确类型和预期错误:

// @ts-check

//function f(x) { return x * 2; }

f('Not a number'); // This is an error 

但除此之外,f的类型为function(x: any): number

这对我来说似乎很意外,我已经开启了一个新问题来跟踪此问题:https://github.com/Microsoft/TypeScript/issues

此外,如果您只使用JavaScript,则可以始终使用jsdoc注释添加类型信息:

// @ts-check

/**
 * @param {number} x 
 * @return {number}
 */
function f(x) { return x * 2; }

f('Not a number'); // This is an error