Copilot anpassen

Softwareentwicklung mit GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Softwareentwicklung mit GitHub Copilot

Softwareentwicklung mit GitHub Copilot

Softwareentwicklung mit GitHub Copilot

Softwareentwicklung mit GitHub Copilot

Wie benutzerdefinierte Anweisungen funktionieren

$$

Definiere:

  • Code-Konventionen
  • Tool-Präferenzen
  • Projektkontext

Softwareentwicklung mit GitHub Copilot

Wie benutzerdefinierte Anweisungen funktionieren

$$

Definiere:

  • Code-Konventionen
  • Tool-Präferenzen
  • Projektkontext

Softwareentwicklung mit GitHub Copilot

Wie man benutzerdefinierte Anweisungen definiert

Füge sie hinzu in: .github/copilot-instructions.md

## Projektkontext
Python-Projekt zur Verarbeitung von Datenpipelines mit Airflow.

## Codestil - Verwende Typ-Hinweise für alle Funktionen
- Folge PEP8
- Verwende snake_case-Namen
- Schreibe Google-Style-Dokstrings
## Tests - Verwende pytest
- Füge einen Test pro Funktion hinzu
## Weitere Anweisungen...
Softwareentwicklung mit GitHub Copilot

Was macht eine effektive Anweisung aus

$$

✅ Effektive Anweisungen:

  • Kurz und präzise
  • In sich geschlossen
  • Kontext oder relevante Infos hinzufügen

$$

❌ Ineffektive Anweisungen:

  • Externe Dokumente oder Repositories
  • Spezifischer Ton oder Schreibstil
  • Begrenzung auf Details oder Formatierung
1 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
Softwareentwicklung mit GitHub Copilot

$$

$$

## Stilrichtlinien

- Halte dich an die Codestile in styleguide.md im Repo my-org/my-repo
- Antworte im Stil eines freundlichen Kollegen, informell

- Antworte in weniger als 1.000 Zeichen

Softwareentwicklung mit GitHub Copilot

$$

$$

## Stilrichtlinien

- Halte dich an die Codestile in styleguide.md im Repo my-org/my-repo
- Antworte im Stil eines freundlichen Kollegen, informell

- Antworte in weniger als 1.000 Zeichen

Softwareentwicklung mit GitHub Copilot

Wie man benutzerdefinierte Anweisungen aktiviert

  • Speichere die Datei copilot-instructions.md
  • Sie wird automatisch in deine Eingaben aufgenommen

Softwareentwicklung mit GitHub Copilot

Wie man benutzerdefinierte Anweisungen aktiviert

  • Speichere die Datei copilot-instructions.md
  • Sie wird automatisch in deine Eingaben aufgenommen

Softwareentwicklung mit GitHub Copilot

Verwendung mehrerer Anweisungsdateien

Softwareentwicklung mit GitHub Copilot

Verwendung mehrerer Anweisungsdateien

Softwareentwicklung mit GitHub Copilot

Verwendung mehrerer Anweisungsdateien

$$

Softwareentwicklung mit GitHub Copilot

Anweisungen auf Organisationsebene festlegen

$$

Softwareentwicklung mit GitHub Copilot

Anweisungen auf Organisationsebene festlegen

$$

Beispiele für unternehmensweite Regeln:

  • Interne Tools verwenden
  • Bestimmte Bibliotheken erzwingen
  • Einheitlichen Stil anwenden
  • Vor veralteten Mustern warnen
Softwareentwicklung mit GitHub Copilot

Priorität von Anweisungen auf mehreren Ebenen

$$

$$

$$

Umfang Priorität
Persönliche Anweisungen Höchste
Projektanweisungen Mittel
Organisationsanweisungen Niedrig
Softwareentwicklung mit GitHub Copilot

$$

Beispielaufforderung: "Schreibe eine Funktion, die den Durchschnitt einer Liste von Zahlen berechnet."

def calculate_average(numbers: List[float]) -> float:
    """Berechne den Durchschnitt einer Liste von Zahlen.

    Args:
        numbers (List[float]): Eine Liste von Zahlen zum Berechnen des Durchschnitts.

    Returns:
        float: Der Durchschnittswert der Zahlen.

    Raises:
        ValueError: Wenn die Liste leer ist.
    """
    if not numbers:
        raise ValueError("Die Liste der Zahlen darf nicht leer sein.")
    return sum(numbers) / len(numbers)
Softwareentwicklung mit GitHub Copilot

$$

Beispielaufforderung: "Schreibe eine Funktion, die den Durchschnitt einer Liste von Zahlen berechnet."

def calculate_average(numbers: List[float]) -> float:
    """Berechne den Durchschnitt einer Liste von Zahlen.

    Args:
        numbers (List[float]): Eine Liste von Zahlen zum Berechnen des Durchschnitts.

    Returns:
        float: Der Durchschnittswert der Zahlen.

    Raises:
        ValueError: Wenn die Liste leer ist.
    """
    if not numbers:
        raise ValueError("Die Zahlenliste darf nicht leer sein.")
    return sum(numbers) / len(numbers)

$$

Softwareentwicklung mit GitHub Copilot

Lass uns üben!

Softwareentwicklung mit GitHub Copilot

Preparing Video For Download...