jsDoc - 设置类型而不导入文件

时间:2017-06-25 19:16:34

标签: javascript class visual-studio-code intellisense jsdoc

我在VScode中使用Angular 1。我有一个主文件,它定义了我的所有服务,控制器等,require是针对Angular的。

angular.module('myApp', [])
    .service('myService', require('./myService.js')
    .controller('myController', require('./myController.js');

和服务:

class MyService {
    constructor() {}
}

module.exports = MyService;

和我的控制器

class MyController {
    constructor(myService) {    
        /** @type {MyService} */
        this.myService = myService;
    }
}

module.exports = MyController;

因此,智能感知器不知道控制器中的myService是什么。我原本希望jsDoc评论可以解决这个问题,因为两个文件都在同一个工作区内,但事实并非如此。

我看过type-def评论,并尝试在服务文件中编写自定义类型:/** {MyService} CustomService */然后在我的控制器中引用CustomService类型,但这也不起作用。

简而言之 是否有可能,使用VSCode中的jsDoc从不同文件引用一个类而不将requiring引入当前工作文件。

感谢您的所有见解。

1 个答案:

答案 0 :(得分:0)

不,从VScode 1.14开始,这是不可能的,但我们正在跟踪此功能的讨论:https://github.com/Microsoft/TypeScript/issues/14377