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 在此基础上执行具体任务。

粤公网安备44030002006951号 粤ICP备2025414119号

© 2025 Saurlax · Powered by Astro