VSCode中TS文件gql模板字符串内GraphQL约束指令代码片段失效求助
解决gql模板字符串中GraphQL约束指令代码片段不生效的问题
你的问题核心是代码片段的配置位置不对——你把片段定义在TypeScript的配置文件里,但gql标签包裹的SDL内容会被编辑器识别为GraphQL语言环境,TypeScript的代码片段不会在这里触发生效。
具体解决步骤
- 确保VS Code已安装官方的GraphQL插件,它能正确识别gql模板内的SDL代码。
- 打开VS Code的用户代码片段面板:按下
Ctrl+Shift+P,输入「首选项:配置用户代码片段」,选择graphql.json(如果没有则新建该文件)。 - 将你的约束指令片段配置移到这个文件中,调整为以下内容(修复了原配置缺失的闭合括号,优化了触发前缀):
"GraphQL Constraint Directive": { "prefix": ["con", "constraint", "@constraint"], "body": "@constraint(${1:format}: ${2:email})$0", "description": "快速生成graphql-constraint-directive约束" }
- 保存配置后,回到你的TypeScript文件,在gql的反引号内输入
con,就能在自动补全列表中看到该片段,选中后会生成@constraint(format: email),你可以直接修改参数(比如改成minLength: 9, maxLength: 32)。
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

