Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>VueThis$StoreNew to Visual Studio Code? Get it now.
VueThis$Store

VueThis$Store

victor

|
2,912 installs
| (1) | Free
一个通过ast和正则表达式,获取store中的所有定义信息,并在.vue文件中给出vuex中state,actions, getters, mutations提示的vscode插件
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

vue-this-store

通过使用 ast 和正则表达式,获取 store 中所有文件的定义,在用户使用.vue 文件中时给 出详细的提示,目前支持大多数 vuex 官网中定义的例子

安装

在扩展中搜索 VueThis$Store,安装即可。

使用

当你打开一个.vue 文件时,插件会扫描从你的入口文件,开始扫描得到你的 store 所有模 块,以及模块中的(actions,mutations, getters, state),保存必要的定义信息以给出提 示。当你的 vscode 插件的左下角有VueThis$Store✔️图标

statusBarItem

那么代表扫描 成功,可以得到正确的提示,如果是VueThis$Store❌则表示发生错误(我设置的默 认的入口路径是工作根路径下的 src/main.js,如果失败,会使用备用入口文件 ,src/index.js,如果依然失败,会提示错误让你自己声明入口文件)。 你shift+(cmd|ctrl)+p 输入 specify entrance path 输入你的 index 文件,(就是你生 成一个 vue 实例的地方),回车。插件会重新扫描,入口文件。

特性

  • 支持最基本的this.$store.state.count类型的提示,当你在其他的 module 中定义了 其他的 state 时, 可以得到下一层 module 和所有相应 state 的提示。

    state

  • 同时支持 mapState,当输入第一个参数时,仅仅提示所有可能的下一个 module(设置了 namespace 的 module) 和官网的机制一致。当设置了命名空间,只会提示当前命名空间 下的 state。 mapState

  • 支持 mapState 参数为对象的情况,并且支持三种不同函数写法,通过 ast 获取函数的 第一个参数给出更加精确的提示。 mapStateObject

  • 支持 从this.$store.getters.xxx这样的形式直接获取 getter,也支持 mapGetters 中 第二个参数是数组或者对象的形式 mapGetters

  • 同理支持this.$store.commit 和this.$store.dispatch 提示

dispatch

  • 支持 mapMutations 参数为数组和对象提示

    mapMutations

  • 支持 mapActions 参数为数组和对象提示 mapActions

  • 监听你 store 文件夹的变动,当文件发生变动,会重新收集定义信息,提示也会更新

  • 支持dispatch,commit, map* 的变量函数跳转

  • map*Defination

一些提示

因为我没有什么使用大型的应用的经验,所以测试的项目不是很多,我再 github 上找了一 个比较经典的项目vue-elm, 并通过了测试 。可能会有其他没有发现的 bug,如果你在使用中发现任何的 bug,你可以提 issue,最好 能给我 store 的目录结构,最最好可以给我每个原先 store 目录下所有文件,当然这可能 涉及一些机密,你可以再原结构不变的情况下, 保留几条测试数据就更好了。同时也非常 希望大家可以给我更多建议,希望这个 vscode 插件能够帮助到广大开发者。:smile:

目前存在的问题

  • 不能向 1.28 及以下兼容,只能最新版本。这个问题目前无法解决,我也是第一次开发 vscode 插件,对 vscode 兼容这一块不太了解。
  • 没有友好的错误提示。
  • 因为 vuex 中模块的写法很多,可以直接在对象中定义,可以从外部引入,可以先定义在 文件中定义在直接使用{mutations}这样的方法定义,可能有些写法没有覆盖到无法得 到提示。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft