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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM