第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

自定義代碼塊

1. 前言

前面小節(jié)我們了解了系統(tǒng)內(nèi)置的一些常用代碼塊的用法,但這些系統(tǒng)預(yù)置的代碼塊并不能滿足我們所有開發(fā)的需求。

不過不需要擔(dān)心,在 HBuilderX 開發(fā)工具中,給我們提供了自定義代碼塊的功能。我們可以根據(jù)自己的開發(fā)習(xí)慣和開發(fā)需求,來自定義我們常用的一些代碼塊。本小節(jié)來講解如何自定義代碼塊。

2. 配置項解析

代碼塊配置項我們前面小節(jié)也提到過,有 “body”、“prefix”、“project” 等,大家都知道各配置項的含義了,這節(jié)課主要來講解自定義代碼塊時,設(shè)置這些配置項需要注意的一些地方。

2.1 key 配置項

“key” 配置項就是觸發(fā)代碼塊時,顯示在代碼列表的名字。前面小節(jié)說過 key 配置項是唯一的,這個唯一指的是在同一個文件中是唯一的,不同代碼塊文件可以是重復(fù)的,我們來舉個例子。

前面講的條件編譯代碼塊 ifdef,分別在 javascript代碼塊(javascript.json)、vue代碼塊(vue.json)中的樣子如下。

實例:

// javascript.json
"#ifdef": {
        "body": [
            "http:// #ifdef ${1:APP-PLUS/APP-VUE/APP-NVUE/MP/MP-ALIPAY/MP-BAIDU/MP-WEIXIN/MP-QQ/MP-TOUTIAO/MP-360/H5/QUICKAPP-WEBVIEW-HUAWEI/QUICKAPP-WEBVIEW-UNION/QUICKAPP-WEBVIEW}",
            "$0",
            "http:// #endif"
        ],
        "prefix": "ifdef",
        "project": "uni-app",
        "scope": "source.js"
}

// vue.json
"#ifdef": {
        "body": [
            "<!-- #ifdef ${1:APP-PLUS/APP-VUE/APP-NVUE/MP/MP-ALIPAY/MP-BAIDU/MP-WEIXIN/MP-QQ/MP-TOUTIAO/MP-360/H5/QUICKAPP-WEBVIEW-HUAWEI/QUICKAPP-WEBVIEW-UNION/QUICKAPP-WEBVIEW} -->",
            "$0",
            "<!-- #endif -->"
        ],
        "prefix": "ifdef",
        "project": "uni-app",
        "scope": "source.vue.html"
}

可以看到,在這兩個代碼塊文件中,關(guān)于條件編譯的 key 配置項都是 "#ifdef",這樣雖然設(shè)置了兩個代碼塊,但是我們使用的時候就不需要在不同的作用域去區(qū)分了,非常方便。

2.2 body配置項

“body” 配置項在自定義的時候,需要學(xué)習(xí)的地方比較多,需要了解怎樣來設(shè)置占位符,下面我們來詳細(xì)講解一下,看看應(yīng)該如何設(shè)置 “body” 配置項。

在系統(tǒng)預(yù)置代碼塊源碼文件中,可以看到 “body” 配置項中有許多 $0、$1、$2 字符。這些字符是什么意思呢?

2.2.1 $0、$1、$2 字符的含義

$ 是占位符,$ 后面緊跟的數(shù)字是代碼塊被觸發(fā)后,在開發(fā)工具中顯示的光標(biāo)位置,光標(biāo)位置顯示順序根據(jù) $ 后面的數(shù)字有關(guān)。

KaTeX parse error: Expected 'EOF', got '開' at position 3: 1 開?始, 后面的數(shù)字越大,光標(biāo)顯示順序就越靠后。代碼塊被觸發(fā)后,光效會先顯示在 $1 所在的位置, $1 可以設(shè)置多個,光標(biāo)會同時出現(xiàn)在這多個位置。再次按 TAB 鍵,光標(biāo)會顯示在 $2 所在的位置, $3、$4 … 以此類推。

需要特別注意的是 $0 設(shè)置的是光標(biāo)最終所在的位置。比如我們將代碼塊的 body 配置項設(shè)置成下面這樣。

實例:

"body": [
	"<${1:view} ${2:class}=\"imooc\">",
		"$0",
	"<${1:/view}>"
]

代碼塊被觸發(fā)之后,鼠標(biāo)會顯示在 $1 所在的位置,如下圖:

再次按 TAB 鍵,鼠標(biāo)顯示在 $2 所在的位置,如下圖:

再次按 TAB 鍵,沒有比 $2 更大的數(shù)字了,所以鼠標(biāo)會最終顯示在 $0 所在的位置,如下圖:

2.2.2 設(shè)置多選項下拉菜單

設(shè)置代碼塊內(nèi)容時,還支持設(shè)置多選項下拉菜單。如果某個位置需要有下拉候選菜單,我們可以這樣來寫:${1:imooc1/imooc2/imooc3}

我們自定義代碼塊的時候,將 body 的內(nèi)容設(shè)置為下面這樣,來看看是怎樣的效果。

實例:

"body": [
	"<view class=${1:imooc1/imooc2/imooc3}>",
		"$0",
	"</view>"
]

代碼塊被觸發(fā)之后,會顯示出剛剛設(shè)置的多選項下拉菜單。

body 配置項需要我們學(xué)習(xí)的地方比較多,知道了這些配置項的用法之后,我們來學(xué)習(xí)如何自定義一個代碼塊吧。

3. 自定義代碼塊

3.1 打開自定義文件

點擊菜單欄-工具-代碼塊設(shè)置,或出現(xiàn)這些選項,如下圖:

我們定義什么語言的代碼塊,就直接選擇相應(yīng)語言的代碼塊文件,除了 HTML、css、javascript、vue 語言之外,其他的都選擇最后一項“自定義其他語言代碼塊”。

在 uni-app 項目中,我們一般最常定義的代碼塊是 vue 代碼塊,所以這節(jié)課我們打開 vue 代碼塊文件,后面在這個文件中填充自定義代碼塊。

打開代碼塊文件之后,頁面的左側(cè)是系統(tǒng)預(yù)置的代碼塊,我們不能修改,頁面的右側(cè)是編寫自定義代碼塊的區(qū)域。

3.2 編寫自定義代碼塊

將下面的代碼粘貼到代碼塊文件的右側(cè)區(qū)域。
實例:

"uImooc": {
	"body": [
		"<view class=${1:imooc1/imooc2/imooc3}>",
		"\t<view class=\"imooc4\">",
		"\t$0",
		"\t</view>",
		"</view>"
	],
	"prefix": "uimooc",
	"project": "uni-app",
	"scope": "source.vue.html"
}

Tips:

  • 要注意代碼塊的最外層有一對大括號,所有的代碼塊都要包裹在這個大括號中;
  • 多個代碼塊之間要用英文逗號隔開;
  • body 配置項中,每一行都要用雙引號包圍,并用逗號分隔。代碼中出現(xiàn)雙引號使用"轉(zhuǎn)義,或者使用單引號代替??s進需要用 \t 表示,不能直接輸入縮進或空格。

3.3 代碼塊生效

我們保存一下剛剛自定義的代碼塊,要先查看左下角有沒有報錯信息。如果代碼塊語法不合法,編輯器左下角會彈出錯誤信息,同時代碼中會在錯誤的地方顯示紅波浪線,這時要注意修正,否則代碼塊不會生效。

代碼塊保存成功之后,自定義的代碼塊就會生效了,這個時候可以在文檔中使用了,我們來測試一下。

在文檔中輸入 uimooc ,代碼塊就會被觸發(fā),如下圖:

4. 小結(jié)

本小節(jié)我們學(xué)習(xí)了怎樣自定義一個代碼塊,同樣屬于實操性比較強的知識點,大家在學(xué)習(xí)的過程中,最好跟著我們的課程操作一遍,加深一下理解哦,本小節(jié)需要掌握的重點如下:

  • 了解代碼塊中各配置項的含義,特別是 body 配置項,要掌握 $ 占位符的使用;
  • 掌握如何自定義代碼塊并在文檔中生效。