KCL 社区最新动态速递 | 大量体验提升!IDE 插件新增所处补全、更流畅的包管理和开箱即用模型


双周同步开源进展

欢迎加入 KCL 社区进行互动~

 

KCL 是一个 CNCF 基金会托管的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。

本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区!

KCL 官网:https://kcl-lang.io

|内容概述|

感谢所有贡献者过去近一月 (2023 10.26 - 11.8) 的杰出工作,以下是重点合并内容概述

🔧 语言及工具链更新

  • KCL IDE 更 - 更智能的配置值补全、属性列表补全、函数参数补全、内置包引用补全和 docstring 补全等

  • KCL 包管理工具 KPM 更新 -  更流畅的创建、发布 KCL 包的工作流:支持基于版本系统的包更新和发布的自动化流程;此外,现已允许对KCL包的元信息自定义配置

  • KCL 模型更新 - 开箱即用的 KCL 模型新增至 120+

  • KCL 语言更新 - 优化了 schema 字段类型不匹配的报错信息,支持 lambda 类型注解,以及个别编译问题修复;系统库支持对 JSON/YAML 字符串的验证、序列化和反序列化

  • KCL 导入工具发布 支持从 YAML/JSON/CRD/Terraform Schema 一键生成 KCL 配置/模型,实现自动化迁移

     

|特别鸣谢|

 

以下排名不分先后

  • 感谢 @jakezhu9 对 KCL benchmark 由单线程 Rc 到 Arc 的改进,对 KCL 导入工具中关于引用路径的 bug修复 🙌 https://github.com/kcl-lang/kcl-go/pull/170 

  • 谢 @liangyuanpeng 为 KCL 模型贡献 karmada 模型包,欢迎 🙌

    https://github.com/kcl-lang/artifacthub/pull/48/files

  • 此外,感谢 @Matt Gowie, @ddh 对 KCL 的关注和宝贵反馈 🙌

     

|精选更新|

KCL IDE 插件更新

KCL IDE 插件高频增强中,欢迎小伙伴们抢先试用,也欢迎加入到社区中来,一起做好产品,期待反响和声音!

近期,基于新增了大量补全提示,重点针对配置定义这一核心环节,简化用户基于模型编写配置的心智、提升配置编辑的效率。此外,增强了调用内置函数时参数补全。talk is cheap,我们直接来看效果:

图片

轻松引用内置库,函数列表一应补全:

图片

而对于模型设计环节,也新增了对 docstring 的快速生成,减少手敲 boilerplate:

KCL 语言更新

KCL 的编译命令对错误信息的输出优化继续推进,致力于提供清晰易懂的指引,帮助开发者快速定位和修复问题,编写出正确的代码。近期,KCL 优化了 schema 字段类型不匹配的报错信息:

- before 👈🏻

- after 👉🏻

 

此外,还支持了 --recursive 选项允许 kcl 递归编译子目录,支持在 lambda 表达式中添加类型注解,系统库支持了对 JSON/YAML 字符串的验证、序列化和反序列化;修复了带有三方库的 KCL 程序缓存失效的问题;修复了编译入库文件跨 kcl.mod 情况下的路径冲突错误;修复 KCL 函数默认值语义检查错误等。

KCL 导入工具

KCL 的编译命令正在持续地优化错误信息的输出,致力于提供清晰易懂的指引,帮助开发者快速定位和修复问题,编写出正确的代码。

支持从 YAML/JSON/CRD/Terraform Schema 一键生成 KCL 配置/模型,实现自动化迁移,相关指南请参照「一键从 Kubernetes 生态迁移到 KCL」https://kcl-lang.io/docs/user_docs/guides/working-with-k8s/adopt-from-kubernetes

 

|其他资源|

❤️ 感谢所有 KCL 用户和社区小伙伴在社区中提出的宝贵反馈与建议。预计 11 月底我们会正式发布 KCL v0.7 新版本,敬请期待!

