Skip to main content

Konfigurieren von Inhaltsausschlüssen für GitHub Copilot

Sie können verhindern, dass angegebene Dateien verwendet werden, um Codeabschlussvorschläge zu informieren, die von GitHub Copilot vorgenommen wurden. GitHub Copilot sind in ausgeschlossenen Dateien nicht verfügbar.

Wer kann dieses Feature verwenden?

Repository administrators and organization owners can manage the content exclusion settings for GitHub Copilot.

People with the "Maintain" role for a repository can view the content exclusion settings for that repository, but can't change these settings. For more information, see "Repositoryrollen für eine Organisation."

This feature is available for organization accounts with a Copilot Business subscription.

Hinweis:

  • Inhalte von GitHub Copilot auszuschließen liegt derzeit als öffentliche Betaversion vor und kann noch geändert werden.
  • Dieses Feature wird in Visual Studio, Visual Studio Code, JetBrains-IDEs und Neovim unterstützt. Ausführliche Informationen zu unterstützten JetBrains-IDEs finden Sie unter „Erste Schritte mit GitHub Copilot“.

Informationen zum Konfigurieren von Inhaltsausschlüssen

Möglicherweise möchten Sie verhindern, dass bestimmte Dateien für GitHub Copilot verfügbar sind. Sie können GitHub Copilot konfigurieren, damit diese Dateien ignoriert werden. Dazu geben Sie Pfade für ausgeschlossene Inhalte in den Einstellungen für Ihr Repository oder Ihre Organisation an.

Wenn Sie Inhaltsausschlüsse angeben, hat das zwei Auswirkungen:

  • Der Inhalt der betroffenen Dateien wird nicht von GitHub Copilot verwendet, um die Codeabschlussvorschläge zu informieren, die er in anderen Dateien vorgibt.
  • GitHub Copilot Codevervollständigung ist in ausgeschlossenen Dateien nicht verfügbar.

Nachdem dem Hinzufügen oder Ändern von Inhaltsausschlüssen kann es bis zu 30 Minuten dauern, bis sie in IDEs wirksam wird, in denen die Einstellungen bereits geladen wurden. Sie können Änderungen auf Ihre eigene IDE anwenden, indem Sie das erneute Laden der Einstellungen für Inhaltsausschlüsse erzwingen. Weitere Informationen findest du unter „Weitergabe von Inhaltsausschlussänderungen an deine IDE“.

Begrenzungen

  • Das Ausschließen von Inhalten aus GitHub Copilot wirkt sich derzeit nur auf den Codeabschluss aus. GitHub Copilot Chat ist von diesen Einstellungen nicht betroffen.
  • Der Inhaltsausschluss verhindert, dass Copilot direkt auf den Inhalt der ausgeschlossenen Dateien zugreift. Copilot kann Informationen zu nicht ausgeschlossenen Dateien aus semantischen Informationen der IDE entnehmen, z. B. Typinformationen oder beim Daraufzeigen erscheinende Definitionen für Symbole, die im Code verwendet werden. Es ist möglich, dass die IDE diese Informationen von ausgeschlossenen Dateien ableiten kann.

Was können Sie ausschließen?

Wenn Sie den Inhaltsausschluss in den Einstellungen für ein Repository angeben, können Sie Dateien nur in diesem Repository ausschließen.

Wenn Sie den Inhaltsausschluss in den Einstellungen für eine Organisation angeben, können Sie Dateien in einem Git-basierten Repository ausschließen, das auf GitHub.com oder an einer anderen Stelle gehostet ist, auf die Sie mit einer der folgenden Syntaxvarianten zugreifen können:

http[s]://host.xz[:port]/path/to/repo.git/

git://host.xz[:port]/path/to/repo.git/

[user@]host.xz:path/to/repo.git/

ssh://[user@]host.xz[:port]/path/to/repo.git/

