Utilizzo del comando editor nella CLI - Amazon Q Developer

Utilizzo del comando editor nella CLI

La CLI di Amazon Q Developer fornisce un comando /editor che apre l’editor di testo preferito per comporre prompt complessi. Questa funzione è particolarmente utile per i prompt su più righe, esempi di codice o quando è necessario strutturare con cura le domande.

Utilizzo di base

Per aprire l’editor predefinito con un prompt vuoto:

Amazon Q> /editor

Per aprire l’editor con il testo iniziale:

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

Quando usi il comando /editor, Amazon Q crea un file temporaneo con un’estensione .md, apre l’editor specificato con questo file, quindi legge il contenuto e lo invia come prompt quando salvi e chiudi l’editor.

Impostazione dell’editor preferito

Amazon Q utilizza la variabile di ambiente $EDITOR del sistema per determinare quale editor aprire. Se non è impostata, l’impostazione predefinita è vi.

Impostazione temporanea (solo sessione corrente)

Per impostare l’editor solo per la sessione del terminale corrente:

$ export EDITOR=nano

Impostazione permanente

Per rendere persistenti le preferenze dell’editor tra le sessioni, aggiungi il comando export al file di configurazione della shell:

# 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

Dopo aver modificato il file di configurazione, riavvia il terminale o crea il file:

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

Opzioni comuni dell’editor

Ecco alcune opzioni di editor comuni che puoi utilizzare:

  • vi oppure vim - Editor di testo Vi/Vim

  • nano - Nano text editor (adatto ai principianti)

  • emacs - Editor di testo Emacs

  • code -w - Visual Studio Code (richiede l’installazione della CLI di VS Code)

  • subl -w - Sublime Text (richiede l’installazione della CLI di Sublime)

Nota

Il flag -w per gli editor della GUI è importante in quanto fa attendere al terminale la chiusura del file.

Come funziona

Il comando /editor segue questo flusso di lavoro:

  1. Quando usi il comando /editor, Amazon Q crea un file temporaneo con un’estensione .md

  2. L’editor specificato si apre con questo file

  3. Scrivi il prompt nell’editor e salvi il file

  4. Quando chiudi l’editor

  5. Amazon Q legge il contenuto e lo invia come prompt

  6. Il file temporaneo viene pulito automaticamente

Utilizzo del codice nell’editor

Quando scrivi codice nell’editor, l’intero contenuto viene inviato come prompt ad Amazon Q quando chiudi l’editor. Il codice non viene eseguito localmente: viene trattato come input di testo per l’IA.

Esempio: scrittura e invio di codice

  1. Digita /editor per aprire l’editor

  2. Scrivi uno script Python nell’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. Salva il file e chiudi l’editor

  4. Amazon Q riceverà l’intero testo come prompt e risponderà con suggerimenti per migliorare il codice.

Questo approccio è utile per:

  • Ottenere revisioni del codice

  • Richiedere ottimizzazioni

  • Spiegazione di strutture di codice complesse

  • Fornire un contesto per la guida al debug

Combinazione con altri comandi

Il comando /editor diventa ancora più potente se combinato con altri comandi della CLI di Amazon Q. Ecco alcune combinazioni pratiche per migliorare il flusso di lavoro.

Utilizzo di /editor con /compact

Il comando /compact rende le risposte di Amazon Q più concise. Questa combinazione è eccellente per revisioni efficienti del codice:

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

Utilizzo di /editor con /compact

Il comando /context aggiunge dei file al contesto della conversazione. Questa combinazione è utile per discutere del codice che fa riferimento ad altri file:

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

Utilizzo di /editor con /clear

Il comando /clear avvia una nuova conversazione. Questa combinazione aiuta a passare da un argomento all’altro:

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

Utilizzo di /editor per conversazioni in più fasi

Il comando /editor crea un nuovo file temporaneo ogni volta che viene utilizzato. Puoi usarlo più volte in una conversazione per basarti sulle risposte precedenti:

# 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?

Il vantaggio di questo approccio è che puoi creare con cura domande di follow-up complesse che fanno riferimento alla conversazione precedente, senza dover digitare tutto nella riga di comando. Ogni sessione dell’editor ti offre lo spazio e il controllo di formattazione per comporre domande dettagliate basate sulle risposte precedenti di Amazon Q.

Utilizzo di /editor con /profile

Passa a un profilo di contesto diverso prima di utilizzare l’editor per domande specializzate:

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

Utilizzo di /editor con /help

Se non sei sicuro delle opzioni di comando, puoi utilizzare /help prima di /editor:

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

Best practice per le combinazioni di comandi

  1. Utilizza /context prima di /editor quando è necessario fare riferimento a file specifici

  2. Utilizza /editor prima di /compact quando desideri risposte concise a domande complesse

  3. Utilizza /clear prima di /editor quando inizi un argomento completamente nuovo

  4. Utilizza diverse sessioni di /editor per conversazioni complesse e articolate in più parti in cui è necessario elaborare attentamente le domande di follow-up

  5. Valuta il tuo profilo attuale prima di utilizzare /editor per assicurarti di trovarti nel contesto giusto

Suggerimenti per un utilizzo efficace

  • Usa l’editor per prompt complessi che traggono vantaggio da un’attenta strutturazione

  • Includi esempi di codice con indentazione corretta

  • Organizza domande in più parti con sezioni chiare

  • Utilizza la formattazione Markdown per una migliore struttura

  • Se salvi un file vuoto, non verrà inviato alcun prompt

Risoluzione dei problemi

  • L’editor non si apre: verifica che la variabile di ambiente $EDITOR sia impostata correttamente

  • Errore “Nessun file o directory di questo tipo”: assicurati che il comando dell’editor sia installato e presente nel tuo PATH

  • Sospensione del terminale: per gli editor della GUI, assicurati di utilizzare il flag di attesa (ad esempio -w)

  • Contenuto non inviato: verifica di aver salvato il file prima di chiudere l’editor