更多其他资源请参考:

  • KCL 网站: https://kcl-lang.io/

  • KusionStack 网站: https://kusionstack.io/

     

  • KCL 2023 路线规划: https://kcl-lang.io/docs/community/release-policy/roadmap

  • KCL v0.7.0 Milestone: https://github.com/kcl-lang/kcl/milestone/7

  • KCL Github Issues: https://github.com/kcl-lang/kcl/issues

  • KCL Github Discussion: https://github.com/orgs/kcl-lang/discussions

  • KCL Community: https://github.com/kcl-lang/community


相關推薦

2023-11-24

双周同步开源进展 欢迎加入 KCL 社区进行互动~ KCL 是一个 CNCF 基金会托管的基于约束的记录及函数语言,期望通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕

2024-01-05

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:kcl-lang.io 内容概述​ 感谢所有贡献者过去两周 (2023 12.22 - 2024.01.04)

2023-04-18

次发布为大家带来了三方面的重点更新:语言、工具链、社区集成 & 扩展支持。 使用 IDE 插件提升 KCL 代码编写体验和效率 Helm/Kustomize/KPT 云原生社区工具集成 完善 KCL 多语言 SDK,方便应用程序集成 进一步您可以在&nb

2023-12-02

次发布为大家带来了三方面的重点更新:语言、工具链、社区集成 & 扩展支持。 使用功能更完善错误更少的 KCL 语言、工具链和 IDE 提升代码编写体验和效率 全新的 KCL 命令行工具,集成 KCL 包管理,doc, test 周边工具链生

2023-07-18

次发布为大家带来了三方面的重点更新:语言、工具链、社区集成 & 扩展支持。 使用功能更完善错误更少的 KCL 语言和 IDE 提升代码编写体验和效率 使用 KPM, KCL OpenAPI 和 OCI Registry 等工具直接使用和共享您的云原生领域模

2023-10-14

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:https://kcl-lang.io 内容概述 感谢所有贡献者过去两周 (2023 09.07 - 10.11) 的

2023-08-11

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:https://kcl-lang.io 内容概述 过去两周 (2023 07.26 - 08.09),KCL 所有项目中总

2023-08-24

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:https://kcl-lang.io 内容概述​ 感谢所有贡献者过去两周 (2023 08.10 - 08.23)

2022-07-27

.class 文字。 Kotlin 对 Kotlin 1.7.0 功能的支持 添加了对最新语言版本 Kotlin 1.7.0 中引入的功能的支持。 IDE 现在可以正确呈现绝对不可空的类型,并提供选择加入要求的实用检查。 Kotlin 调试器中对数据流分析的支持 已将 Kot

2023-03-21

库 Kusion Github 仓库 Konfig Github 仓库 欢迎加入我们的社区进行交流 👏👏👏  

2022-09-08

国(悦达) KubeVela 1.5 于近日正式发布。在该版本中为社区带来了更多的开箱即用的应用交付能力,包括新增系统可观测;新增 Cloud Shell 终端,将 Vela CLI 搬到了浏览器;增强的金丝雀发布;优化多环境应用交付工作流等。进

2023-02-28

展性。 本文将会介绍 KCL v0.4.5 版本的更新内容以及 KCL 社区的近期动态。 语言更新 KCL 语言编写便利性改进 支持 Schema 非空属性惰性校验 在之前的 KCL 版本中,我们已经支持了 schema 属性互相引用(包含继承)以及 check 校验

2022-12-09

动化集成和良好的生态延展性。 本文将向读者介绍 KCL 社区的近期动态。 新增特性​ 自定义 YAML 格式输出​ 在过去的 KCL 版本中,YAML 输出的样式是在 KCL 编译器中是硬编码的,用户可以为 schema 的 __settings__ 元属性设

2022-05-24

遵循 The Apache Way[1],在导师们的引导下,坚持以人为本、社区高于代码的理念,持续建设包容、多元、崇尚知识的社区。 Apache DevLake 主要特性 作为开源的研发数据平台,DevLake 向软件研发团队提供自动化、一站式的数据收集、