{"id":15307948,"url":"https://github.com/wscats/vue-snippets","last_synced_at":"2025-04-14T23:13:55.816Z","repository":{"id":37789841,"uuid":"225773350","full_name":"Wscats/vue-snippets","owner":"Wscats","description":"Visual Studio Code Syntax Highlighting For Vue3 And Vue2","archived":false,"fork":false,"pushed_at":"2023-02-08T21:01:29.000Z","size":1336,"stargazers_count":68,"open_issues_count":25,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T23:13:46.542Z","etag":null,"topics":["composition","composition-api","snippets","typescript","vscode-extension","vue","vue2","vue3","vue3-function-based","vuejs","vuejs3"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=Wscats.vue\u0026ssr=false#overview","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wscats.png","metadata":{"files":{"readme":"README.CN.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-12-04T03:44:58.000Z","updated_at":"2025-02-23T08:23:46.000Z","dependencies_parsed_at":"2023-02-10T06:15:38.695Z","dependency_job_id":null,"html_url":"https://github.com/Wscats/vue-snippets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wscats%2Fvue-snippets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wscats%2Fvue-snippets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wscats%2Fvue-snippets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wscats%2Fvue-snippets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wscats","download_url":"https://codeload.github.com/Wscats/vue-snippets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975329,"owners_count":21192210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["composition","composition-api","snippets","typescript","vscode-extension","vue","vue2","vue3","vue3-function-based","vuejs","vuejs3"],"created_at":"2024-10-01T08:13:04.895Z","updated_at":"2025-04-14T23:13:55.773Z","avatar_url":"https://github.com/Wscats.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://marketplace.visualstudio.com/items?itemName=Wscats.vue\"\u003e\u003cimg src=\"https://img.shields.io/badge/Download-60k+-orange\" alt=\"Download\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://marketplace.visualstudio.com/items?itemName=Wscats.vue\"\u003e\u003cimg src=\"https://img.shields.io/badge/Macketplace-v1.x-brightgreen\" alt=\"Macketplace\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Wscats/vue-snippets\"\u003e\u003cimg src=\"https://img.shields.io/badge/Github Page-Wscats-yellow\" alt=\"Github Page\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Wscats\"\u003e\u003cimg src=\"https://img.shields.io/badge/Author-Eno Yao-blueviolet\" alt=\"Eno Yao\" /\u003e\u003c/a\u003e\n\n[English](https://github.com/Wscats/vue-snippets/blob/master/README.md) | [中文](https://gitee.com/wscats/vue-snippets/blob/master/README.CN.md)\n\n# Vue 2/3 代码片段 语法高亮 格式化插件\n\n这是一款在 Vue 2 或者 Vue 3 开发中提供代码片段，语法高亮和格式化的 VS Code 插件，能极大提高你的开发效率。\n\n\u003c!-- ![1](https://user-images.githubusercontent.com/17243165/100514730-07384500-31b2-11eb-8abf-9d58a20dd0a7.gif) --\u003e\n![3](public/1.gif)\n\n你可以在 VS Code 编辑器底部栏右下角打开 `Auto Format Vue` 开关，它可能帮你在代码保存的时候自动格式化 `vue` 文件的格式，默认是关闭状态。\n\n如果你不想自动格式化 `vue` 文件，你也可以在 `vue` 文件中点击鼠标右键，在出现的菜单栏中选择 `Format Document` 菜单项，则文件会执行一次格式化。\n\n\u003c!-- ![2](https://user-images.githubusercontent.com/17243165/100514732-0bfcf900-31b2-11eb-8085-579b134b1089.gif) --\u003e\n![3](public/2.gif)\n\n你可以在文件夹右键的菜单栏中使用 `Vue Generator Component` ，弹窗中填入组件名，会自动生成一个默认组件模板，便于你快速创建一个组件。\n\n\u003c!-- \u003cimg width=\"298\" alt=\"3\" src=\"https://user-images.githubusercontent.com/17243165/100542419-ab8abc00-3284-11eb-90a9-c5b6a83d9129.png\"\u003e --\u003e\n\n![3](public/3.png)\n\n# 代码片段\n\n## Vue 3 代码片段\n\n包含常用 Vue3 代码片段，比如你输入 `reactive`，选择 `reactive` 的代码片段，则编辑器会自动帮你生成 `const data = reactive({...})` 代码，提高你的开发效率。\n\n| 关键字            | JavaScript 代码片段                                     |\n| ----------------- | ------------------------------------------------------- |\n| `import`          | `import {...} from \"@vue/composition-api\"`              |\n| `import`          | `import {...} from 'vue'`                               |\n| `newVue`          | `newVue({...})`                                         |\n| `defineComponent` | `defineComponent({...})`                                |\n| `export`          | `export default { ... }`                                |\n| `setup`           | `setup(${...}) {...}`                                   |\n| `reactive`        | `const data = reactive({...})`                          |\n| `watch`           | `watch(..., ...)`                                       |\n| `watchFn`         | `watch(() =\u003e {...})`                                    |\n| `watchArray`      | `watch([...]) =\u003e {...}`                                 |\n| `watchEffect`     | `watchEffect(() =\u003e {...})`                              |\n| `computed`        | `computed(() =\u003e { get: () =\u003e {...}, set: () =\u003e {...}})` |\n| `toRefs`          | `toRefs(...)`                                           |\n| `ref`             | `ref(...)`                                              |\n| `props`           | `props(...)`                                            |\n| `onBeforeMount`   | `onBeforeMount(...)`                                    |\n| `onMounted`       | `onMounted(...)`                                        |\n| `onBeforeUpdate`  | `onBeforeUpdate(...)`                                   |\n| `onUpdated`       | `onUpdated(...)`                                        |\n| `onBeforeUnmount` | `onBeforeUnmount(...)`                                  |\n| `onUnmounted`     | `onUnmounted(...)`                                      |\n| `onErrorCaptured` | `onErrorCaptured(...)`                                  |\n\n## Vue 2 代码片段\n\n兼容所有常用 Vue 2 代码片段，如下：\n\n| 关键字                           | JavaScript 代码片段                                                |\n| -------------------------------- | ------------------------------------------------------------------ |\n| `import`                         | `import ... from ...`                                              |\n| `newVue`                         | `new Vue({...})`                                                   |\n| `VueConfigSilent`                | `Vue.config.silent = true`                                         |\n| `VueConfigOptionMergeStrategies` | `Vue.config.optionMergeStrategies`                                 |\n| `VueConfigDevtools`              | `Vue.config.devtools = true`                                       |\n| `VueConfigErrorHandler`          | `Vue.config.errorHandler = function (err, vm, info) {...}`         |\n| `VueConfigWarnHandler`           | `Vue.config.warnHandler = function (msg, vm, trace) {...}`         |\n| `VueConfigIgnoredElements`       | `Vue.config.ignoredElements = ['']` \\                              |\n| `VueConfigKeyCodes`              | `Vue.config.keyCodes`                                              |\n| `VueConfigPerformance`           | `Vue.config.performance = true`                                    |\n| `VueConfigProductionTip`         | `Vue.config.productionTip = false`                                 |\n| `vueExtend`                      | `Vue.extend( options )`                                            |\n| `VueNextTick`                    | `Vue.nextTick( callback, [context] )`                              |\n| `VueNextTickThen`                | `Vue.nextTick( callback, [context] ).then(function(){ })`          |\n| `VueSet`                         | `Vue.set( target, key, value )`                                    |\n| `VueDelete`                      | `Vue.delete( target, key )`                                        |\n| `VueDirective`                   | `Vue.directive( id, [definition] )`                                |\n| `VueFilter`                      | `Vue.filter( id, [definition] )`                                   |\n| `VueComponent`                   | `Vue.component( id, [definition] )`                                |\n| `VueUse`                         | `Vue.use( plugin )`                                                |\n| `VueMixin`                       | `Vue.mixin({ mixin })`                                             |\n| `VueCompile`                     | `Vue.compile( template )`                                          |\n| `VueVersion`                     | `Vue.version`                                                      |\n| `data`                           | `data() { return {} }`                                             |\n| `watchWithOptions`               | `key: { deep: true, immediate: true, handler: function () { } }`   |\n| `vmData`                         | `${this, vm}.$data`                                                |\n| `vmProps`                        | `${this, vm}.$props`                                               |\n| `vmEl`                           | `${this, vm}.$el`                                                  |\n| `vmOptions`                      | `${this, vm}.$options`                                             |\n| `vmParent`                       | `${this, vm}.$parent`                                              |\n| `vmRoot`                         | `${this, vm}.$root`                                                |\n| `vmChildren`                     | `${this, vm}.$children`                                            |\n| `vmSlots`                        | `${this, vm}.$slots`                                               |\n| `vmScopedSlots`                  | `${this, vm}.$scopedSlots.default({})`                             |\n| `vmRefs`                         | `${this, vm}.$refs`                                                |\n| `vmIsServer`                     | `${this, vm}.$isServer`                                            |\n| `vmAttrs`                        | `${this, vm}.$attrs`                                               |\n| `vmListeners`                    | `${this, vm}.listeners`                                            |\n| `vmWatch`                        | `${this, vm}.$watch( expOrFn, callback, [options] )`               |\n| `vmSet`                          | `${this, vm}.$set( object, key, value )`                           |\n| `vmDelete`                       | `${this, vm}.$delete( object, key )`                               |\n| `vmOn`                           | `${this, vm}.$on( event, callback )`                               |\n| `vmOnce`                         | `${this, vm}.$once( event, callback )`                             |\n| `vmOff`                          | `${this, vm}.$off( [event, callback] )`                            |\n| `vmEmit`                         | `${this, vm}.$emit( event, […args] )`                              |\n| `vmMount`                        | `${this, vm}.$mount( [elementOrSelector] )`                        |\n| `vmForceUpdate`                  | `${this, vm}.$forceUpdate()`                                       |\n| `vmNextTick`                     | `${this, vm}.$nextTick( callback )`                                |\n| `vmDestroy`                      | `${this, vm}.$destroy()`                                           |\n| `renderer`                       | `const renderer = require('vue-server-renderer').createRenderer()` |\n| `createRenderer`                 | `createRenderer({ })`                                              |\n| `preventDefault`                 | `preventDefault();`                                                |\n| `stopPropagation`                | `stopPropagation();`                                               |\n\n\u003cbr /\u003e\n\n| 关键字                 | HTML 代码片段                           |\n| ---------------------- | --------------------------------------- |\n| `template`             | `\u003ctemplate\u003e\u003c/template\u003e`                 |\n| `script`               | `\u003cscript\u003e\u003c/script\u003e`                     |\n| `style`                | `\u003cstyle\u003e\u003c/style\u003e`                       |\n| `vText`                | `v-text=msg`                            |\n| `vHtml`                | `v-html=html`                           |\n| `vShow`                | `v-show`                                |\n| `vIf`                  | `v-if`                                  |\n| `vElse`                | `v-else`                                |\n| `vElseIf`              | `v-else-if`                             |\n| `vForWithoutKey`       | `v-for`                                 |\n| `vFor`                 | `v-for=\"\" :key=\"\"`                      |\n| `vOn`                  | `v-on`                                  |\n| `vBind`                | `v-bind`                                |\n| `vModel`               | `v-model`                               |\n| `vPre`                 | `v-pre`                                 |\n| `vCloak`               | `v-cloak`                               |\n| `vOnce`                | `v-once`                                |\n| `key`                  | `:key`                                  |\n| `ref`                  | `ref`                                   |\n| `slotA`                | `slot=\"\"`                               |\n| `slotE`                | `\u003cslot\u003e\u003c/slot\u003e`                         |\n| `slotScope`            | `slot-scope=\"\"`                         |\n| `component`            | `\u003ccomponent :is=''\u003e\u003c/component\u003e`        |\n| `keepAlive`            | `\u003ckeep-alive\u003e\u003c/keep-alive\u003e`             |\n| `transition`           | `\u003ctransition\u003e\u003c/transition\u003e`             |\n| `transitionGroup`      | `\u003ctransition-group\u003e\u003c/transition-group\u003e` |\n| `enterClass`           | `enter-class=''`                        |\n| `leaveClass`           | `leave-class=''`                        |\n| `appearClass`          | `appear-class=''`                       |\n| `enterToClass`         | `enter-to-class=''`                     |\n| `leaveToClass`         | `leave-to-class=''`                     |\n| `appearToClass`        | `appear-to-class=''`                    |\n| `enterActiveClass`     | `enter-active-class=''`                 |\n| `leaveActiveClass`     | `leave-active-class=''`                 |\n| `appearActiveClass`    | `appear-active-class=''`                |\n| `beforeEnterEvent`     | `@before-enter=''`                      |\n| `beforeLeaveEvent`     | `@before-leave=''`                      |\n| `beforeAppearEvent`    | `@before-appear=''`                     |\n| `enterEvent`           | `@enter=''`                             |\n| `leaveEvent`           | `@leave=''`                             |\n| `appearEvent`          | `@appear=''`                            |\n| `afterEnterEvent`      | `@after-enter=''`                       |\n| `afterLeaveEvent`      | `@after-leave=''`                       |\n| `afterAppearEvent`     | `@after-appear=''`                      |\n| `enterCancelledEvent`  | `@enter-cancelled=''`                   |\n| `leaveCancelledEvent`  | `@leave-cancelled=''`                   |\n| `appearCancelledEvent` | `@appear-cancelled=''`                  |\n\n\u003cbr /\u003e\n\n| 关键字                       | Vue Router 代码片段                            |\n| ---------------------------- | ---------------------------------------------- |\n| `routerLink`                 | `\u003crouter-link\u003e\u003c/router-link\u003e`                  |\n| `routerView`                 | `\u003crouter-view\u003e\u003c/router-view\u003e`                  |\n| `to`                         | `to=\"\"`                                        |\n| `tag`                        | `tag=\"\"`                                       |\n| `newVueRouter`               | `const router = newVueRouter({ })`             |\n| `routerBeforeEach`           | `router.beforeEach((to, from, next) =\u003e { }`    |\n| `routerBeforeResolve`        | `router.beforeResolve((to, from, next) =\u003e { }` |\n| `routerAfterEach`            | `router.afterEach((to, from) =\u003e { }`           |\n| `routerPush`                 | `router.push()`                                |\n| `routerReplace`              | `router.replace()`                             |\n| `routerGo`                   | `router.back()`                                |\n| `routerBack`                 | `router.push()`                                |\n| `routerForward`              | `router.forward()`                             |\n| `routerGetMatchedComponents` | `router.getMatchedComponents()`                |\n| `routerResolve`              | `router.resolve()`                             |\n| `routerAddRoutes`            | `router.addRoutes()`                           |\n| `routerOnReady`              | `router.onReady()`                             |\n| `routerOnError`              | `router.onError()`                             |\n| `routes`                     | `routes: []`                                   |\n| `beforeEnter`                | `beforeEnter: (to, from, next) =\u003e { }`         |\n| `beforeRouteEnter`           | `beforeRouteEnter (to, from, next) { }`        |\n| `beforeRouteLeave`           | `beforeRouteLeave (to, from, next) { }`        |\n| `scrollBehavior`             | `scrollBehavior (to, from, savedPosition) { }` |\n\n\u003cbr /\u003e\n\n| 关键字             | Vuex 代码片段                         |\n| ------------------ | ------------------------------------- |\n| `newVuexStore`     | `const store = new Vuex.Store({})`    |\n| `mapGetters`       | `import { mapGetters } from 'vuex'`   |\n| `mapMutations`     | `import { mapMutations } from 'vuex'` |\n| `mapActions`       | `import { mapActions } from 'vuex'`   |\n| `state`            | `state`                               |\n| `mutations`        | `mutations`                           |\n| `actions`          | `actions`                             |\n| `modules`          | `modules`                             |\n| `plugins`          | `plugins`                             |\n| `dispatch`         | `dispatch`                            |\n| `subscribe`        | `subscribe`                           |\n| `registerModule`   | `registerModule`                      |\n| `unregisterModule` | `unregisterModule`                    |\n| `hotUpdate`        | `hotUpdate`                           |\n\n\u003cbr /\u003e\n\n| 关键字      | Nuxt.js 代码片段     |\n| ----------- | -------------------- |\n| `nuxt`      | `\u003cnuxt/\u003e`            |\n| `nuxtChild` | `\u003cnuxt-child/\u003e`      |\n| `nuxtLink`  | `\u003cnuxt-link to=\"\"/\u003e` |\n| `asyncData` | `asyncData() {}`     |\n\n\u003c!-- \u003c/details\u003e --\u003e\n\n# 插件设置\n\n你可以在插件的选项中自定义代码格式化的格式，便于定制你的 `vue` 代码格式，配置参数如下：\n\n```json\nvue3snippets.arrowParens\nvue3snippets.bracketSpacing\nvue3snippets.endOfLine\nvue3snippets.htmlWhitespaceSensitivity\nvue3snippets.insertPragma\nvue3snippets.jsxBracketSameLine\nvue3snippets.jsxSingleQuote\nvue3snippets.printWidth\nvue3snippets.proseWrap\nvue3snippets.quoteProps\nvue3snippets.requirePragma\nvue3snippets.semi\nvue3snippets.singleQuote\nvue3snippets.tabWidth\nvue3snippets.trailingComma\nvue3snippets.useTabs\nvue3snippets.vueIndentScriptAndStyle\n```\n\n| 键值                                    | 例子                          | 默认值     |\n| -------------------------------------- | ----------------------------- | --------- |\n| vue3snippets.printWidth                | 10/20/30/40/n                 | 80        |\n| vue3snippets.tabWidth                  | 1/2/3/4/n                     | 2         |\n| vue3snippets.singleQuote               | false/true                    | false     |\n| vue3snippets.trailingComma             | none/es5/all                  | es5       |\n| vue3snippets.bracketSpacing            | true                          | true      |\n| vue3snippets.jsxBracketSameLine        | false/true                    | false     |\n| vue3snippets.semi                      | false/true                    | true      |\n| vue3snippets.requirePragma             | false/true                    | false     |\n| vue3snippets.insertPragma              | false/true                    | false     |\n| vue3snippets.useTabs                   | false/true                    | false     |\n| vue3snippets.proseWrap                 | preserve/always/never         | preserve  |\n| vue3snippets.arrowParens               | avoid/always                  | always    |\n| vue3snippets.jsxSingleQuote            | false/true                    | false     |\n| vue3snippets.htmlWhitespaceSensitivity | css/strict/ignore             | css       |\n| vue3snippets.vueIndentScriptAndStyle   | false/true                    | false     |\n| vue3snippets.endOfLine                 | auto/lf/crlf/cr               | lf        |\n| vue3snippets.quoteProps                | as-needed/consistent/preserve | as-needed |\n\n# Vue 2/3 详细教程\n\n附赠一些 Vue 中文教程，希望能帮助你快速上手：\n\n- [《Vue 3.0 教程》](https://github.com/Wscats/vue-cli)\n- [《Vue 2.0 教程》](https://github.com/Wscats/vue-tutorial)\n\n# 感谢\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eTencent Alloyteam Team \u0026\u0026 Qian Feng Team\u003c/b\u003e\u003c/summary\u003e\n| [\u003cimg src=\"https://avatars1.githubusercontent.com/u/17243165?s=460\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eEno Yao\u003c/sub\u003e](https://github.com/Wscats) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/5805270?s=460\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eAaron Xie\u003c/sub\u003e](https://github.com/aaron-xie) | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/12515367?s=460\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eDK Lan\u003c/sub\u003e](https://github.com/dk-lan) | [\u003cimg src=\"https://avatars1.githubusercontent.com/u/30917929?s=460\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eYong\u003c/sub\u003e](https://github.com/flowerField) | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/33544236?s=460\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eLi Ting\u003c/sub\u003e](https://github.com/Liting1) | \u003cimg src=\"https://avatars2.githubusercontent.com/u/50255537?s=400\u0026u=cfd51a5f46862d14e92e032a5b7ec073b67a904b\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eXin\u003c/sub\u003e | [\u003cimg src=\"https://avatars0.githubusercontent.com/u/39754159?s=400\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eLemon\u003c/sub\u003e](https://github.com/lemonyyye) | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/31915459?s=400\u0026u=11ea9bc9baa62784208a29dddcd0a77789e9620f\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eJing\u003c/sub\u003e](https://github.com/vickySC) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/24653988?s=400\u0026u=76227871dea8d4b57162093fde63b7d52910145d\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eLin\u003c/sub\u003e](https://github.com/shirley3790) | [\u003cimg src=\"https://avatars2.githubusercontent.com/u/23230108?s=460\u0026v=4\" width=\"60px;\"/\u003e\u003cbr /\u003e\u003csub\u003eTian Fly\u003c/sub\u003e](https://github.com/tiantengfly) |\n| - | - | - | - | - | - | - | - | - | - |\n\n希望你能喜欢这个插件！\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003cb\u003e\u003csummary\u003e引入的模块\u003c/b\u003e\u003c/summary\u003e\n\n- [Prettier](https://github.com/prettier/prettier)\n- [Vue2 Snippets](https://github.com/sdras/vue-vscode-snippets)\n- [Vue Syntax Highlight](https://github.com/vuejs/vue-syntax-highlight)\n\n\u003c/details\u003e\n\n如果插件能帮助到您，恳请您在 [商店](https://marketplace.visualstudio.com/items?itemName=Wscats.vue\u0026ssr=false#review-details) 中给我们一个五星的好评，您的鼓励是我们前进的最大动力，谢谢😀\n\n# 协议\n\n[Vue3 Snippets](https://marketplace.visualstudio.com/items?itemName=Wscats.vue) 基于 [MIT](http://opensource.org/licenses/MIT) 协议.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwscats%2Fvue-snippets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwscats%2Fvue-snippets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwscats%2Fvue-snippets/lists"}