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

我在VScode中使用角度1。我有一个主文件,它定义了我的所有服务、控制器等,并且require它们的角度。

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引用到当前工作文件中。

谢谢您的真知灼见。


解决方案

否,从VScode1.14开始,这是不可能的,但我们在此处跟踪对此功能的讨论:https://github.com/Microsoft/TypeScript/issues/14377

相关文章