zking2000 / NotePad

1 stars 0 forks source link

github copilot prompts cheatsheet #30

Closed zking2000 closed 3 months ago

zking2000 commented 4 months ago

GitHub Copilot Chat 提供了许多以 @ 开头的指令来提高用户与其交互的便捷性。以下是一些常见的示例:

  1. @show documentation for symbol:

    @show documentation for `fetchData`

    描述: 显示 fetchData 函数的文档。

  2. @explain code:

    @explain code

    描述: 对当前选定的代码段进行解释。

  3. @fix errors:

    @fix errors

    描述: 修复当前文件中的错误。

  4. @generate tests:

    @generate tests

    描述: 为当前代码生成测试用例。

  5. @refactor symbol:

    @refactor `oldFunction`

    描述: 重构 oldFunction 函数。

  6. @complete function symbol:

    @complete function `calculateTotal`

    描述: 完成 calculateTotal 函数的实现。

  7. @add comments:

    @add comments

    描述: 为当前代码添加注释。

  8. @document file:

    @document file

    描述: 为当前文件生成文档注释。

  9. @find references:

    @find references

    描述: 查找当前选定的符号的所有引用。

  10. @debug symbol:

    @debug `myFunction`

    描述: 调试 myFunction 函数。

  11. @add type annotations:

    @add type annotations

    描述: 为当前代码添加类型注释。

  12. @optimize imports:

    @optimize imports

    描述: 优化当前文件的导入语句。

  13. @run tests:

    @run tests

    描述: 运行当前项目的测试。

  14. @update dependencies:

    @update dependencies

    描述: 更新项目的依赖项。

  15. @check performance:

    @check performance

    描述: 检查当前代码的性能。

  16. @suggest improvements:

    @suggest improvements

    描述: 为当前代码提供改进建议。

  17. @translate comments:

    @translate comments

    描述: 翻译代码中的注释。

  18. @generate documentation site:

    @generate documentation site

    描述: 为当前项目生成文档站点。

  19. @add logging:

    @add logging

    描述: 为当前代码添加日志记录。

  20. @check security:

    @check security

    描述: 检查当前代码的安全性。

这些指令能帮助开发者更高效地编写、调试和优化代码,同时也能增强代码的可读性和维护性。

zking2000 commented 4 months ago

以下是一些类似于 @file 的 GitHub Copilot Chat 指令示例:

  1. @file:

    @file

    描述: 针对当前文件的操作或信息查询。

  2. @function:

    @function

    描述: 针对当前选定的函数进行操作或查询。

  3. @variable:

    @variable

    描述: 针对当前选定的变量进行操作或查询。

  4. @class:

    @class

    描述: 针对当前选定的类进行操作或查询。

  5. @method:

    @method

    描述: 针对当前选定的方法进行操作或查询。

  6. @property:

    @property

    描述: 针对当前选定的属性进行操作或查询。

  7. @module:

    @module

    描述: 针对当前选定的模块进行操作或查询。

  8. @constructor:

    @constructor

    描述: 针对当前选定的构造函数进行操作或查询。

  9. @loop:

    @loop

    描述: 针对当前选定的循环进行操作或查询。

  10. @conditional:

    @conditional

    描述: 针对当前选定的条件语句进行操作或查询。

  11. @comment:

    @comment

    描述: 针对当前选定的注释进行操作或查询。

  12. @annotation:

    @annotation

    描述: 针对当前选定的注释进行操作或查询。

  13. @block:

    @block

    描述: 针对当前选定的代码块进行操作或查询。

  14. @line:

    @line

    描述: 针对当前选定的代码行进行操作或查询。

  15. @region:

    @region

    描述: 针对当前选定的代码区域进行操作或查询。

这些指令有助于开发者在不同的代码结构层次上进行精细化操作或信息查询,提高开发效率和代码质量。

zking2000 commented 4 months ago

