GitHub Copilot 配置指南
Jul 05, 2025 · 2151 字
Custom Instructions
Custom Instructions 允许您描述通用的编码准则或规则,以获得与您的编码实践和技术栈相匹配的响应。这些指令会自动包含在每个聊天请求中,无需手动添加。
VS Code 支持多种定义 Custom Instructions 的方式:
.github/copilot-instructions.md
这是最通用的方式,将所有指令合并在一个文件中,存储在工作空间的 .github
目录下。该文件会自动包含在每个聊天请求中,并且在所有支持 Copilot 的编辑器和 IDE 中都得到支持。
适用于定义适用于所有代码生成任务的通用编码实践、首选技术和项目要求。
# 项目通用编码标准
## 命名规范
- 组件名、接口和类型别名使用 PascalCase
- 变量、函数和方法使用 camelCase
- 私有类成员使用下划线前缀 (\_)
- 常量使用 ALL_CAPS
## 错误处理
- 异步操作使用 try/catch 块
- 在 React 组件中实现适当的错误边界
- 始终记录带有上下文信息的错误
.instructions.md
这种方式提供了更精细的控制,允许您创建一个或多个指令文件,并使用 glob 模式自动为所有请求或特定文件包含指令。
---
applyTo: "**/*.ts,**/*.tsx"
---
# TypeScript 和 React 编码标准
应用 [通用编码准则](./general-coding.instructions.md) 到所有代码。
## TypeScript 指南
- 所有新代码使用 TypeScript
- 尽可能遵循函数式编程原则
- 使用接口定义数据结构和类型
- 优先使用不可变数据(const、readonly)
- 使用可选链(?.)和空值合并(??)运算符
## React 指南
- 使用带钩子的函数组件
- 遵循 React hooks 规则(不要条件性地使用 hooks)
- 为带有子元素的组件使用 React.FC 类型
- 保持组件小而专注
- 使用 CSS 模块进行组件样式
Prompt Files
Prompt Files 是可重复使用的提示模板,用于常见任务如生成代码或执行代码审查。您可以在 Markdown 文件中定义提示内容,并且可以选择性地包含任务执行的指导原则。
VS Code 支持两种作用域的 Prompt Files:
- 工作空间 Prompt Files:仅在工作空间内可用,存储在
.github/prompts
文件夹中 - 用户 Prompt Files:跨多个工作空间可用,存储在当前 VS Code 配置文件中
生成 React 表单组件示例
---
mode: "agent"
tools: ["githubRepo", "codebase"]
description: "生成新的 React 表单组件"
---
您的目标是基于模板生成新的 React 表单组件。
如果未提供,请询问表单名称和字段。
表单要求:
- 使用表单设计系统组件
- 使用 `react-hook-form` 进行表单状态管理
- 始终为表单数据定义 TypeScript 类型
- 优先使用 register 的*非受控*组件
- 使用 `defaultValues` 防止不必要的重新渲染
- 使用 `yup` 进行验证
REST API 安全审查示例
---
mode: "edit"
description: "执行 REST API 安全审查"
---
执行 REST API 安全审查:
- 确保所有端点都受到身份验证和授权保护
- 验证所有用户输入并清理数据
- 实施速率限制和节流
- 实施安全事件的日志记录和监控
Custom Instructions vs Prompt Files
Custom Instructions 和 Prompt Files 各有其适用场景:
Custom Instructions 更适合定义:
- 编码风格和命名规范
- 技术栈偏好(如优先使用 TypeScript、React Hooks)
- 项目架构规则
- 错误处理策略
这些指令会在每次聊天请求中自动包含,确保生成的代码始终符合项目标准。
Prompt Files 更适合定义:
- 特定任务的执行模板(如生成组件、代码审查)
- 复杂的多步骤工作流程
- 需要用户输入的交互式任务
- 项目特定的代码生成模式
Prompt Files 是按需调用的,当您需要执行特定任务时才会使用,提供了更大的灵活性和控制力。
两者可以结合使用,Custom Instructions 提供基础规范,Prompt Files 在此基础上执行具体任务。