v2024.Sep: VI分析器与复杂类型修复

【v2024.Sep 精简公告】CSM v2024.September 已发布并推送至 VIPM。本期重点是质量与兼容性改进:核心库新增 VI Analyzer 支持(#92#287);API String 插件修复了嵌套数组、二维数组在 Cluster 中的多个严重解析 bug;INI 插件新增 Multi-lines Key 支持和日志过滤配置 API。

2024 年 9 月的 CSM v2024.September 更新已经推送到 VIPM。如果你觉得 CSM 对你有帮助,请在 GitHub/Gitee 上 star 对应的仓库!也欢迎有经验的 LabVIEW 高手参与到 CSM 的开发中来。

版本亮点

  • VI Analyzer 支持#92#287):核心库新增 VI Analyzer 支持,开发者可以使用 LabVIEW VI Analyzer 对 CSM 项目进行静态代码分析,提升代码质量。
  • API String 嵌套数组修复#58#2):修复了嵌套数组、Cluster 中的二维数组等复杂类型的解析问题,大幅提升了 API String 对复杂数据结构的支持可靠性。
  • INI 插件 Multi-lines Key 支持#41):LabVIEW Config 库新增对多行 Key 的支持,允许配置文件中的值跨越多行。
  • INI 插件 Session/Key 大小写不敏感#47#48):Session 名和 Key 名现在大小写不敏感且对首尾空格免疫,使配置访问更加健壮。
  • 多项核心库稳定性修复:修复了多个报告的小问题(#302#304#308#309),进一步提升核心库稳定性。

按仓库变更

1. Communicable-State-Machine

功能改动(重点)

  • VI Analyzer 支持#92#287):框架现在支持 LabVIEW VI Analyzer 静态分析,帮助开发者识别代码质量问题。
  • VI Reference 工具支持 .vit 文件#305):”Add VI Reference” 工具现在也会处理 .vit 模板文件,确保模板文件也能正确获得 VI Reference Case。
  • 取消 Parse State Queue++.vi 的 Inline 选项:取消了该核心 VI 的 inline 标记,避免部分场景下的性能与兼容性问题。
  • 多处稳定性修复#302#304#308#309):修复了用户报告的多个细节问题,进一步提升框架稳定性。

文档与图标(简述)

  • 与核心库版本同步更新。

2. CSM-API-String-Arguments-Support

功能改动(重点)

  • 修复嵌套数组问题#58):修复了数组嵌套场景下的解析错误,确保多层嵌套数组能够正确编解码。
  • 修复 Cluster 中的二维数组#2):修复了 Cluster 中包含二维数组时的解析失败问题。
  • 修复 Cluster 数组和二维 Cluster 数组:修复了 Cluster 数组和二维 Cluster 数组相关的解析问题,全面增强复杂类型的支持可靠性。
  • “VI Reference” Case 更新:在模板中继续完善”VI Reference” Case 的实现。
  • 错误处理改进#56):进一步更新模板中的错误处理逻辑。

文档与图标(简述)

  • 与核心库版本同步更新。

3. CSM-INI-Static-Variable-Support

功能改动(重点)

  • 日志过滤规则读取 API#42):新增 CSM - Read Log Filter Rules from INI Strings,可以从 INI 字符串中读取日志过滤规则。
  • 文件日志配置读取 API#45):新增 CSM - Read File Logger Configuration from INI String,可从 INI 配置中读取并应用文件日志配置参数。
  • 读取数组键 VI:LabVIEW Config 库新增 Read Array Key.vi,支持读取配置文件中的数组类型值(对应 v2024.August 中的相同增强,在此版本正式发布)。
  • Multi-lines Key 支持#41):LabVIEW Config 库现在支持多行 Key,允许配置值跨越多行书写,适用于长字符串或多行文本配置。
  • Session/Key 大小写不敏感#47#48):Session 名和 Key 名现在大小写不敏感,且对首尾空格进行了处理,使配置读写更加健壮和容错。
  • 所有 CSM 模块升级”VI Reference”:INI 插件中的所有 CSM 模块均已加入”VI Reference” Case。

文档与图标(简述)

  • 与核心库版本同步更新。

4. CSM-Continuous-Measurement-and-Logging

功能改动(重点)

  • 更新 CSM 框架至最新版本,同步所有改进。
  • 修复次要问题(#16#14)。

文档与图标(简述)

  • 与核心库版本同步更新。

5. 其他仓库

  • CSM-MassData-Parameter-Support:本期无该版本发布,已忽略。
  • CSM-TCP-Router:本期无该版本发布,已忽略。

按功能变更

1. 功能新增

  • 核心库新增 VI Analyzer 支持(#92#287)。
  • INI 插件新增日志过滤规则读取 API(#42)。
  • INI 插件新增文件日志配置读取 API(#45)。
  • INI 插件新增读取数组键 VI。
  • INI 插件新增 Multi-lines Key 支持(#41)。

2. 改进优化

  • “Add VI Reference” 工具支持 .vit 文件(#305)。
  • INI 插件 Session/Key 大小写不敏感,对首尾空格免疫(#47#48)。
  • 取消 Parse State Queue++.vi 的 Inline 标记。
  • API String 模板错误处理继续完善(#56)。

3. 问题修复

  • 核心库多处稳定性修复(#302#304#308#309)。
  • API String 修复嵌套数组解析问题(#58)。
  • API String 修复 Cluster 中二维数组的解析问题(#2)。
  • API String 修复 Cluster 数组和二维 Cluster 数组的解析问题。
  • CSM Continuous 修复次要问题(#16#14)。

破坏性变更

本期无破坏性变更。

升级指引

  1. 通过 VIPM 更新到 v2024.September 版本。
  2. 升级后可以使用 VI Analyzer 对 CSM 项目进行静态代码分析,建议在大型项目中使用以提升代码质量。
  3. 若使用 API String 处理嵌套数组或 Cluster 中的复杂类型,升级后请验证解析结果是否符合预期。
  4. INI 插件的 Session/Key 现在大小写不敏感,若代码中存在依赖大小写区分的配置,请检查兼容性。

完整变更来源

Release

结尾

欢迎大家使用并提出反馈!本次更新的重心在于质量和兼容性:VI Analyzer 支持为代码质量把关,复杂类型 bug 修复让 API String 更加可靠。如果你有好的想法或发现了问题,欢迎在 GitHub 提交 Issue!