Acerca de las exclusiones de contenido para Copilot
Puedes utilizar exclusiones de contenido para configurar Copilot para ignorar determinados archivos. Cuando se excluye el contenido de Copilot:
- La finalización del código no estará disponible en los archivos afectados.
- El contenido de los archivos afectados no informará a las sugerencias de finalización de código en otros archivos.
- El contenido de los archivos afectados no informará las respuestas de GitHub Copilot Chat.
Quién puede configurar la exclusión de contenido
Los administradores de repositorios, los propietarios de organizaciones y de empresas pueden configurar la exclusión de contenido.
-
Los administradores del repositorio solo pueden excluir contenido de sus propios repositorios. Esto afecta a los usuarios de Copilot que trabajan en esos repositorios específicos.
-
Los propietarios de la organización pueden excluir el contenido de los usuarios que tienen asignado un puesto de Copilot a través de su organización.
-
Los propietarios de las empresas pueden aplicar reglas de exclusión a todos los usuarios de Copilot de la empresa.
Disponibilidad de exclusiones de contenido
Herramienta | Compatibilidad con la finalización de código | Soporte de Copilot Chat support |
---|---|---|
Visual Studio | ||
Visual Studio Code | ||
IDE de JetBrains | ||
Vim/Neovim | No aplicable | |
Xcode | No aplicable | |
Azure Data Studio | No aplicable | |
El sitio web de GitHub | No aplicable | |
GitHub Mobile | No aplicable |
Limitaciones de las exclusiones de contenido
Es posible que Copilot use información semántica de un archivo excluido si el IDE proporciona la información en un archivo no excluido de forma indirecta. Ejemplos de dicho contenido incluyen información sobre tipos y definiciones emergentes para los símbolos utilizados en el código, así como propiedades generales del proyecto, como la información de configuración de compilación.
Datos enviados a GitHub
Después de configurar la exclusión de contenido, el cliente (por ejemplo, la extensión Copilot para VS Code) envía la dirección URL del repositorio actual al servidor GitHub para que el servidor pueda devolver la directiva correcta al cliente. Estas direcciones URL no se registran en ningún lugar.
Configuración de exclusiones de contenido para el repositorio
Puede usar la configuración del repositorio para especificar el contenido de este que GitHub Copilot debe omitir.
-
En GitHub, navegue hasta la página principal del repositorio.
-
En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección "Código, planificación y automatización" de la barra lateral, haga clic en Copilot.
Si tu repositorio hereda alguna exclusión de las organizaciones de la misma empresa, verás uno o más cuadros grises en la parte superior de la página con detalles de estas exclusiones. No puede editar esta configuración.
-
En el cuadro que sigue a "Rutas de acceso para excluir en este repositorio", escriba las rutas de acceso a los archivos que Copilot debe excluir.
Use el formato
- "/PATH/TO/DIRECTORY/OR/FILE"
con cada ruta de acceso en una línea independiente. Puede agregar comentarios iniciando una línea con#
.Tip
Puede usar la notación de coincidencia de patrones de tipo fnmatch para especificar rutas de acceso a los archivos. Los patrones no distinguen mayúsculas de minúsculas. Consulte "Archivo" en la documentación de ruby-doc.org.
Ejemplo de rutas de acceso especificadas en la configuración del repositorio
# 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 with `secret` anywhere in this repository. - "secret*" # Ignore files whose names end with `.cfg` anywhere in this repository. - "*.cfg" # Ignore all files in or below the `/scripts` directory of this repository. - "/scripts/**"
- "/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 with secret
anywhere in this repository.
- "*.cfg"
Ignore files whose names end with .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 with `secret` anywhere in this repository.
- "secret*"
# Ignore files whose names end with `.cfg` anywhere in this repository.
- "*.cfg"
# Ignore all files in or below the `/scripts` directory of this repository.
- "/scripts/**"
Configuración de exclusiones de contenido para su organización
Puedes usar la configuración de la organización para especificar el contenido que GitHub Copilot debe omitir. Los archivos pueden estar dentro de un repositorio de Git o en cualquier parte del sistema de archivos que no está bajo control de Git.
-
En la esquina superior derecha de GitHub, seleccione la foto del perfil y haga clic en Sus organizaciones.
-
Junto a la organización, haga clic en Settings.
-
En la barra lateral izquierda, haga clic en Copilot y, a continuación, haga clic en Exclusión de contenido.
-
En el cuadro que aparece a continuación de "Repositorios y rutas a que excluir", introduce los datos de los archivos de los que Copilot debe excluirse.
Para excluir archivos ubicados en cualquier lugar (dentro de un repositorio de Git o en otro lugar), escribe
"*":
seguido de la ruta de acceso al archivo, o archivos, que deseas excluir. Si deseas especificar varios patrones de ruta de acceso de archivo, enumera cada patrón en una línea independiente.Para excluir archivos de un repositorio Git de Copilot, escribe una referencia al repositorio en una línea, seguida de rutas de acceso a ubicaciones dentro del repositorio, con cada ruta de acceso en una línea independiente. Use el formato siguiente, reemplazando
REPOSITORY-REFERENCE
por una referencia al repositorio que contiene los archivos que desea excluir:REPOSITORY-REFERENCE: - "/PATH/TO/DIRECTORY/OR/FILE" - "/PATH/TO/DIRECTORY/OR/FILE" - ...
Se puede hacer referencia a repositorios mediante varios protocolos. Puedes usar cualquiera de las sintaxis siguientes para
REPOSITORY-REFERENCE
y Copilot las hará coincidir, independientemente de cómo se clonó localmente el repositorio: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/
Las partes
user@
y:port
deREPOSITORY-REFERENCE
se omiten en el cálculo de las rutas de acceso que se omitirán en un repositorio.Para Azure DevOps, puede utilizar el formato de host nuevo (dev.azure.com) o antiguo (visualstudio.com) al especificar
REPOSITORY-REFERENCE
y Copilot las hará coincidir, independientemente del host que se usó para clonar el repositorio localmente.Tip
Puede usar la notación de coincidencia de patrones de tipo fnmatch para especificar rutas de acceso a los archivos. Los patrones no distinguen mayúsculas de minúsculas. Consulte "Archivo" en la documentación de ruby-doc.org.
Ejemplo de repositorios y rutas de acceso en la configuración de la organización
# Ignore all `.env` files from all file system roots (Git and non-Git). # For example, this excludes `REPOSITORY-PATH/.env` and also `/.env`. # 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 with `server` or `session` anywhere in this repository. - "{server,session}*" # Ignore any files with names ending with `.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/**"
"*":
- "**/.env"
Ignore all .env
files from all file system roots (Git and non-Git).
For example, this excludes REPOSITORY-PATH/.env
and also /.env
.
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 with server
or session
anywhere in this repository.
- "*.m[dk]"
Ignore any files with names ending with .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 from all file system roots (Git and non-Git).
# For example, this excludes `REPOSITORY-PATH/.env` and also `/.env`.
# 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 with `server` or `session` anywhere in this repository.
- "{server,session}*"
# Ignore any files with names ending with `.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/**"
Configuración de exclusiones de contenido para la empresa
Como propietario de la empresa, puede usar la configuración de empresa para especificar los archivos que GitHub Copilot deben omitir. Los archivos pueden estar dentro de un repositorio de Git o en cualquier parte del sistema de archivos que no está bajo control de Git.
- En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
- En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
- En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
- En "Directivas ", haga clic en Copilot.
- Haz clic en la pestaña Exclusión de contenido.
- Usa rutas de acceso para especificar qué contenido se debe excluir. Consulta la sección anterior, Configuración de exclusiones de contenido para tu organización.
Note
La diferencia clave entre establecer la exclusión de contenido en el nivel empresarial y el nivel de organización es que las reglas establecidas en el nivel empresarial se aplican a todos los usuarios de Copilot de la empresa, mientras que las reglas establecidas por los propietarios de la organización solo se aplican a los usuarios a los que se les asigna un puesto Copilot por esa organización.
Probar los cambios en la exclusión de contenido
Puede utilizar su IDE para confirmar que sus cambios en las exclusiones de contenido están funcionando como se esperaba.
Propagar los cambios de exclusión de contenidos a su IDE
Después de agregar o cambiar las exclusiones de contenido, puede tardar hasta 30 minutos en surtir efecto en los IDE en los que la configuración ya está cargada. Si no desea esperar, puede volver a cargar manualmente la configuración de exclusión de contenido mediante las instrucciones siguientes.
- Para los IDE de JetBrains y Visual Studio, vuelva a cargar la configuración de exclusión de contenido cerrando y reabrindo la aplicación.
- Para Visual Studio Code, siga estos pasos para volver a cargar la configuración de exclusión de contenido:
- Abra la paleta de comandos. Por ejemplo, presionando el Comando+Shift+P (Mac) / Ctrl+Shift+P (Windows/Linux).
- Escriba:
reload
. - Seleccione Programador: Volver a cargar ventana.
- Para Vim/Neovim, las exclusiones de contenido se capturan automáticamente de GitHub cada vez que abra un archivo.
Prueba de las exclusiones de contenido
Hay varias maneras diferentes de probar las exclusiones de contenido, en función del IDE que use.
- Abra un archivo que espera que se vea afectado por las exclusiones de contenido.
- Use una o varias de las técnicas siguientes para probar si se excluye el contenido:
- En JetBrains IDEs, Visual Studio, y Visual Studio Code, compruebe el icono Copilot en la barra de estado. Si se aplica una exclusión de contenido Copilot al archivo, el icono Copilot tendrá una línea diagonal que lo atraviesa. Pase el ratón por encima del icono para ver si una organización o el repositorio principal ha desactivado Copilot para el archivo.
- En Vim/Neovim, comience a escribir en el archivo. Si GitHub Copilot ya no proporciona sugerencias insertadas mientras escribe, se excluye el archivo.
- También puede probar exclusiones de contenido en Copilot Chat. Abra la ventana Copilot Chat y formule a Copilot Chat una pregunta sobre el archivo excluido. Si el contenido se excluye correctamente, Copilot no podrá responder a su pregunta y explicará que algunos archivos se excluyeron de la conversación debido a reglas de exclusión de contenido.