# Limitazioni e vincoli (/it/docs/verdent-for-vscode/help-support/limitations)

> Comprendere le limitazioni e i vincoli di Verdent



### Cosa imparerai [#cosa-imparerai]

Le limitazioni note di Verdent for VS Code, incluse le restrizioni sui formati di file, i vincoli sugli strumenti e le considerazioni specifiche di ciascuna piattaforma.

***

## Limitazioni note [#limitazioni-note]

<Tabs>
  <Tab title="Formati di file">
    ### File binari non supportati [#file-binari-non-supportati]

    Gli strumenti per i file di Verdent funzionano solo con formati basati su testo. I seguenti non possono essere modificati:

    | Tipo di formato      | Esempi                            |
    | -------------------- | --------------------------------- |
    | **Immagini**         | PNG, JPG, GIF, SVG (come binario) |
    | **Video**            | MP4, AVI, MOV                     |
    | **Codice compilato** | EXE, DLL, SO                      |
    | **Archivi**          | ZIP, TAR, GZ                      |
    | **Documenti Office** | DOCX, XLSX, PPTX                  |
    | **PDF**              | File PDF                          |

    **Soluzione alternativa:** i file binari possono essere referenziati nel codice o discussi a livello concettuale, ma le modifiche richiedono strumenti esterni.
  </Tab>

  <Tab title="Vincoli sugli strumenti">
    ### Limiti di righe di file\_read [#limiti-di-righe-di-file_read]

    **Limitazione:**

    * I file di grandi dimensioni (>10.000 righe) dovrebbero essere letti in sezioni
    * La lettura di interi file di grandi dimensioni può esaurire il contesto

    **Soluzione:** usa gli intervalli di righe: `file_read("file.js", start_line=100, max_lines=50)`

    ***

    ### Timeout dei comandi bash [#timeout-dei-comandi-bash]

    **Limitazione:**

    * Timeout massimo: 120 secondi (2 minuti)
    * Le operazioni di lunga durata verranno terminate automaticamente

    **Soluzione:** suddividi le operazioni in comandi più piccoli che si completano entro 2 minuti

    ***

    ### Prestazioni della ricerca [#prestazioni-della-ricerca]

    **Limitazione:**

    * I pattern glob ampi (`**/*`) possono restituire migliaia di risultati
    * Le ricerche con espressioni regolari sono più lente delle stringhe letterali

    **Soluzione:** usa pattern specifici ed escludi le directory non necessarie
  </Tab>

  <Tab title="Finestra di contesto">
    ### Esaurimento del contesto [#esaurimento-del-contesto]

    **Problema:** durante sessioni lunghe o operazioni complesse, la finestra di contesto dell'AI può riempirsi, limitando la capacità di riferirsi alle parti precedenti della conversazione.

    **Strategie di mitigazione:**

    * Usa i sottoagenti per la ricerca esplorativa (solo i risultati consumano il contesto principale)
    * Leggi i file in modo strategico con gli intervalli di righe
    * Usa `grep_file` prima di leggere l'intero contenuto
    * Delega le attività in background al sottoagente Explorer

    <Tip>
      Per i file con più di 500 righe, usa sempre gli intervalli di righe per preservare lo spazio del contesto.
    </Tip>
  </Tab>
</Tabs>

***

## Cosa Verdent non può fare [#cosa-verdent-non-può-fare]

<Tabs>
  <Tab title="Amministrazione di sistema">
    ### Nessuna amministrazione di sistema diretta [#nessuna-amministrazione-di-sistema-diretta]

    **Non può:**

    * Modificare le impostazioni di VS Code a livello programmatico
    * Installare automaticamente estensioni di VS Code
    * Modificare configurazioni a livello di sistema
    * Riavviare VS Code o i servizi di sistema

    **Ambito:** Verdent opera all'interno del workspace di VS Code, non a livello di amministrazione di sistema.
  </Tab>

  <Tab title="Esecuzione autonoma">
    ### Nessuna esecuzione autonoma [#nessuna-esecuzione-autonoma]

    **Controlli di Manual Accept Mode:**

    * Gli utenti devono approvare le esecuzioni degli strumenti in Manual Accept Mode
    * Nessuna operazione automatica in background senza approvazione
    * Non può eseguire comandi mentre VS Code è chiuso

    **Scopo:** sicurezza e controllo dell'utente su tutte le operazioni.

    <Warning>
      Verdent non può eseguire comandi in background senza l'approvazione dell'utente. Tutte le operazioni richiedono un consenso esplicito in Manual Accept Mode.
    </Warning>
  </Tab>

  <Tab title="Monitoraggio in tempo reale">
    ### Nessun monitoraggio in tempo reale [#nessun-monitoraggio-in-tempo-reale]

    **Non può:**

    * Monitorare i processi in esecuzione in modo continuo
    * Tracciare le modifiche al file system in tempo reale
    * Avvisare in caso di eventi di sistema
    * Trasmettere i file di log in modo continuo

    **Alternativa:** usa le integrazioni MCP per strumenti di monitoraggio esterni.
  </Tab>

  <Tab title="Operazioni di rete">
    ### Nessuna operazione di rete senza MCP [#nessuna-operazione-di-rete-senza-mcp]

    **Limitazioni integrate:**

    * Non può effettuare richieste HTTP arbitrarie (usa `web_fetch` per pagine specifiche)
    * Nessuna connessione diretta al database (richiede MCP)
    * Non può accedere direttamente ai servizi cloud (richiede MCP)
    * Nessuna integrazione API in tempo reale (richiede MCP)

    **Soluzione:** configura i server MCP per l'accesso a sistemi esterni.
  </Tab>