Hinweis: Bitte beachten Sie, dass Inhalte durch die Einstellungen einer GitHub-Organisation mit einer Copilot Business-Subscription ausgeschlossen werden können. Ausgeschlossene Dateien befinden sich möglicherweise in einem Repository, das nicht der Organisation gehört, in der der Ausschluss definiert wurde. Die ausgeschlossenen Dateien können sich auch in einem Git-basierten Repository befinden, das nicht auf GitHub gehostet ist.

Wer ist von einer Einstellung für den Inhaltsausschluss betroffen?

GitHub Copilot-Einstellungen für Inhaltsausschlüsse gelten nicht für alle, die Copilot nutzen.

Eine Einstellung für Inhaltsausschlüsse gilt nur für Personen, denen ein Arbeitsplatz als Teil einer GitHub Copilot Business- oder GitHub Copilot Enterprise-Subscription gewährt wurde und die Mitglieder derselben Organisation sind, wo der Inhaltsausschluss konfiguriert ist. Andere Benutzer, die auf die angegebenen Dateien zugreifen können, sind vom Inhaltsausschluss nicht betroffen und sehen weiterhin Codeabschlussvorschläge.

Alle Ausschlüsse, unabhängig davon, ob sie in Repositoryeinstellungen oder in Organisationseinstellungen definiert sind, gelten für alle Mitglieder der Organisation, denen ein Copilot-Arbeitsplatz im Rahmen eines Copilot Business-Abonnements zugewiesen wurde.

An GitHub gesendete Daten

Wenn Sie den Inhaltsausschluss konfiguriert haben, sendet der Client (z. B. die Copilot-Erweiterung für VS Code) die aktuelle Repository-URL an den GitHub-Server, damit der Server die richtige Richtlinie an den Client zurücksenden kann. URLs, die auf diese Weise an den Server gesendet werden, werden nirgendwo protokolliert.

Konfigurieren von Inhaltsausschlüssen für Ihr Repository

Sie können Ihre Repositoryeinstellungen verwenden, um Inhalte in Ihrem Repository anzugeben, die von GitHub Copilot ignoriert werden sollen.

  1. Klicke auf der Seitenleiste im Abschnitt „Code und Automatisierung“ auf Copilot.

    Wenn Ihr Repository Ausschlüsse von ihrer übergeordneten Organisation erbt, wird ein graues Feld oben auf der Seite mit Details zu diesen Ausschlüssen angezeigt. Sie können diese Einstellungen nicht bearbeiten.

  2. Geben Sie im Feld unter „Pfade, die in diesem Repository ausgeschlossen werden sollen“ die Pfade zu Dateien ein, aus denen Copilot ausgeschlossen werden sollen.

    Screenshot des Textfelds „Auszuschließende Pfade“ in den Repositoryeinstellungen für Copilot.

    Verwenden Sie das Format: - "/PATH/TO/DIRECTORY/OR/FILE", mit jedem Pfad in einer separaten Zeile. Sie können Kommentare hinzufügen, indem Sie eine Zeile mit # beginnen.

    Sie können die fnmatch-Mustervergleichsnotation verwenden, um Dateipfade anzugeben. Weitere Informationen finden Sie in der ruby-doc.org Dokumentation unter „Datei“.

    Hinweis: Bei Mustern wird die Groß-/Kleinschreibung nicht beachtet.

Beispiel für Pfade, die in den Repositoryeinstellungen angegeben sind

YAML
- "/src/some-dir/kernel.rs"

Ignore the /src/some-dir/kernel.rs file in this repository.

- "secrets.json"

Ignore files called secrets.json anywhere in this repository.

- "secret*"

Ignore all files whose names begin secret anywhere in this repository.

- "*.cfg"

Ignore files whose names end .cfg anywhere in this repository.

- "/scripts/**"

Ignore all files in or below the /scripts directory of this repository.

# Ignore the `/src/some-dir/kernel.rs` file in this repository.
- "/src/some-dir/kernel.rs"

# Ignore files called `secrets.json` anywhere in this repository.
- "secrets.json"

# Ignore all files whose names begin `secret` anywhere in this repository.
- "secret*"

