Skip to main content
Fluxon 官方 VS Code 扩展为 .fs 文件与 YAML 嵌入块带来语法高亮、智能补全、注解/片段模板与函数目录同步能力。 本章总结其安装方式、常用配置及维护流程,便于团队快速统一开发体验。

功能概览

  • 语法高亮:覆盖关键字、变量引用、运算符与注解块。
  • 基本补全:关键字、系统函数、扩展函数、链式 :: 调用及当前工作区的 def/fun 块均可被建议,并附带参数占位符。
  • 注解提示:输入 @ 即出现内置注解(默认 @except)模板。
  • 代码片段defwhentry 等前缀可展开为常用结构;括号与引号自动闭合。
  • YAML 嵌入:在 YAML 中使用 : ; 启用 Fluxon 区块,补全与语法提示与 .fs 文件一致。
示例:
script:
	onLoad: ;print("Hello Fluxon")
	onTick: ;for i in 1..10 { print(&i) }

安装与更新

  1. 在 VS Code 的扩展视图搜索 “Fluxon” 并安装,或手动导入 .vsix 包。
  2. 若需本地构建:
pnpm install
pnpm run prepackage   # 同步函数目录 + 编译
pnpm run package      # 生成 dist/fluxon-*.vsix
  1. 打开 “扩展” 视图 → 右上角 → “从 VSIX 安装” 选择生成的包。
仓库附带 vscode-extension/demo/vscode-extension/data/fluxon-functions.json,便于测试补全是否生效。

命令与快捷操作

命令说明
Fluxon: Refresh Function Catalog立即重新加载 fluxon-functions.json,在添加新函数后刷新补全。
Toggle Line Comment针对 Fluxon 语法插入 # 注释。
Toggle Block Comment插入 /* ... */ 区块注释,支持多光标。
常用片段前缀:defdefbasyncforwhentryimport@

配置选项

settings.json 中搜索 Fluxon 可调节以下参数:
默认值作用
fluxonCompletion.catalogPath(空)自定义函数目录路径。
fluxonCompletion.showNamespacestrue在补全项中显示命名空间,方便区分系统/扩展函数。
fluxonCompletion.enableExtensionstrue控制是否在 object:: 上下文提供扩展函数提示。
fluxonCompletion.includeUserFunctionstrue扫描当前工作区 .fs 文件并补全用户自定义函数。
fluxonCompletion.traceoff补全日志级别。

函数目录同步

补全依赖运行时导出的 fluxon-functions.json。新增函数时需重新生成并同步:
# 在仓库根目录
./gradlew :core:dumpFluxonCatalog

# 同步到 VS Code 扩展
cd vscode-extension
pnpm run sync-catalog
更新后执行命令面板中的 Fluxon: Refresh Function Catalog 以刷新内存缓存。

本地调试流程

  1. vscode-extension 中运行 pnpm run watch,保持 TypeScript 编译。
  2. 在 VS Code 中按 F5 启动 “扩展开发主机”。
  3. 在新窗口打开 .fsdemo/test.yml,验证补全与语法高亮。
  4. 修改代码后调试窗口会自动热重载,如需重新拉取目录可重复执行上节命令。

常见问题

  • .fs 误识别为 F#:点击状态栏语言模式,手动切换为 “Fluxon”。
  • 补全缺少新函数:确认已执行 dumpFluxonCatalogsync-catalog,并运行刷新命令。
  • YAML 中无补全:确保 Fluxon 代码前加 ;,例如 onLoad: ;print('hi')
通过以上步骤即可维护一份可靠的 Fluxon VS Code 扩展环境,享受一致的语法体验。