Typescript VSCode(Vetur)无法识别组件中的自定义Vue属性

Typescript VSCode(Vetur)无法识别组件中的自定义Vue属性,typescript,vue.js,visual-studio-code,vue-component,intellisense,Typescript,Vue.js,Visual Studio Code,Vue Component,Intellisense,我在Vue上的main.ts文件中安装了一个插件,在plugin.d.ts文件中声明了它的类型,然后在component.Vue文件中使用了它。编译工作正常,但VSCode intellisense仍然告诉我此属性不存在。我遗漏了什么吗? 这是密码 //plugin.ts import Vue as _Vue from 'vue' export class Plugin { someFunc() { //do something } } const plugin = new Plugin

我在Vue上的main.ts文件中安装了一个插件,在plugin.d.ts文件中声明了它的类型,然后在component.Vue文件中使用了它。编译工作正常,但VSCode intellisense仍然告诉我此属性不存在。我遗漏了什么吗? 这是密码

//plugin.ts
import Vue as _Vue from 'vue'
export class Plugin { 
  someFunc() { //do something } 
}
const plugin = new Plugin()
export default function myPlugin(Vue: typeof _Vue) {
  Vue.prototye.$plugin = plugin
}
以及申报,

//plugin.d.ts
import { Plugin } from './plugin'
declare module 'vue/types/vue' {
  interface Vue {
    $plugin: Plugin
  }
}
然后我把它安装在一个入口点

//main.ts
import Vue from 'vue'
import plugin from './plugin'

Vue.use(plugin)
最后,我想在组件中使用插件

//component.vue
import { Component, Vue } from 'vue-proprety-decorator'
@Component
export default class MyComponnent extends Vue {
  func() {
    this.$plugin.someFunc()
  }
}
编译显示没有问题,但intellisense告诉我“类型“MyComponent”上不存在属性“$plugin”,并且自动完成不起作用


我做错了什么吗?

尝试将类型定义的名称从plugin.d.ts更改为types.d.ts。 这对我来说是个好办法。

非常感谢。。我使用了“扩展插件使用的类型”+你的提示,效果非常好