# Ignore files whose names end `.cfg` anywhere in this repository.
- "*.cfg"

# Ignore all files in or below the `/scripts` directory of this repository.
- "/scripts/**"

Konfigurieren von Inhaltsausschlüssen für Ihre Organisation

Sie können Ihre Organisationseinstellungen verwenden, um Inhalte in jedem Repository anzugeben, die von GitHub Copilot ignoriert werden sollen.

  1. Wähle in der oberen rechten Ecke von GitHub.com dein Profilfoto aus. Klicke dann auf Deine Organisationen.

    Screenshot des Dropdownmenüs unter dem Profilbild von @octocat. „Deine Organisationen“ ist in dunklem Orange eingerahmt.

  2. Klicke neben der Organisation auf Einstellungen.

  3. Klicken Sie in der linken Randleiste auf Copilot und klicken Sie dann auf Inhaltsausschluss.

  4. Geben Sie im Feld unter „Repositorys und Pfade, die ausgeschlossen werden sollen“ die Details ein, aus denen Copilot ausgeschlossen werden sollen.

    Geben Sie für jedes Repository, in dem Dateien aus Copilot ausgeschlossen werden sollen, einen Verweis auf das Repository in einer Zeile ein, gefolgt von Pfaden zu Speicherorten innerhalb des Repositorys, wobei sich jeder Pfad in einer separaten Zeile befindet. Verwenden Sie das folgende Format:

    REPOSITORY-REFERENCE:
      - "/PATH/TO/DIRECTORY/OR/FILE"
      - "/PATH/TO/DIRECTORY/OR/FILE"
      - ...
    

    Folgende -Syntax wird für REPOSITORY-REFERENCE unterstützt:

    http[s]://host.xz[:port]/path/to/repo.git/
    
    git://host.xz[:port]/path/to/repo.git/
    
    [user@]host.xz:path/to/repo.git/
    
    ssh://[user@]host.xz[:port]/path/to/repo.git/
    

    Hinweise:

    • Die Teile user@ und :port der REPOSITORY-REFERENCE werden bei der Berechnung ignoriert, welche Pfade für ein Repository ignoriert werden sollen.
    • Jeder Repository-Verweis kann eine einzelne Verwendung von Platzhaltern * enthalten. Entspricht beispielsweise https://github.com/octo-org/* allen Repositorys in der octo-org Organisation.

    Sie können die fnmatch-Mustervergleichsnotation verwenden, um Dateipfade anzugeben. Weitere Informationen finden Sie in der ruby-doc.org Dokumentation unter „Datei“.

    Hinweis: Bei Mustern wird die Groß-/Kleinschreibung nicht beachtet.

Beispiel für Repositorys und Pfade in Organisationseinstellungen

YAML
"*":
  - "**/.env"

Ignore all .env files at any path, in any repository. This setting applies to all repositories, not just to those on GitHub.com. This could also have been written on a single line as:

"*": ["**/.env"]

octo-repo:

In the octo-repo repository in this organization:

  - "/src/some-dir/kernel.rs"

Ignore the /src/some-dir/kernel.rs file.

https://github.com/primer/react.git:

In the primer/react repository on GitHub:

  - "secrets.json"

Ignore files called secrets.json anywhere in this repository.

  - "/src/**/temp.rb"

Ignore files called temp.rb in or below the /src directory.

git@github.com:*/copilot:

In the copilot repository of any GitHub organization:

  - "/__tests__/**"

Ignore any files in or below the /__tests__ directory.

  - "/scripts/*"

Ignore any files in the /scripts directory.

git@gitlab.com:gitlab-org/gitlab-runner.git:

In the gitlab-org/gitlab-runner repository on GitLab:

  - "/main_test.go"

Ignore the /main_test.go file.

  - "{server,session}*"

Ignore any files with names beginning server or session, anywhere in this repository.

  - "*.m[dk]"

Ignore any files with names ending .md or .mk, anywhere in this repository.

  - "**/package?/*"

