为Formily的JSON-Schema配置提供语言特性支持
支持的语言特性
- 属性名补全建议
- 属性名悬浮提示
- 属性名类型定义跳转
- 函数签名
支持文件类型
TS/TSX
- 支持x-component-props和x-decorator-props类型提示
- Formily提供了ISchema类型,对于schema的类型支持请借助TS类型声明完成
JS/JSX
- 支持x-component-props和x-decorator-props类型提示
- 支持schema的类型提示
Vue
- 支持解析Composition API语法的Vue SFC文件中
<setup> 内的Formily配置项,Options语法的SFC文件理论上也支持解析但未经过验证。
- 不支持解析
<template> 内的Formily配置项
- 不支持解析含有JSX/TSX语法的Vue SFC文件。
组件库支持说明
- 目前对React组件库的组件props类型支持较为良好
- Vue组件库由于导出的类型声明方式较为多样,需要进行定制适配,目前相当一部分组件依然存在问题,努力适配中。
- 自定义组件:暂不支持,计划后续版本支持手动指定自定义组件的类型声明文件
配置项说明
运行环境和组件库
formily.runtime.type :插件激活后会自动从根据项目根目录的package.json确定当前为React/Vue环境,如果同时存在多个请手动指定。
formily.runtime.componentPackageName :插件激活后会自动从根据项目根目录的package.json确定当前Formily组件库包名,如果解析失败或同时存在多个请手动指定。
项目结构
formily.project.rootPath :解析Formily相关类型依赖的起点路径,默认为项目根目录(通常node_modules所在的目录),如果当前项目的node_modules在其他层级,或为monorepo结构,请手动指定Formily相关依赖包所在的子路径,例如/ -> packages/package-use-formily/ 。或直接开启isInMonorepo 选项。
formily.project.isInMonorepo :开启后会以当前代码文件的实际路径为起点,解析Formily相关类型依赖。
| |