Skip to main content

Deine ersten benutzerdefinierten Anweisungen

Erstelle und teste deine erste benutzerdefinierte Anweisung mit diesem einfachen Beispiel.

Info zu Anpassungen

Du kannst GitHub Copilot mithilfe von zwei Dateitypen anpassen:

  •         **Benutzerdefinierte Anweisungen** bieten einen fortlaufenden Leitfaden für das Verhalten von GitHub Copilot bei allen Interaktionen.
    
  •         **Promptdateien (Public Preview)** definieren wiederverwendbare Prompts für bestimmte Aufgaben, die du bei Bedarf aufrufen kannst. Promptdateien sind nur in VS Code, Visual Studio und JetBrains-IDEs verfügbar. Ein Beispiel zur Einführung findest du unter [AUTOTITLE](/copilot/tutorials/customization-library/prompt-files/your-first-prompt-file).
    

Benutzerdefinierte Anweisungen helfen zwar beim Hinzufügen von Kontext zu den einzelnen KI-Workflows, mit Promptdateien kannst du jedoch Anweisungen zu einer bestimmten Chatinteraktion hinzufügen.

Benutzerdefinierte Repositoryanweisungen werden am häufigsten verwendet und unterstützt. Du kannst jedoch auch persönliche und organisationsspezifische Anweisungen definieren, nur für GitHub Copilot Chat auf GitHub. Du kannst benutzerdefinierte Anweisungen für da Repository auf zwei Arten erstellen:

  •         **Repositoryweite Anweisungen**: Erstelle eine einzelne `copilot-instructions.md`-Datei im Repositorystamm, die für alle Dateien im Repository gilt.
    
  •         **Pfadspezifische Anweisungen**: Erstelle mindestens eine `.instructions.md`-Datei mit einem `applyTo`-Feld, das ausschließlich für bestimmte Dateien oder Verzeichnisse gilt. Pfadspezifische Anweisungen werden derzeit für **Copilot-Chat** in Visual Studio Code, Visual Studio und **GitHub Copilot Code-Agent** unterstützt.
    

Deine ersten Anweisungen

Beginne mit diesen grundlegenden benutzerdefinierten Anweisungen, die GitHub Copilot dabei unterstützen, deine Programmierpräferenzen zu verstehen.

Anweisungen zum Schreiben von Funktionen

Markdown
When writing functions, always:
- Add descriptive JSDoc comments
- Include input validation
- Use early returns for error conditions
- Add meaningful variable names
- Include at least one example usage in comments

Diese Anweisungen ändern, wie GitHub Copilot Funktionen generiert.

Probieren Sie es aus

Um schnell den Unterschied zu testen, den benutzerdefinierte Anweisungen bewirken können, können Sie persönliche benutzerdefinierte Anweisungen in Copilot-Chat verwenden.

  1. Wechseln Sie zunächst zu github.com/copilot und geben Sie diese Eingabeaufforderung ein:

    Create a JavaScript function that calculates the area of a circle

           **Ohne benutzerdefinierte Anweisungen** kommt möglicherweise Folgendes dabei heraus:
    
    function areaOfCircle(radius) {
        if (typeof radius !== 'number' || radius < 0) {
            throw new Error('Radius must be a non-negative number');
        }
        return Math.PI * radius * radius;
    }
    
  2. Klicken Sie nun auf Ihre persönlichen benutzerdefinierten Anweisungen, indem Sie unten links auf der Seite auf Ihr Profilbild klicken und dann auf Persönliche Anweisungen klicken. Füge die obigen Anweisungen in das Textfeld ein, und klicke dann auf Save.

    Gib nun den gleichen Prompt ein, den du zuvor eingegeben hast.

           **Mit benutzerdefinierten Anweisungen** erhältst du etwa Folgendes:
    
    /**
     * Calculates the area of a circle given its radius.
     *
     * @param {number} radius - The radius of the circle. Must be a positive number.
     * @returns {number|null} The area of the circle, or null if the input is invalid.
     *
     * @example
     * // returns 78.53981633974483
     * areaOfCircle(5);
     *
     * @example
     * // returns null (invalid input)
     * areaOfCircle(-2);
     */
    function areaOfCircle(radius) {
      if (typeof radius !== "number" || isNaN(radius) || radius <= 0) {
        // Invalid input: radius must be a positive number
        return null;
      }
    
      const area = Math.PI * Math.pow(radius, 2);
      return area;
    }
    
    // Example usage:
    console.log(areaOfCircle(5));   // 78.53981633974483
    console.log(areaOfCircle(-2));  // null