以下是一些以 / 开头的 GitHub Copilot Chat 指令示例:

  1. /explain:

    /explain

    描述: 对当前选定的代码段进行解释。

  2. /fix:

    /fix

    描述: 修复当前文件中的错误。

  3. /generate tests:

    /generate tests

    描述: 为当前代码生成测试用例。

  4. /refactor:

    /refactor

    描述: 重构当前选定的代码段。

  5. /complete:

    /complete

    描述: 完成当前选定的函数或代码段的实现。

  6. /add comments:

    /add comments

    描述: 为当前代码添加注释。

  7. /document:

    /document

    描述: 为当前文件生成文档注释。

  8. /find references:

    /find references

    描述: 查找当前选定的符号的所有引用。

  9. /debug:

    /debug

    描述: 调试当前选定的代码段。

  10. /add type annotations:

    /add type annotations

    描述: 为当前代码添加类型注释。

  11. /optimize imports:

    /optimize imports

    描述: 优化当前文件的导入语句。

  12. /run tests:

    /run tests

    描述: 运行当前项目的测试。

  13. /update dependencies:

    /update dependencies

    描述: 更新项目的依赖项。

  14. /check performance:

    /check performance

    描述: 检查当前代码的性能。

  15. /suggest improvements:

    /suggest improvements

    描述: 为当前代码提供改进建议。

  16. /translate comments:

    /translate comments

    描述: 翻译代码中的注释。

  17. /generate documentation site:

    /generate documentation site

    描述: 为当前项目生成文档站点。

  18. /add logging:

    /add logging

    描述: 为当前代码添加日志记录。

  19. /check security:

    /check security

    描述: 检查当前代码的安全性。

这些指令有助于开发者更高效地与代码交互,完成各种常见的开发任务和代码优化。

zking2000 commented 4 months ago

在使用 GitHub Copilot Chat 时,除了使用 @/ 开头的指令外,还有一些实用的技巧和最佳实践可以帮助你更高效地利用该工具:

一般技巧

  1. 明确的问题描述:

    // Bad: Fix this.
    // Good: Fix the bug where the function returns the wrong value when input is negative.

    描述: 提供详细的问题描述,以获得更准确的建议和代码生成。

  2. 分步提问:

    // Instead of asking for a complete solution, break it down.
    // Step 1: Generate a function skeleton
    // Step 2: Ask to implement a specific part
  3. 结合现有代码:

    // Provide context with existing code for better suggestions.
    // Good: Given the following function, add error handling.
    // ```
    // function fetchData() {
    //   // Existing code here
    // }
    // ```
  4. 利用注释:

    // Add comments to guide Copilot.
    // Example:
    // Generate a function to calculate the sum of an array.
    // ```
    // // Function to calculate the sum of an array
    // function calculateSum(arr) {
    //   // ...
    // }
    // ```
  5. 命名约定:

    // Use clear and descriptive names for functions and variables.
    // Good: generateReport(data)
    // Bad: func1(d)
  6. 利用已有代码块:

    // Copilot can autocomplete based on patterns in your codebase.
    // Example: If you have similar functions, start typing and let Copilot suggest.

高级技巧

  1. 多语言支持:

    // Use Copilot to help translate code between languages.
    // Example: Convert Python function to JavaScript.
  2. 生成文档:

    // Use Copilot to generate documentation comments.
    // Example:
    // /**
    //  * Calculates the sum of an array.
    //  * @param {number[]} arr - The array of numbers.
    //  * @returns {number} The sum of the numbers.
    //  */
  3. 代码优化建议:

    // Ask Copilot for optimization tips.
    // Example: Optimize this loop for better performance.
  4. 单元测试生成:

    // Request unit tests for functions.
    // Example: Generate unit tests for `calculateSum` function.
  5. 安全性检查:

    // Use Copilot to identify potential security issues.
    // Example: Check this code for SQL injection vulnerabilities.

综合运用示例

// Combining various techniques in a single workflow:
@file

// Step 1: Generate a function skeleton
/**
 * Calculates the sum of an array.
 * @param {number[]} arr - The array of numbers.
 * @returns {number} The sum of the numbers.
 */
function calculateSum(arr) {
  // TODO: Implement this function
}

// Step 2: Ask for detailed implementation
@function calculateSum

// Implement the function to sum an array of numbers
// Step 3: Generate tests for the function
@generate tests for calculateSum

// Step 4: Optimize the function for large datasets
@optimize calculateSum for large datasets

// Step 5: Add type annotations (if using TypeScript)
@add type annotations to calculateSum

// Step 6: Check the function for security vulnerabilities
@check security of calculateSum

通过这些技巧和示例,你可以充分利用 GitHub Copilot Chat 来提高编程效率和代码质量。