必须装 GraphQL for VSCode(Prisma 作者),重启 VSCode 才生效;graphql.config.yml 中 schema 路径需相对于其所在目录,Windows 用正斜杠;.graphql 文件须手动设语言模式为 GraphQL;gql 模板须单独成行且命名合法;状态栏显示“GraphQL: connected”才表示 schema 加载成功。

装哪个插件才能真补全字段
必须装 GraphQL for VSCode(作者 Prisma),不是“GraphQL Language Service”或旧版 Apollo 插件。后者已归档,不支持 schema 加载,装了也只会显示 Unable to load schema from 错误。装完后必须重启 VSCode —— 重载窗口(Developer: Reload Window)无效。
graphql.config.yml 路径写错就等于没配
插件靠这个文件定位 schema,但路径解析规则反直觉:
-
schema: ./schema.graphql中的./会被 YAML 忽略,应直接写schema: schema.graphql - 路径是相对于
graphql.config.yml所在目录,不是 VSCode 工作区根目录 - Windows 用户禁用反斜杠:
schema\schema.graphql是非法的,得写schema/schema.graphql - 多文件 schema 必须用数组:
schema: ["schema/types.graphql", "schema/queries.graphql"]
.graphql 文件不手动设语言模式,补全永远静默失效
VSCode 不会自动把 .graphql 或 .gql 后缀识别为 GraphQL 语言,即使插件和配置都对。后果是:字段不补全、Ctrl+Click 跳转失败,但语法错误仍可能标红——容易误以为“已经好了”。解决方式只有两种之一:
- 打开任意
.graphql文件 → 点右下角语言标识(如“Plain Text”)→ 选“GraphQL” - 或在
settings.json中加:"files.associations": {"*.graphql": "graphql", "*.gql": "graphql"}
gql 模板字面量格式不对,插件直接放弃解析
补全依赖 AST 解析,而插件只对标准结构敏感。以下任一情况都会导致字段提示消失:
-
gql模板不能拼接:const q = gql`` + ''或嵌套在对象属性里(如{ query: gql`...` })都不行 - 必须单独成行,前后无空格、换行或注释干扰
- query 名称要合法:以字母开头,不能含空格或
/.等符号(query GetUser✅,query Get User❌) - 用了
fragment却没放在同一文件、也没在extensions.graphql.include中声明路径,插件看不到类型定义,关联字段就不补全
最容易被忽略的是状态栏——没看到 GraphQL: connected 就别调字段补全,那说明 schema 根本没加载成功。查 Output 面板里 GraphQL 日志,比猜强十倍。


















