语言功能

Qingkuai 并不在编译器中内建复杂的语法扩展,而是通过基于LSP(语言服务协议)的语言服务器,提供了丰富的语言功能支持。这些功能包括类型推导、智能补全、错误提示、快速跳转、语义高亮等,覆盖组件属性、插槽、样式作用域、指令系统、引用传递等框架特性。借助 LSP,Qingkuai 在保持语法简洁的同时,显著提升了开发体验与类型安全。


IDE 扩展

目前我们仅在 VS Code 中发布了扩展,你可以在扩展市场中搜索 QingKuai 来安装它。

当你在 IDE 中遇到 bug 时,应该在 Qingkuai 的 language-features 仓库中提交 issue。

Emmet

Qingkuai 语言服务器提供了良好的 Emmet 支持,但由于动态属性和 Emmet 去除属性的语法存在冲突,所以在组件文件中改用 - 字符来去除属性。下面的示例代码用于在组件文件中通过 Emmet 语法创建一个不带 type 属性的 input 标签:

txt
input[-type]

而原有的语法:

txt
input[!type]

会创建一个动态属性:

qk
<input !type={}>

格式化

Qingkuai 语言服务器内置了格式化文档功能,该功能由 prettier-plugin-qingkuai 实现。当组件文件中存在语法错误时格式化可能会失败,这种情况下你可以在 IDE 的 output 窗口查看失败信息:


代码跳转

代码跳转是开发时经常需要用到的功能,这项功能在组件文件中有一些特有用法:


在github上编辑此页面