Uso del comando del editor en la CLI - Amazon Q Developer

Uso del comando del editor en la CLI

La CLI de Amazon Q Developer proporciona un comando /editor que abre su editor de texto preferido para redactar peticiones complejas. Esto resulta especialmente útil para peticiones de varias líneas, ejemplos de código o cuando necesite estructurar detenidamente sus preguntas.

Uso básico

Para abrir el editor predeterminado con una petición vacía:

Amazon Q> /editor

Para abrir el editor con el texto inicial:

Amazon Q> /editor Write a Python function that calculates Fibonacci numbers

Al utilizar el comando /editor, Amazon Q creará un archivo temporal con una extensión .md, abrirá el editor especificado con este archivo y, a continuación, leerá el contenido y lo enviará como petición cuando guarde y cierre el editor.

Configuración de su editor preferido

Amazon Q usa la variable de entorno $EDITOR del sistema para determinar qué editor debe abrir. Si no se establece, la opción predeterminada es vi.

Configuración temporal (solo en la sesión actual)

Para configurar el editor únicamente para la sesión del terminal actual:

$ export EDITOR=nano

Configuración permanente

Para que su preferencia de editor sea persistente en todas las sesiones, añada el comando export al archivo de configuración del intérprete de comandos:

# For bash (add to ~/.bashrc)
export EDITOR=nano

# For zsh (add to ~/.zshrc)
export EDITOR=nano

# For fish shell (add to ~/.config/fish/config.fish)
set -x EDITOR nano

Después de editar el archivo de configuración, reinicie el terminal o localice el archivo:

$ source ~/.bashrc  # or ~/.zshrc

Opciones frecuentes del editor

Estas son algunas de las opciones frecuentes del editor que puede usar:

  • vi o vim: editor de texto Vi/Vim

  • nano: editor de texto Nano (usuarios novatos)

  • emacs: editor de texto Emacs

  • code -w: Visual Studio Code (es necesario instalar la CLI de VS Code)

  • subl -w: Sublime Text (es necesario instalar la CLI de Sublime)

nota

El indicador -w para los editores de GUI es importante, ya que hace que el terminal espere hasta que se cierre el archivo.

Funcionamiento

El comando /editor sigue este flujo de trabajo:

  1. Al usar el comando /editor, Amazon Q creará un archivo temporal con una extensión .md.

  2. El editor especificado se abrirá con este archivo.

  3. Escribirá la petición en el editor y guardará el archivo.

  4. Al cerrar el editor

  5. Amazon Q leerá el contenido y lo enviará como su petición.

  6. El archivo temporal se eliminará automáticamente.

Uso del código en el editor

Al escribir el código en el editor, todo el contenido se enviará como una petición a Amazon Q al cerrar el editor. El código no se ejecutará de forma local, sino que la IA lo considerará una entrada de texto.

Ejemplo: Cómo escribir y enviar código

  1. Escriba /editor para abrir el editor.

  2. Escriba un script de Python en el editor:

    def fibonacci(n): if n <= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) # This function seems inefficient # How can I improve it?
  3. Guarde el archivo y cierre el editor.

  4. Amazon Q recibirá este texto completo a medida que lo solicite y responderá con sugerencias para mejorar el código.

Este método es útil para:

  • Obtener revisiones de código

  • Solicitar optimizaciones

  • Explicar estructuras de código complejas

  • Proporcionar contexto para la ayuda de depuración

Realizar combinaciones con otros comandos

El comando /editor se vuelve aún más potente cuando se combina con otros comandos de la CLI de Amazon Q. Estas son algunas combinaciones prácticas para mejorar el flujo de trabajo.

Uso de /editor con /compact

El comando /compact hace que las respuestas de Amazon Q sean más concisas. Esta combinación es excelente para revisar de forma eficaz el código:

Amazon Q> /editor
# Write in the editor:
Please review this Python function that calculates prime numbers:

def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    return True

# Save and close

Amazon Q> /compact
# This makes Amazon Q provide a concise code review

Uso de /editor con /context

El comando /context añade archivos al contexto de la conversación. Esta combinación resulta útil para hablar de código que hace referencia a otros archivos:

Amazon Q> /context path/to/config.json
Amazon Q> /editor
# Write in the editor:
Given the config.json file I just shared, please help me write a Python function that:
1. Loads the configuration
2. Validates all required fields are present
3. Returns a validated config object

# Save and close

Uso de /editor con /clear

El comando /clear inicia una nueva conversación. Esta combinación ayuda al cambiar de tema:

Amazon Q> /clear
Amazon Q> /editor
# Write in the editor:
I want to start a new discussion about AWS Lambda cold starts.
What are the best practices for minimizing cold start times for Python Lambda functions?

# Save and close

Uso de /editor para conversaciones de varios pasos

El comando /editor crea un nuevo archivo temporal cada vez que se usa. Puede usarlo varias veces en una conversación para basarse en las respuestas anteriores:

# First use of editor for initial complex question
Amazon Q> /editor
# Write in editor:
I need to design a database schema for a library management system.
Requirements:
- Track books, authors, publishers
- Handle member checkouts and returns
- Support reservations and waiting lists
- Generate overdue notices

# After getting Amazon Q's response with initial schema design

# Second use of editor for follow-up with specific implementation details
Amazon Q> /editor
# Write in editor:
Based on your proposed schema, I have some follow-up questions:
1. How would you modify the Member table to support different membership tiers?
2. What indexes would you recommend for optimizing checkout queries?
3. Can you show me SQL to create the Books and Authors tables with proper relationships?

La ventaja de este método es que puede elaborar detenidamente preguntas de seguimiento complejas que hagan referencia a la conversación anterior, sin tener que escribir todo en la línea de comandos. Cada sesión del editor le proporciona el espacio y el control de formato para redactar preguntas detalladas que se basen en las respuestas anteriores de Amazon Q.

Uso de /editor con /profile

Cambie a otro perfil de contexto antes de utilizar el editor para preguntas especializadas:

Amazon Q> /profile set aws-developer
Amazon Q> /editor
# Write detailed AWS-specific questions that benefit from the AWS developer profile context

Uso de /editor con /help

Si no sabe con certeza qué opciones de comando utilizar, puede usar /help antes de /editor:

Amazon Q> /help editor
# Review the help information
Amazon Q> /editor
# Use the editor with better understanding of available options

Prácticas recomendadas para combinaciones de comandos

  1. Use /context antes de /editor cuando necesite hacer referencia a archivos específicos.

  2. Use /editor antes de /compact cuando desee respuestas concisas a preguntas complejas.

  3. Use /clear antes de /editor cuando comience un tema completamente nuevo.

  4. Use varias sesiones de /editor para conversaciones complejas y de varias partes en las que necesite elaborar detenidamente las preguntas de seguimiento.

  5. Tenga en cuenta el perfil actual antes de usar /editor para asegurarse de que esté en el contexto correcto.

Consejos para un uso eficaz

  • Utilice el editor para peticiones complejas que saquen partido de una estructuración detallada.

  • Incluya ejemplos de código con la sangría adecuada.

  • Organice las preguntas de varias partes con secciones claras.

  • Use el formato de Markdown para una mejor estructura.

  • Si guarda un archivo vacío, no se enviará ninguna petición.

Solución de problemas

  • El editor no se abre: compruebe que la variable de entorno $EDITOR se haya configurado correctamente.

  • Error “No such file or directory”: asegúrese de que se haya instalado el comando de editor y se encuentre en PATH.

  • Bloqueo del terminal: en el caso de los editores de GUI, asegúrese de utilizar el indicador de espera (por ejemplo, -w).

  • El contenido no se envía: compruebe que haya guardado el archivo antes de cerrar el editor.