Ignore files directly within directories such as packages or packaged, anywhere in this repository.

  - "**/security/**"

Ignore files in or below any security directories, anywhere in this repository.

# Ignore all `.env` files at any path, in any repository.
# This setting applies to all repositories, not just to those on GitHub.com.
# This could also have been written on a single line as:
#
# "*": ["**/.env"]
"*":
  - "**/.env"

# In the `octo-repo` repository in this organization:
octo-repo:
  # Ignore the `/src/some-dir/kernel.rs` file.
  - "/src/some-dir/kernel.rs"

# In the `primer/react` repository on GitHub:
https://github.com/primer/react.git:
  # Ignore files called `secrets.json` anywhere in this repository.
  - "secrets.json"
  # Ignore files called `temp.rb` in or below the `/src` directory.
  - "/src/**/temp.rb"

# In the `copilot` repository of any GitHub organization:
git@github.com:*/copilot:
  # Ignore any files in or below the `/__tests__` directory.
  - "/__tests__/**"
  # Ignore any files in the `/scripts` directory.
  - "/scripts/*"

# In the `gitlab-org/gitlab-runner` repository on GitLab:
git@gitlab.com:gitlab-org/gitlab-runner.git:
  # Ignore the `/main_test.go` file.
  - "/main_test.go"
  # Ignore any files with names beginning `server` or `session`, anywhere in this repository.
  - "{server,session}*"
  # Ignore any files with names ending `.md` or `.mk`, anywhere in this repository.
  - "*.m[dk]"
  # Ignore files directly within directories such as `packages` or `packaged`, anywhere in this repository.
  - "**/package?/*"
  # Ignore files in or below any `security` directories, anywhere in this repository.
  - "**/security/**"

Überprüfen von Änderungen an den Inhaltsausschlusseinstellungen

Wenn Sie ein Organisationsbesitzer sind, können Sie alle Änderungen überprüfen, die an Inhaltsausschlüssen vorgenommen wurden.

  1. Öffnen Sie die Seite „Inhaltsausschluss“ in den Einstellungen für Ihre Organisation (beschrieben hier) oder die Einstellungen für ein Repository (hier beschrieben).

  2. Scrollen Sie zum Ende der Seite.

    Sie sehen den Namen der Person, die die Einstellungen zuletzt geändert hat, sowie Informationen dazu, wann sie diese Änderung vorgenommen hat.

  3. Klicken Sie auf die Uhrzeit der letzten Änderung.

    Screenshot der zuletzt bearbeiteten Informationen. Der Link der Änderungszeit ist dunkelorange umrandet.

    Hinweis: Der Zeitpunkt der letzten Änderung ist nur ein Link, wenn Sie ein Organisationsbesitzer sind.

    Die Seite „Überwachungsprotokoll“ für die Organisation wird dargestellt und zeigt die zuletzt protokollierten Vorkommen der copilot.content_exclusion_changed-Aktion an.

    Wenn Sie von einer Repositoryeinstellungsseite aus durchklicken, wird das Überwachungsprotokoll gefiltert, um nur Änderungen an Inhaltsausschlüssen für dieses Repository anzuzeigen.

  4. Klicken Sie auf die Auslassungspunkte (...) am Ende jedes Eintrags, um weitere Details anzuzeigen.

    Wenn der Eintrag „excluded_paths“ abgeschnitten ist, zeigen Sie mit der Maus auf den abgeschnittenen Wert, um den vollständigen Eintrag anzuzeigen. Dadurch wird der Inhalt der Ausschlusseinstellungen angezeigt, nachdem die Änderung gespeichert wurde.

    Screenshot der Überwachungsprotokolldetails für die Aktion „copilot.content_exclusion_changed“. Die Schaltfläche Auslassungspunkte ist hervorgehoben.

Überprüfen der Auswirkung einer Einstellungsänderung

Wenn Sie Inhaltsausschlüsse von Copilot ändern, können Sie überprüfen, ob die Einstellung Copilot vom Vorschlagen von Code in den angegebenen Dateien blockiert.

