@iChenLei 已接手維護本插件,歡迎大家在釘釘群組或Github issues 提意見。
所有自動補全的範本資料都來自於官方文檔,透過腳本自動取得的
New Miniprogram Component
選項,輸入元件名稱即可一鍵建立.wxml
/ .js
/ .wxss
/ .json
以及元件資料夾js
文件 {
"minapp-vscode.cssExtname" : "less" , // 默认 wxss,支持 styl sass scss less css
"minapp-vscode.wxmlExtname" : "vue" , // 默认 wxml,支持 vue wpy
"minapp-vscode.jsExtname" : "ts" // 默认 js,支持 ts coffee
}
<
才會觸發標籤補全,而pug 語言只需要寫標籤開頭即能觸發標籤補全range
和range-key
的屬性start
和end
的屬性功能還不完善,只會尋找和目前範本同名的腳本文件,所以有可能會找不到JS 中的定義
系統會自動取得和目前範本同名的樣式檔案中的所有樣式名,同時還能取得樣式名上的/** */
中的文件;如果有全域的樣式,則需要透過設定項minapp-vscode.globalStyleFiles
來指定。
預設會取得和目前模板同名的樣式檔案中的名稱
注意:如果樣式文件是@import
了另一個樣式文件,則程式不會去取得這個引入的文件中的樣式名
另外可以使用minapp-vscode.globalStyleFiles
來指定一些全域的樣式文件,這樣輸入class=""
後也會出現這些文件中的樣式名
小程式的app.wxss 一般是全域的樣式,所以需要你手動透過這個設定來指定,如設定minapp-vscode.globalStyleFiles: ["src/app.wxss"]
另外也可以使用minapp-vscode.styleExtensions
來指定係統所使用的樣式檔案的後綴
建議配置此項,系統預設會尋找各種後綴的樣式文件,為避免不必要的效能損耗,最好是配置成專案中使用的後綴!
注意:不支援
sass
這種縮排版的樣式文件
vue 中的template 板支援兩個屬性:
lang
可以設定為"wxml"
或"pug"
,表示使用的語言(在類別vue 框架中指定lang
屬性可能會導致編譯報錯,你可以使用xlang
替代,但這樣會同時出現vue 和minapp 的補全)minapp
可以設定為"native"
, "wepy"
, "mpx"
或"mpvue"
,表示使用的框架,預設為"mpvue"
如:
<template lang="wxml" minapp="native">
表示使用wxml 語言,不使用任何框架<template lang="pug" minapp="mpvue">
表示使用pug 語言,並使用mpvue 框架注意,在mpvue 中指定lang="wxml" 會報錯,需要等待作者修復!不過你可以暫時使用
xlang="wxml"
,但這樣同時也會觸發vue 的自動補全
指定為不同的minapp 值會觸發對應框架的自動補全,由於本人沒有使用wepy 和mpvue 開發過,所以這些自動補全是根據官方文檔說明而加上的,如果有錯誤,歡迎PR(只需要修改檔案src/plugin/lib/language.ts)
minapp-vscode.linkAttributeNames
來擴充額外的支援link 的標籤,將此值配置成空數組,可以停用link 功能minapp-vscode.resolveRoots
來使用相對目錄解析圖片路徑minapp-vscode.disableDecorate
為true
開啟高亮minapp-vscode.decorateType
來使用你喜歡的顏色,如{"color": "red"}
minapp-vscode.decorateComplexInterpolation
為false
,這樣只有變數(如: foo
, foo.prop
, foo[1]
)會高亮,而表達式(如: foo + bar
, foo < 3
)不會高亮,而使用原本的顏色為了加快解析速度,顏色高亮使用的是正規表示式匹配,所以可能會出現匹配錯誤的情況;如果不滿意,可以配置minapp-vscode.disableDecorate
來停用顏色高亮功能
已知問題:
minapp-vscode.snippets
來定義你自己的snippets和官方的Snippets 的區別時,這裡的Snippets 只需要指定key 和body 即可,組件描述自動會根據key 來獲取(另外後期可以讓配置和內置的數據結合起來)
emmet cheat sheet
支援prettyHtml
, js-beautify
和prettier
(部分內容需要採用相容html的方式書寫)
wxml
"minapp-vscode.wxmlFormatter" : "wxml" , // 指定格式化工具
"minapp-vscode.wxmlFormatter" : "jsBeautifyHtml" , // 指定格式化工具
// 使用 vscode settings.json 中的 `html.format.[配置字段]` 配置字段, 详见下方 tips.4
"minapp-vscode.jsBeautifyHtml" : "useCodeBuiltInHTML" ,
// 使用自定义配置
"minapp-vscode.jsBeautifyHtml" : { // jsBeautify 默认配置
"content_unformatted" : "text" ,
"wrap_attributes" : "force" ,
"indent_size" : 2 ,
"wrap_attributes_indent_size" : 2 ,
"void_elements" : "image,input,video" ,
"indent_scripts" : "keep"
}
"minapp-vscode.wxmlFormatter" : "prettyHtml" , // 指定格式化工具
"minapp-vscode.prettyHtml" : { // prettyHtml 默认配置
"useTabs" : false ,
"tabWidth" : 2 ,
"printWidth" : 100 ,
"singleQuote" : false ,
"usePrettier" : true ,
"wrapAttributes" : false , // 设置成 true 强制属性换行
"sortAttributes" : false
}
"minapp-vscode.wxmlFormatter" : "prettier" , // 指定格式化工具
"minapp-vscode.prettier" : { // prettier 更多参考 https://prettier.io/docs/en/options.html
"useTabs" : false ,
"tabWidth" : 2 ,
"printWidth" : 100 ,
"singleQuote" : false
}
prettyHtml
和prettier
方式,會自動讀取專案下的設定文件,Prettier configuration file .editorconfig
prettyHtml
,和prettier
採用HTML5 的語法和wxml 不完全一致,寫法要注意相容jsBeautifyHtml
, 當值為"useCodeBuiltInHTML"
時, 配置資訊將從vscode 配置中的html.format.*
配置字段doc 讀取, 轉換為js-beautify 的配置minapp 外掛程式會自動將.pug 檔案關聯到wxml-pug
檔案類型。所以你只需要在具體的專案中設定一下檔案關聯就行了。
pug
檔案類型wxml-pug
檔案類型