
全局Swift开发规范【免费下载链接】CopilotForXcodeAI coding assistant for Xcode项目地址: https://gitcode.com/GitHub_Trending/cop/CopilotForXcode命名约定使用PascalCase命名类型、协议、枚举使用camelCase命名变量、函数、方法常量使用全大写蛇形命名法避免使用缩写除非是广泛接受的如URL、JSON代码风格使用4空格缩进不使用制表符最大行宽为120个字符在逗号后添加空格在操作符前后添加空格使用guard语句进行提前返回避免深层嵌套错误处理优先使用Result类型处理可能失败的操作使用do-catch处理可恢复错误对于不可恢复错误使用fatalError或assertionFailure内存管理避免强引用循环使用weak或unowned引用对于闭包捕获列表明确指定捕获语义使用defer语句进行资源清理### 步骤3创建项目特定指令 对于特定项目创建.instructions.md文件可以提供更精确的指导 markdown --- applyTo: **/*.swift description: iOS项目Swift代码规范 --- # 项目专属Swift规范 ## 架构模式 - 使用MVVM架构ViewModel负责业务逻辑 - ViewController只处理视图生命周期和用户交互 - 使用依赖注入管理服务依赖 ## 网络层规范 - 使用Combine进行网络请求处理 - 所有API请求必须包含错误处理 - 实现请求重试机制最多重试3次 - 使用Codable进行JSON序列化/反序列化 ## UI开发规范 - 优先使用SwiftUI必要时使用UIKit - 所有颜色使用Asset Catalog管理 - 字体大小使用动态类型 - 支持深色模式和辅助功能 ## 测试规范 - 单元测试覆盖率不低于80% - 使用XCTest框架编写测试 - 每个ViewModel必须有对应的测试类 - 使用Mock对象隔离外部依赖步骤4创建框架特定指令对于特定框架或库创建专门的指令文件--- applyTo: **/*.swift description: Combine框架使用规范 --- # Combine框架最佳实践 ## 订阅管理 - 使用AnyCancellable存储订阅避免内存泄漏 - 在deinit中自动取消所有订阅 - 使用store(in:)方法集中管理订阅 ## 操作符使用 - 优先使用内置操作符避免自定义实现 - 使用debounce处理用户输入 - 使用retry处理网络错误 - 使用share()共享昂贵的发布者 ## 错误处理 - 使用replaceError将错误转换为默认值 - 使用catch处理可恢复错误 - 使用assertNoFailure在调试时检查错误 ## 性能优化 - 在主线程更新UI使用receive(on:) - 使用buffer减少事件频率 - 避免在发布者链中进行繁重操作图自定义指令能显著提升AI生成的代码质量使其更符合项目规范高级技巧模板变量的创造性使用场景1基于文件类型的动态指令利用{{active_editor_language}}变量你可以创建语言特定的指令--- applyTo: ** description: 根据文件类型应用不同规范 --- {{#if active_editor_language swift}} # Swift文件专用指令 - 使用guard进行可选绑定 - 优先使用值类型 - 遵循Swift API设计指南 {{else if active_editor_language objective-c}} # Objective-C文件专用指令 - 使用点语法访问属性 - 优先使用字面量语法 - 使用现代Objective-C语法 {{else}} # 通用编程规范 - 编写自解释的代码 - 添加必要的注释 - 遵循单一职责原则 {{/if}}场景2代码审查自动化结合{{selected_code}}变量创建代码审查指令--- applyTo: **/*.swift description: 自动代码审查规则 --- # 代码审查检查清单 ## 选中的代码需要检查 {{selected_code}} ## 审查要点 1. **命名检查**变量和方法名是否清晰表达意图 2. **复杂度检查**函数是否过长超过50行 3. **错误处理**是否有适当的错误处理机制 4. **测试覆盖**这段代码是否容易测试 5. **性能考虑**是否有潜在的性能问题 ## 建议改进 - 考虑将长函数拆分为多个小函数 - 添加单元测试覆盖边界条件 - 使用更合适的数据结构场景3团队协作规范创建团队协作指令确保代码一致性--- applyTo: ** description: 团队协作规范 --- # 团队协作编码规范 ## Git提交规范 - 提交信息格式类型(范围): 描述 - 类型包括feat、fix、docs、style、refactor、test、chore - 范围是修改的模块或文件 - 描述使用现在时首字母小写 ## 代码审查流程 1. 所有更改必须经过代码审查 2. 审查者需要在24小时内响应 3. 使用具体的改进建议而不是模糊的批评 4. 对于重大更改需要至少2人批准 ## 文档要求 - 所有公共API必须有文档注释 - 复杂算法需要添加解释性注释 - 更新README.md反映API变更 - 维护CHANGELOG.md记录重要更改图结合自定义指令AI生成的代码能更好地匹配项目架构和编码风格性能优化与最佳实践指令组织策略按层级组织指令全局层基础编码规范和通用最佳实践项目层项目特定的架构和框架规范模块层特定模块或功能的技术栈规范文件层针对特定文件类型的微调指令避免指令冲突⚠️注意指令优先级更具体的applyTo模式优先级更高后加载的指令会覆盖先加载的同名指令使用清晰的命名避免冲突性能考虑优化指令文件大小保持单个指令文件小于10KB避免在指令中包含大量示例代码使用引用链接代替内联长文本定期清理不再使用的指令团队协作建议版本控制集成将.instructions.md文件纳入版本控制使用分支管理指令的演进在PR描述中说明指令变更定期审查和更新团队指令故障排除与调试常见问题解决问题1指令未生效# 检查指令文件位置 ls -la .github/copilot-instructions.md ls -la **/.instructions.md # 检查applyTo模式是否正确 # 使用**/*.swift匹配所有Swift文件 # 使用**/Tests/*.swift匹配测试文件问题2模板变量未替换确认当前文件已保存检查Xcode是否获得焦点验证扩展权限是否完整问题3指令冲突使用grep -r applyTo: .查找所有指令文件检查是否有重复或冲突的指令调整applyTo模式确保精确匹配调试技巧启用详细日志查看指令处理过程// 在CustomCommandTemplateProcessor中添加调试日志 print(Processing template: \(text)) print(Editor language: \(info.language)) print(Selected code length: \(editorContent?.selectedContent.count ?? 0))实际效果评估与优化量化评估指标建立指令效果评估体系代码接受率AI生成代码的直接使用比例修改次数需要手动修改的次数审查时间代码审查所需时间变化错误率引入的bug数量变化持续优化流程实施A/B测试优化指令创建指令变体进行对比测试收集开发者的使用反馈分析代码质量指标变化迭代优化指令内容图保持GitHub Copilot for Xcode为最新版本确保自定义指令功能的最佳性能进阶应用构建智能开发工作流集成CI/CD流水线将自定义指令与CI/CD系统集成# .github/workflows/copilot-instructions.yml name: Validate Copilot Instructions on: push: paths: - **/.instructions.md - .github/copilot-instructions.md jobs: validate-instructions: runs-on: macos-latest steps: - uses: actions/checkoutv3 - name: Validate Markdown syntax run: | find . -name *.instructions.md -o -name copilot-instructions.md | \ xargs -I {} markdownlint {} --config .markdownlint.json - name: Check for conflicting rules run: | python scripts/check_instruction_conflicts.py创建指令模板库建立可重用的指令模板# 指令模板REST API开发 --- applyTo: **/*Service.swift description: RESTful API服务层规范 --- ## 请求处理 - 使用URLSession或Alamofire进行网络请求 - 实现请求重试和超时机制 - 使用Codable进行响应解析 ## 错误处理 - 定义统一的错误类型枚举 - 提供用户友好的错误信息 - 记录详细的调试信息 ## 测试策略 - 使用OHHTTPStubs进行网络模拟 - 测试所有HTTP状态码场景 - 验证请求参数和响应解析【免费下载链接】CopilotForXcodeAI coding assistant for Xcode项目地址: https://gitcode.com/GitHub_Trending/cop/CopilotForXcode创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考