Um zu bestätigen, dass Copilot für diese Datei deaktiviert ist, können Sie eine Datei im Editor öffnen und beginnen, eine Codezeile einzugeben, wie einen Kommentar. Normalerweise wird während der Eingabe ein Codeabschlussvorschlag von Copilot angezeigt. Wenn Copilot durch einen Inhaltsausschluss deaktiviert ist, werden keine Code Complete-Vorschläge unterbreitet, und der Inhalt der Datei wird nicht zum Generieren von Vorschlägen in anderen Dateien verwendet.

Überprüfen von Einstellungsänderungen in Ihrer IDE

Wenn Sie in Visual Studio, VS Code oder einer unterstützten JetBrains-IDE arbeiten, zeigt das Copilot-Symbol an, wann Copilot durch einen Inhaltsausschluss deaktiviert wurde.

  1. Öffnen Sie eine Datei, die Ihrer Meinung nach von Inhaltsausschlüssen betroffen ist.

    Wenn ein Copilot-Inhaltsausschluss für diese Datei gilt, weist das Symbol Copilot in der Statusleiste eine diagonale Linie darauf auf.

  2. Zeigen Sie mit der Maus auf dieses Symbol. Eine Popupmeldung teilt Ihnen mit, ob eine Organisation oder das übergeordnete Repository Copilot für diese Datei deaktiviert hat.

    Screenshot des Popups für deaktiviertes Copilot in der VS Code-Symbolleiste.

Hinweis: In Visual Studio und VS Code können Sie das Protokoll für die Copilot-Erweiterung anzeigen, um Details von Inhaltsausschlüssen zu sehen, ohne mit dem Mauszeiger auf das Copilot-Symbol zeigen zu müssen. Weitere Informationen findest du unter Anzeigen von Protokollen für GitHub Copilot in deiner Umgebung.

Verteilen von Inhaltsausschlussänderungen an Ihre IDE

Wenn Sie in Neovim arbeiten, werden Inhaltsausschlüsse jedes Mal, wenn Sie eine Datei öffnen, aus GitHub abgerufen. Wenn du jedoch in Visual Studio, VS Code oder einer unterstützten JetBrains-IDE arbeitest, musst du eventuell bis zu 30 Minuten warten, bis die Auswirkung einer Einstellungsänderung zu sehen sind. Alternativ können Sie die Einstellungen für Inhaltsausschlüsse manuell in Ihre IDE laden.

Zum Laden von Inhaltsausschlüssen in Visual Studio schließen Sie die Anwendung, und öffnen Sie sie erneut.

Zum Laden von Inhaltsausschlüssen in VS Code:

  1. Öffne die Befehlspalette. Zum Beispiel durch Drücken von UMSCHALT+Befehlstaste+P (Mac) / STRG+UMSCHALT+P (Windows/Linux).
  2. Geben Sie Folgendes ein: reload.
  3. Wählen Sie Developer: Fenster erneut laden aus.

Zum erneuten Laden von Inhaltsausschlüssen in Ihre JetBrains-IDE können Sie entweder die Anwendung schließen und wieder öffnen oder sich wie folgt von GitHub ab- und dann wieder anmelden.

  1. Klicken Sie in der Statusleiste auf das Copilot-Symbol und wählen Sie Abmelden von GitHub aus.
  2. Durch das Copilot-Symbol in der Statusleiste verläuft nun eine diagonale Linie. Klicken Sie darauf, und wählen Sie Bei GitHub anmelden aus.
  3. Die Meldung „Bei GitHub anmelden“ wird mit einem Gerätecode angezeigt. Klicken Sie auf Kopieren und öffnen.
  4. Fügen Sie auf der Seite „Geräteaktivierung“ den Gerätecode ein und klicken Sie auf Weiter.
  5. Klicken Sie auf der nächsten Seite auf GitHub Copilot-Plug-In autorisieren.

Weiterführende Themen