行内智能补全是在编辑 CUE 代码时,编辑器根据当前上下文实时推荐字段、值、类型和关键字的功能。它能够显著加快配置编写速度,同时减少拼写错误和类型不匹配的问题。
主要补全能力
- 字段名补全 – 在
"."或索引后,自动列出结构体中已定义的字段或约束名,例如alice.name会将name、age等候选字段展示出来。 - 值补全 – 在赋值位置,根据约束条件推荐默认值、枚举值或常用的字面量。例如对
port: >=1 & <=65535的字段,补全列表会提示符合范围的整数。 - 类型补全 – 在类型标注处(如
:之后),智能推荐内置基本类型(string、int、bool、float、bytes、null、list、struct)以及当前作用域中的定义名和约束。 - 包与函数补全 – 输入导入路径或使用标准库(如
math.、strings.、list.)时,会列出所有可用的函数和常量。
触发方式
大多数支持 CUE 语言服务器(如 cue-lsp)的编辑器会在你输入时自动弹出补全列表,也可以手动使用 Ctrl+Space(或自定义快捷键)随时唤醒。当存在多个候选项时,还可通过方向键切换选择后按 Tab 或 Enter 确认。
典型示例
假设有如下定义:
#Server: {
host: string
port: int & >=1024
}
myServer: #Server & {
// 在此处输入 “.” 即会提示 host、port
// 为 port 赋值时仅推荐 ≥1024 的整数
}
- 当你键入
myServer.时,行内补全会立即显示host、port两个字段。 - 选择
port并输入:后,补全引擎会把不符合>=1024的整数过滤掉,只保留有效的选项(如 1024、8080 等),使补全建议既真实又符合约束。
实用提示
- 确保已安装 CUE 语言服务器(如通过
cue get cue.dev/x/tools/cmd/cue-lsp这类方式获取),并在编辑器插件中正确启用。 - 如需调整补全行为(例如过滤敏感词或修改触发延迟),可在编辑器设置中按需配置。
利用行内智能补全,你可以始终获得与当前模式、约束严格一致的建议,从而保持配置的准确性。