Introduction
Al trabajar en una sesión interactiva Copilot CLI , puede presionar Esc o Ctrl+C para controlar lo que Copilot está haciendo. Ambas teclas pueden cancelar las operaciones, pero funcionan ligeramente de manera diferente:
- Ctrl+C actúa inmediatamente, sin necesidad de una segunda pulsación de confirmación: primero elimina las solicitudes en cola (una por pulsación) y luego cancela la operación actual.
- Una sola tecla Esc le ofrece un control más gradual y preconfigurado. Mientras Copilot está trabajando activamente, pulsar una sola vez Esc no cancela de inmediato, sino que muestra un aviso, y una segunda pulsación realiza la siguiente acción: eliminar la solicitud en cola más reciente o cancelar la operación cuando ya no queda nada en cola.
Si Copilot ya ha realizado cambios y desea deshacerlos, puede revertir a un punto anterior de la sesión. Como Copilot funciona, Copilot CLI realiza un seguimiento de los cambios realizados en el archivo a medida que responde a cada solicitud. Esto le permite rebobinar a un punto anterior presionando Esc dos veces cuando Copilot está inactivo y el área de entrada está vacía. Al rebobinar, elige si desea rebobinar solo la conversación o restaurar también los archivos que Copilot han cambiado.
Qué hace la tecla Esc en diferentes situaciones
Al presionar Esc una vez se realizan diferentes acciones en función del estado actual de la sesión:
| Estado actual | Lo que ocurre al presionar Esc |
|---|---|
| Copilot está activo sin indicaciones en cola. | Muestra un recordatorio de "Pulsa Esc de nuevo para cancelar". La operación en ejecución solo se cancela si presiona Esc de nuevo en medio segundo. |
| Copilot está activo y hay mensajes en cola. | Muestra el recordatorio "Pulsa Esc de nuevo para cancelar". Al presionar Esc de nuevo, se elimina la solicitud en cola más reciente. |
| Se abre un cuadro de diálogo de permisos. | Un único Esc deniega la solicitud pendiente (no se necesita ninguna segunda pulsación). |
| Se abre un cuadro de diálogo, superposición o selector. | Cierra el cuadro de diálogo, la superposición o el selector. |
| Copilot está inactivo. | Muestra un breve recordatorio de que pulsar Esc de nuevo rápidamente abrirá el selector de rebobinado. Consulte Revertir cambios. |
Al presionar Esc dos veces rápidamente, cuando Copilot está inactivo, puede revertir a un punto anterior de la sesión. Si una operación está en curso, un doble Esc realiza una de las siguientes acciones, en este orden de prioridad:
- Cancela un comando de shell en ejecución.
- Detiene la respuesta actual.
- Detiene los agentes en segundo plano.
- Borra el texto del área de entrada.
- Sale del modo de shell.
Si no se aplica ninguno de estos elementos, se muestra el selector de rebobinado.
Cuándo usar Esc en lugar de Ctrl+C
La principal diferencia entre estas dos formas de cancelar una operación es que Esc está diseñado para la intervención gradual y dirigida, mientras que Ctrl+C es una parada difícil.
Use Esc cuando desee interactuar con Copilot sin finalizar necesariamente la operación actual. Por ejemplo, si aparece un cuadro de diálogo de permisos y desea denegar esa solicitud específica, al presionar Esc se descarta el cuadro de diálogo y Copilot continúa funcionando, simplemente no se usará la herramienta que denegó. Del mismo modo, si ha puesto en cola indicaciones de seguimiento y quiere cancelarlas sin interrumpir el trabajo ya en curso, al pulsar Esc se elimina la indicación en cola más reciente (repita para eliminar las anteriores), mientras la operación actual sigue en ejecución.
Use Ctrl+C cuando desee cancelar sin la segunda pulsación de confirmación que requiere Esc. Si no hay solicitudes en cola, una sola pulsación de Ctrl+C cancela inmediatamente la operación activa. Si tiene solicitudes en cola, cada Ctrl+C elimina la solicitud en cola más reciente —una por pulsación— y cancela la operación activa solo cuando la cola está vacía. Cualquier escritura de archivo que ya esté en curso se completará (los archivos no se dejan dañados a mitad de escritura), pero se abandonan los cambios planeados restantes. Al presionar Ctrl+C una segunda vez en dos segundos, cuando el área de entrada está vacía, sale por completo de la sesión.
Como regla general, use Esc cuando quiera intervenir de forma selectiva y Ctrl+C cuando quiera detener e iniciar la acción.
Revierte los cambios
Aunque Copilot está inactivo y no hay texto en el área de entrada, puede presionar Esc dos veces para mostrar una lista de puntos en la sesión actual a la que puede revertir. Cada punto corresponde a un mensaje enviado y el rebobinado devuelve la sesión al estado en el que estaba inmediatamente antes de Copilot empezar a trabajar en ese mensaje.
Después de elegir un punto de rebobinado, decide si quiere:
- Rebobine solo la conversación, dejando los archivos intactos.
- Rebobine los archivos de conversación y restauración, que revierte los archivos Copilot cambiados mientras deja sus propias ediciones posteriores en su lugar.
Dado que restaura solo los archivos Copilot cambiados en lugar de todo el área de trabajo, el rebobinado funciona en cualquier directorio, incluidas las carpetas que no son repositorios de Git.
Para obtener detalles completos sobre cómo usar la tecla Esc doble para revertir los cambios realizados durante una sesión, consulte Revertir los cambios realizados durante una GitHub Copilot CLI sesión.
Advertencia
Rebobinar restaura todo el entorno de trabajo al estado en el que estaba en la instantánea seleccionada. Esto revierte todos los cambios realizados después de ese punto, no solo los cambios realizados por Copilot, sino también las modificaciones manuales y los cambios resultantes de los comandos del shell. Los nuevos archivos creados en el área de trabajo después de que se haya tomado la instantánea se eliminen, independientemente de su estado de Git.
¿Qué ocurre cuando revierte?
Las acciones que se producen al revertir dependen de la opción que elija.
Si decide rebobinar la conversación y restaurar los archivos:
- Los archivos se restauran. Los archivos Copilot modificados se revierten al estado en que estaban antes del símbolo del sistema seleccionado. Los archivos cuyo contenido actual ya no coincida con lo que Copilot escribió por última vez (por ejemplo, porque los editó usted mismo) se omiten para que las ediciones posteriores no se sobrescriban.
- El historial de sesiones se abrevia. La conversación se vuelve a reproducir en el punto seleccionado. Todos los mensajes y llamadas a herramientas que se produjeron después de ese punto se eliminan de la sesión.
- Se quitan las instantáneas obsoletas. Los cambios de archivo capturados para los turnos descartados se limpian. Los puntos anteriores permanecen disponibles para futuros rebobines.
- Revertido confirmado. Después de la reversión, Copilot muestra un mensaje que indica cuántos archivos se restauraron y anota los archivos que se omitieron.
- Se restaura el mensaje. El símbolo del sistema asociado al punto seleccionado se coloca en el área de entrada, por lo que puede editarlo y volver a enviarlo.
Si decide reenredar solo la conversación, los archivos se dejan intactos: el historial de sesión se trunca (paso 2) y el mensaje se restaura en el área de entrada (paso 5).
Cambios que no se pueden revertir
La restauración de archivos se omite o no está disponible en las siguientes situaciones:
- Archivos de más de 10 MB. Los archivos individuales de más de 10 MB se omiten durante la captura, por lo que los cambios en esos archivos no se restauran durante una reversión.
- Más de 500 archivos modificados. Si se cambiaron más de 500 archivos durante un solo turno, los cambios de archivo para ese turno no se capturan, por lo que no podrá restaurar archivos para él. Otros turnos no se ven afectados.
- Archivos que cambió usted mismo. Los archivos cuyo contenido actual ya no coincide con lo que Copilot escribió por última vez se dejan intactos en lugar de sobrescribirse.
- Sesiones sin seguimiento de archivos. Si reanuda una sesión que se inició antes de habilitar el seguimiento de cambios de archivos, solo está disponible el rebobinado de conversación. Inicie una nueva sesión para poder restaurar los cambios de archivo.
- Sesiones ocupadas o con respaldo remoto. El rebobinado no está disponible para las sesiones con respaldo remoto o mientras la sesión todavía tiene trabajo en curso.