语言功能

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


IDE 扩展

目前我们仅在 vscode 中发布了扩展,你可以在扩展市场中搜索 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上编辑此页面