</Tabs>

***

## Restrizioni specifiche della piattaforma [#restrizioni-specifiche-della-piattaforma]

### Differenze tra sistemi operativi [#differenze-tra-sistemi-operativi]

**Comportamento dello strumento bash:**

| Piattaforma     | Shell      | Note                                                                     |
| --------------- | ---------- | ------------------------------------------------------------------------ |
| **macOS/Linux** | bash/zsh   | Funzionalità bash complete                                               |
| **Windows**     | PowerShell | Alcuni comandi bash non sono disponibili, usa gli equivalenti PowerShell |
| **WSL**         | bash       | I comandi Linux funzionano nell'ambiente WSL                             |

**Gestione dei percorsi:**

* Windows usa i backslash (`\`), Unix usa gli slash (`/`)
* I percorsi dei file potrebbero richiedere aggiustamenti per i progetti multipiattaforma

***

### Requisiti di versione di VS Code [#requisiti-di-versione-di-vs-code]

**Requisiti minimi:**

* Compatibilità con la versione di VS Code (controlla il marketplace delle estensioni per il minimo attuale)
* Spazio su disco sufficiente per la memorizzazione nella cache del contesto

<Info>
  I requisiti di versione specifici sono indicati nella scheda del marketplace di VS Code. Controlla i dettagli dell'estensione per la compatibilità attuale.
</Info>

***

### Vincoli del workspace [#vincoli-del-workspace]

**Focalizzazione su un singolo workspace:**

* Verdent opera su un workspace di VS Code alla volta
* Non può modificare simultaneamente file in più finestre di VS Code aperte
* I workspace multi-root sono supportati, ma il contesto è limitato al workspace attivo corrente

***

## Soluzioni alternative per le limitazioni comuni [#soluzioni-alternative-per-le-limitazioni-comuni]

<Tabs>
  <Tab title="File binari">
    ### Modifica di file binari [#modifica-di-file-binari]

    **Limitazione:** non può modificare immagini, PDF o binari compilati

    **Soluzioni alternative:**

    * Fai riferimento a strumenti esterni nei comandi bash: `bash("convert input.png -resize 50% output.png")`
    * Genera script che gli strumenti esterni possano eseguire
    * Documenta i passaggi manuali per le operazioni sui file binari

    **Esempio:**

    ```bash
    # Image conversion
    bash("convert input.png -resize 50% output.png")

    # PDF to text
    bash("pdftotext document.pdf output.txt")
    ```
  </Tab>

  <Tab title="File di grandi dimensioni">
    ### Gestione dei file di grandi dimensioni [#gestione-dei-file-di-grandi-dimensioni]

    **Limitazione:** i file con più di 10.000 righe mettono sotto pressione la finestra di contesto

    **Soluzioni alternative:**

    * Usa gli intervalli di righe: `file_read("large.log", start_line=1000, max_lines=100)`
    * Cerca prima: `grep_content("ERROR", glob="large.log")` per trovare le sezioni rilevanti
    * Suddividi i file in moduli più piccoli per una gestione più semplice

    <Tip>
      Usa sempre prima `grep_content` per identificare le sezioni rilevanti, poi leggi solo quegli specifici intervalli di righe.
    </Tip>
  </Tab>

  <Tab title="Finestra di contesto">
    ### Esaurimento della finestra di contesto [#esaurimento-della-finestra-di-contesto]

    **Limitazione:** le conversazioni lunghe riempiono la finestra di contesto

    **Soluzioni alternative:**

    * Delega al sottoagente Explorer per la ricerca nella codebase
    * Usa il sottoagente Verifier per attività di validazione isolate
    * Avvia una nuova conversazione per attività distinte
    * Usa `todo_update` per tracciare l'avanzamento tra le sessioni

    **Best practice:** delega la ricerca in background ai sottoagenti per preservare il contesto principale per lo sviluppo attivo.
  </Tab>

  <Tab title="Differenze tra piattaforme">
    ### Differenze tra i comandi delle piattaforme [#differenze-tra-i-comandi-delle-piattaforme]

    **Limitazione:** i comandi bash differiscono tra Windows e Unix

    **Soluzioni alternative:**

    * Usa strumenti multipiattaforma: script npm invece di bash puro
    * Comandi condizionali: `bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi")`
    * AGENTS.md specifico per il progetto con note sulla piattaforma

    **Esempio:**

    ```bash
    # Cross-platform
    bash("npm run build")

    # Platform-specific conditional
    bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then make; else nmake; fi")
    ```
  </Tab>
</Tabs>

***

## Miglioramenti futuri [#miglioramenti-futuri]

<Note>
  Le limitazioni vengono affrontate continuamente. Controlla le note di rilascio di Verdent per aggiornamenti su capacità ampliate, limiti aumentati e nuove integrazioni.
</Note>

***

## Vedi anche [#vedi-anche]

<CardGroup cols="2">
  <Card title="Riferimento degli strumenti" icon="wrench" href="/docs/verdent-for-vscode/advanced-features/tool-reference">
    Capacità complete degli strumenti
  </Card>

  <Card title="Best practice" icon="lightbulb" href="/docs/verdent-for-vscode/best-practices/prompts">
    Ottimizza l'uso di Verdent
  </Card>
</CardGroup>
