TypeScript 插件
a-calc 提供了 TypeScript 语言服务插件,在编辑器中为 calc、fmt 等函数的表达式字符串提供智能补全。
功能特性
- 变量补全 - 自动提示第二个参数中的变量名
- 格式化语法补全 - 在
|后提示所有可用的格式化选项 - 预设补全 - 输入
!后提示预设名称和值 - 单位补全 - 根据项目配置提示可用单位
- 深层属性支持 - 支持
user.name这样的嵌套属性补全
配置方法
在项目的 tsconfig.json 中添加插件配置:
json
{
"compilerOptions": {
"plugins": [
{ "name": "a-calc/ts-plugin" }
]
}
}VS Code 配置
VS Code 默认使用内置的 TypeScript 版本,需要切换到工作区版本才能加载插件。
方法一:手动切换
- 打开任意
.ts文件 - 按
Ctrl+Shift+P(Mac:Cmd+Shift+P) - 输入
TypeScript: Select TypeScript Version - 选择
Use Workspace Version
方法二:自动切换
在 .vscode/settings.json 中添加:
json
{
"typescript.tsdk": "node_modules/typescript/lib"
}补全示例
变量补全
在表达式区域输入变量名前缀,自动提示可用变量:
typescript
const data = { price: 100, quantity: 3, user: { name: 'test' } }
calc('pri', data) // 输入 pri 后提示 price
calc('user.', data) // 输入 user. 后提示 name格式化语法补全
在 | 后触发补全,显示所有格式化选项:
typescript
calc('100 | ') // 提示 =N, <=N, %, ,, !t, !c 等预设补全
输入 ! 后提示预设类型:
typescript
calc('100 | !') // 提示 t(千分位), c(紧凑), u(单位) 等
calc('100 | !t:') // 提示 en, indian, wan 等千分位预设格式化区域变量补全
在 =、@、>、< 后可以补全变量:
typescript
const opts = { price: 100, decimals: 2, max: 1000 }
calc('price | =', opts) // = 后提示 decimals 等数字变量
calc('price | >', opts) // > 后提示 max 等数字变量支持的函数
插件支持以下函数的字符串参数补全:
calcfmtcalc_sumcalc_wrapcalc_spacecalc_avgcalc_maxcalc_mincalc_count
注意事项
- 修改
tsconfig.json后需要重启 VS Code 或重新加载窗口 - 确保项目中安装了
typescript依赖 - 插件仅在 TypeScript 文件中生效