人人都会AI编程

3.1 CUE 行内智能补全

更新时间:2026-06-29

行内智能补全是在编辑 CUE 代码时,编辑器根据当前上下文实时推荐字段、值、类型和关键字的功能。它能够显著加快配置编写速度,同时减少拼写错误和类型不匹配的问题。

主要补全能力

  • 字段名补全 – 在 "." 或索引后,自动列出结构体中已定义的字段或约束名,例如 alice.name 会将 nameage 等候选字段展示出来。
  • 值补全 – 在赋值位置,根据约束条件推荐默认值、枚举值或常用的字面量。例如对 port: >=1 & <=65535 的字段,补全列表会提示符合范围的整数。
  • 类型补全 – 在类型标注处(如 : 之后),智能推荐内置基本类型(stringintboolfloatbytesnullliststruct)以及当前作用域中的定义名和约束。
  • 包与函数补全 – 输入导入路径或使用标准库(如 math.strings.list.)时,会列出所有可用的函数和常量。

触发方式

大多数支持 CUE 语言服务器(如 cue-lsp)的编辑器会在你输入时自动弹出补全列表,也可以手动使用 Ctrl+Space(或自定义快捷键)随时唤醒。当存在多个候选项时,还可通过方向键切换选择后按 TabEnter 确认。

典型示例

假设有如下定义:

#Server: {
    host: string
    port: int & >=1024
}
myServer: #Server & {
    // 在此处输入 “.” 即会提示 host、port
    // 为 port 赋值时仅推荐 ≥1024 的整数
}
  • 当你键入 myServer. 时,行内补全会立即显示 hostport 两个字段。
  • 选择 port 并输入 : 后,补全引擎会把不符合 >=1024 的整数过滤掉,只保留有效的选项(如 1024、8080 等),使补全建议既真实又符合约束。

实用提示

  • 确保已安装 CUE 语言服务器(如通过 cue get cue.dev/x/tools/cmd/cue-lsp 这类方式获取),并在编辑器插件中正确启用。
  • 如需调整补全行为(例如过滤敏感词或修改触发延迟),可在编辑器设置中按需配置。

利用行内智能补全,你可以始终获得与当前模式、约束严格一致的建议,从而保持配置的准确性。