zoukankan      html  css  js  c++  java
  • VUE-使用vscode 快速生成vue 模板和注释信息的用户代码片段

    最近在使用VSCODE 开发VUE项目,以下是如何生成VUE文件模板的做法。

    第一步

    打开vscode, 文件-首选项-用户代码片段,选择代码片段文件或创建代码片段,选择或新建vue.json

    第二步

    在代码片段内输入如下内容,

    • 其中 ${1:功能描述} 是光标第一个焦点的位置
    • $CURRENT_YEAR等显示日期信息
    • 双引号需要斜杠转义
    • 《script》和《/script》 需要替换
    {
    	// Place your snippets for vue here. Each snippet is defined under a snippet name and has a prefix, body and 
    	// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
    	// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the 
    	// same ids are connected.
    	// Example:
    	// "Print to console": {
    	// 	"prefix": "log",
    	// 	"body": [
    	// 		"console.log('$1');",
    	// 		"$2"
    	// 	],
    	// 	"description": "Log output to console"
    	// }
    
    	"Print to console": {
            "prefix": "vue",
            "body": [
    			"<!--",
    			"  功能:${1:功能描述}",
    			"  作者:missfox",
    			"  邮箱:missfoxw@163.com",
    			"  时间:$CURRENT_YEAR年$CURRENT_MONTH月$CURRENT_DATE日 $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
    			"  版本:v1.0",
    			"  修改记录:",
    			"  修改内容:",
    			"  修改人员:",
    			"  修改时间:",
    			"-->",
    			"<template>",
    			"</template>",
    			"",
    			"《script》",
    			"export default {",
    			"  // 组件名称",
    			"  name: 'demo',",
    			"  // 组件参数 接收来自父组件的数据",
    			"  props: {},",
    			"  // 局部注册的组件",
    			"  components: {},",
    			"  // 组件状态值",
    			"  data () {",
    			"   return {}",
    			"  },",
    			"  // 计算属性",
    			"  computed: {},",
    			"  // 侦听器",
    			"  watch: {},",
    			"  // 组件方法",
    			"  methods: {},",
    			"  // 以下是生命周期钩子   注:没用到的钩子请自行删除",
    			"  /**",
    			"  * 在实例初始化之后,组件属性计算之前,如data属性等",
    			"  */",
    			"  beforeCreate () {",
    			"  },",
    			"  /**",
    			"  * 组件实例创建完成,属性已绑定,但DOM还未生成,$ el属性还不存在",
    			"  */",
    			"  created () {",
    			"  },",
    			"  /**",
    			"  * 在挂载开始之前被调用:相关的 render 函数首次被调用。",
    			"  */",
    			"  beforeMount () {",
    			"  },",
    			"  /**",
    			"  * el 被新创建的 vm.$ el 替换,并挂载到实例上去之后调用该钩子。",
    			"  * 如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$ el 也在文档内。",
    			"  */",
    			"  mounted () {",
    			"  },",
    			"  /**",
    			"  * 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。",
    			"  * 你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。",
    			"  */",
    			"  beforeUpdate () {",
    			"  },",
    			"  /**",
    			"  * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。",
    			"  * 当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。",
    			"  */",
    			"  updated () {",
    			"  },",
    			"  /**",
    			"  * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效",
    			"  */",
    			"  activated () {",
    			"  },",
    			"  /**",
    			"  * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效",
    			"  */",
    			"  deactivated () {",
    			"  },",
    			"  /**",
    			"  * 实例销毁之前调用。在这一步,实例仍然完全可用。",
    			"  */",
    			"  beforeDestroy () {",
    			"  },",
    			"  /**",
    			"  * Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,",
    			"  * 所有的事件监听器会被移除,所有的子实例也会被销毁。",
    			"  */",
    			"  destroyed () {",
    			"  }",
    			"}",
    			"《/script》 ",
    			"",
    			"<!-- Add "scoped" attribute to limit CSS to this component only -->",
    			"<!--使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,-->",
    			"<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,-->",
    			"<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->",
    			"<style scoped>",
    			"",
    			"</style>",
                "$2"
            ],
            "description": "Log output to console"
        }
    }
    
    

    第三步

    在vscode里新建一个vue文件,在文件空白处输入vue ,按 Tab 键,即可生成完整的模板,

    最终的内容样例如下:

    <!--
      功能:功能描述
      作者:missfox
      邮箱:missfoxw@163.com
      时间:2019年08月07日 15:15:04
      版本:v1.0
      修改记录:
      修改内容:
      修改人员:
      修改时间:
    -->
    <template>
    </template>
    
    《script》 
    export default {
      // 组件名称
      name: 'demo',
      // 组件参数 接收来自父组件的数据
      props: {},
      // 局部注册的组件
      components: {},
      // 组件状态值
      data () {
       return {}
      },
      // 计算属性
      computed: {},
      // 侦听器
      watch: {},
      // 组件方法
      methods: {},
      // 以下是生命周期钩子   注:没用到的钩子请自行删除
      /**
      * 在实例初始化之后,组件属性计算之前,如data属性等
      */
      beforeCreate () {
      },
      /**
      * 组件实例创建完成,属性已绑定,但DOM还未生成,$ el属性还不存在
      */
      created () {
      },
      /**
      * 在挂载开始之前被调用:相关的 render 函数首次被调用。
      */
      beforeMount () {
      },
      /**
      * el 被新创建的 vm.$ el 替换,并挂载到实例上去之后调用该钩子。
      * 如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$ el 也在文档内。
      */
      mounted () {
      },
      /**
      * 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
      * 你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。
      */
      beforeUpdate () {
      },
      /**
      * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
      * 当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。
      */
      updated () {
      },
      /**
      * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
      */
      activated () {
      },
      /**
      * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
      */
      deactivated () {
      },
      /**
      * 实例销毁之前调用。在这一步,实例仍然完全可用。
      */
      beforeDestroy () {
      },
      /**
      * Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,
      * 所有的事件监听器会被移除,所有的子实例也会被销毁。
      */
      destroyed () {
      }
    }
    《/script》 
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <!--使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,-->
    <!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,-->
    <!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
    <style scoped>
    
    </style>
    
    
  • 相关阅读:
    java socket
    eclipse汉化包
    Java中的Integer和int
    linux安装docker
    linux安装maven及配置
    zookeeper入门001
    java-jvm类加载-001笔记
    jvm类加载
    Java中的<< 和 >> 和 >>> 介绍
    linux安装mysql5.7.27
  • 原文地址:https://www.cnblogs.com/missfox18/p/11315476.html
Copyright © 2011-2022 走看看