Fluxon 官方 VS Code 扩展为 .fs 文件与 YAML 嵌入块带来语法高亮、智能补全、注解/片段模板与函数目录同步能力。
本章总结其安装方式、常用配置及维护流程,便于团队快速统一开发体验。
功能概览
- 语法高亮:覆盖关键字、变量引用、运算符与注解块。
- 基本补全:关键字、系统函数、扩展函数、链式
:: 调用及当前工作区的 def/fun 块均可被建议,并附带参数占位符。
- 注解提示:输入
@ 即出现内置注解(默认 @except)模板。
- 代码片段:
def、when、try 等前缀可展开为常用结构;括号与引号自动闭合。
- YAML 嵌入:在 YAML 中使用
: ; 启用 Fluxon 区块,补全与语法提示与 .fs 文件一致。
示例:
script:
onLoad: ;print("Hello Fluxon")
onTick: ;for i in 1..10 { print(&i) }
安装与更新
- 在 VS Code 的扩展视图搜索 “Fluxon” 并安装,或手动导入
.vsix 包。
- 若需本地构建:
pnpm install
pnpm run prepackage # 同步函数目录 + 编译
pnpm run package # 生成 dist/fluxon-*.vsix
- 打开 “扩展” 视图 → 右上角
… → “从 VSIX 安装” 选择生成的包。
仓库附带 vscode-extension/demo/ 与 vscode-extension/data/fluxon-functions.json,便于测试补全是否生效。
命令与快捷操作
| 命令 | 说明 |
|---|
Fluxon: Refresh Function Catalog | 立即重新加载 fluxon-functions.json,在添加新函数后刷新补全。 |
Toggle Line Comment | 针对 Fluxon 语法插入 # 注释。 |
Toggle Block Comment | 插入 /* ... */ 区块注释,支持多光标。 |
常用片段前缀:def、defb、async、for、when、try、import、@。
配置选项
在 settings.json 中搜索 Fluxon 可调节以下参数:
| 键 | 默认值 | 作用 |
|---|
fluxonCompletion.catalogPath | (空) | 自定义函数目录路径。 |
fluxonCompletion.showNamespaces | true | 在补全项中显示命名空间,方便区分系统/扩展函数。 |
fluxonCompletion.enableExtensions | true | 控制是否在 object:: 上下文提供扩展函数提示。 |
fluxonCompletion.includeUserFunctions | true | 扫描当前工作区 .fs 文件并补全用户自定义函数。 |
fluxonCompletion.trace | off | 补全日志级别。 |
函数目录同步
补全依赖运行时导出的 fluxon-functions.json。新增函数时需重新生成并同步:
# 在仓库根目录
./gradlew :core:dumpFluxonCatalog
# 同步到 VS Code 扩展
cd vscode-extension
pnpm run sync-catalog
更新后执行命令面板中的 Fluxon: Refresh Function Catalog 以刷新内存缓存。
本地调试流程
- 在
vscode-extension 中运行 pnpm run watch,保持 TypeScript 编译。
- 在 VS Code 中按
F5 启动 “扩展开发主机”。
- 在新窗口打开
.fs 或 demo/test.yml,验证补全与语法高亮。
- 修改代码后调试窗口会自动热重载,如需重新拉取目录可重复执行上节命令。
常见问题
.fs 误识别为 F#:点击状态栏语言模式,手动切换为 “Fluxon”。
- 补全缺少新函数:确认已执行
dumpFluxonCatalog 与 sync-catalog,并运行刷新命令。
- YAML 中无补全:确保 Fluxon 代码前加
;,例如 onLoad: ;print('hi')。
通过以上步骤即可维护一份可靠的 Fluxon VS Code 扩展环境,享受一致的语法体验。