- 🚀 定义跳转:
<template>
支持定义跳转
(附带下划线样式):自定义标签名,类名,属性中的变量、方法名- template 中属性的
变量、方法
支持跳转到<script> 中的定义位置
- template 中的
class 类名
支持跳转到<style> 样式脚本对应位置
- template 中的
自定义的组件标签名
支持跳转到自定义组件所在的文件
- template 中属性的
- 🚀 Hover:
class 类名
hover 展示对应的 style 样式片段 - 🚀 自动转为原子类:
hover
中支持将stylus class
对应的样式一键转换为Unocss
- 支持自定义转换规则,配置文件:
css2uno.config.js
, 示例见下文详情
- 支持自定义转换规则,配置文件:
- 🚀 自动补全:注意 class 等属性值默认不支持自动补全,可以通过
{
、(
,'
、"
等符号主动唤起自动触发 - 🚀 视图拆分:支持拆分 SFC 文件为多个编辑视图。比如同时在左侧/上侧编写
<script>
,右侧/下侧编写<template>
const familyMap = {
PingFangSC: {
basename: 'PF',
weightMap: {
Regular: '400',
Medium: '500',
Semibold: '600'
}
}
}
module.exports = {
rules: [
/** 自定义规则, eg: `font-family: PingFangSC-Medium` -> `PF-500` */
[
'font-family' /** style 的 Property */,
(value /** style 的 value */) => {
const [basename = '', weight = ''] = value.split('-')
const family = familyMap[basename]
if (family) {
const weightValue = family.weightMap[weight]
if (weightValue) {
return `${family.basename}-${weightValue}` // 最终转换结果
}
}
// return true // 如果返回 true, 继续走后续 unocss 默认转换
}
],
/** 后处理, eg: `background: #fff` --> `bg-[#fff]` --> `bg-#fff` */
[
/background(-color)?/,
(value /** 先经过插件内部 unocss 转换后的结果, eg: bg-[#fff] */) => {
return value.replace(/[[]/g, '').replace(/[\]]/g, '')
},
{
/**
* 执行时机:
* - pre(默认):在转换 unocss 处理之前
* - post:在转换 unocss 处理之后
*/
enforce: 'post',
// 未来可能支持更多参数,比如 inludes, excludes ..
}
]
]
}