---
title: "Limitações e restrições"
description: "Entenda as limitações e restrições do Verdent"
---

### O que você vai aprender

Limitações conhecidas do Verdent for VS Code, incluindo restrições de formato de arquivo, restrições de ferramentas e considerações específicas de plataforma.

---

## Limitações conhecidas

<Tabs>
  <Tab title="Formatos de arquivo">
    ### Arquivos binários não suportados

    As ferramentas de arquivo do Verdent funcionam apenas com formatos baseados em texto. Os seguintes não podem ser editados:

    | Tipo de formato     | Exemplos                       |
    | ------------------- | ------------------------------ |
    | **Imagens**         | PNG, JPG, GIF, SVG (como binário) |
    | **Vídeos**          | MP4, AVI, MOV                  |
    | **Código compilado** | EXE, DLL, SO                  |
    | **Arquivos compactados** | ZIP, TAR, GZ              |
    | **Documentos Office** | DOCX, XLSX, PPTX             |
    | **PDFs**            | Arquivos PDF                   |

    **Alternativa:** arquivos binários podem ser referenciados no código ou discutidos conceitualmente, mas as modificações exigem ferramentas externas.
  </Tab>
  <Tab title="Restrições de ferramentas">
    ### Limites de linha do file_read

    **Limitação:**

    - Arquivos grandes (\>10.000 linhas) devem ser lidos em seções
    - Ler arquivos grandes inteiros pode esgotar o contexto

    **Solução:** use intervalos de linha: `file_read("file.js", start_line=100, max_lines=50)`

    ---

    ### Tempos limite de comandos bash

    **Limitação:**

    - Tempo limite máximo: 120 segundos (2 minutos)
    - Operações de longa duração serão encerradas automaticamente

    **Solução:** divida as operações em comandos menores que sejam concluídos em até 2 minutos

    ---

    ### Desempenho de busca

    **Limitação:**

    - Padrões glob amplos (`**/*`) podem retornar milhares de resultados
    - Buscas com regex são mais lentas que strings literais

    **Solução:** use padrões específicos e exclua diretórios desnecessários
  </Tab>
  <Tab title="Janela de contexto">
    ### Esgotamento de contexto

    **Problema:** durante sessões longas ou operações complexas, a janela de contexto da IA pode se encher, limitando a capacidade de referenciar conversas anteriores.

    **Estratégias de mitigação:**

    - Use subagentes para pesquisa exploratória (os resultados consomem apenas o contexto principal)
    - Leia arquivos de forma estratégica com intervalos de linha
    - Use `grep_file` antes de ler o conteúdo completo
    - Delegue tarefas em segundo plano ao subagente Explorer

    <Tip>
      Para arquivos com mais de 500 linhas, sempre use intervalos de linha para preservar o espaço de contexto.
    </Tip>
  </Tab>
</Tabs>

---

## O que o Verdent não consegue fazer

<Tabs>
  <Tab title="Administração de sistema">
    ### Sem administração de sistema direta

    **Não consegue:**

    - Modificar configurações do VS Code de forma programática
    - Instalar extensões do VS Code automaticamente
    - Alterar configurações em nível de sistema
    - Reiniciar o VS Code ou serviços do sistema

    **Escopo:** o Verdent opera dentro do espaço de trabalho do VS Code, não no nível de administração do sistema.
  </Tab>
  <Tab title="Execução autônoma">
    ### Sem execução autônoma

    **Controles do Manual Accept Mode:**

    - Os usuários devem aprovar as execuções de ferramentas no Manual Accept Mode
    - Sem operações automatizadas em segundo plano sem aprovação
    - Não consegue executar comandos enquanto o VS Code está fechado

    **Objetivo:** segurança e controle do usuário sobre todas as operações.

    <Warning>
      O Verdent não consegue executar comandos em segundo plano sem a aprovação do usuário. Todas as operações exigem consentimento explícito no Manual Accept Mode.
    </Warning>
  </Tab>
  <Tab title="Monitoramento em tempo real">
    ### Sem monitoramento em tempo real

    **Não consegue:**

    - Monitorar processos em execução continuamente
    - Rastrear alterações no sistema de arquivos em tempo real
    - Alertar sobre eventos do sistema
    - Transmitir arquivos de log continuamente

    **Alternativa:** use integrações do MCP para ferramentas de monitoramento externas.
  </Tab>
  <Tab title="Operações de rede">
    ### Sem operações de rede sem MCP

    **Limitações integradas:**

    - Não consegue fazer requisições HTTP arbitrárias (use `web_fetch` para páginas específicas)
    - Sem conexões diretas com banco de dados (requer MCP)
    - Não consegue acessar serviços de nuvem diretamente (requer MCP)
    - Sem integrações do API em tempo real (requer MCP)

    **Solução:** configure servidores MCP para acesso a sistemas externos.
  </Tab>
</Tabs>

---

## Restrições específicas de plataforma

### Diferenças entre sistemas operacionais

**Comportamento da ferramenta bash:**

| Plataforma      | Shell      | Observações                                               |
| --------------- | ---------- | --------------------------------------------------------- |
| **macOS/Linux** | bash/zsh   | Funcionalidade completa do bash                           |
| **Windows**     | PowerShell | Alguns comandos bash indisponíveis, use equivalentes do PowerShell |
| **WSL**         | bash       | Comandos Linux funcionam no ambiente WSL                  |

**Tratamento de caminhos:**

- O Windows usa barras invertidas (`\`), o Unix usa barras normais (`/`)
- Os caminhos de arquivo podem precisar de ajustes em projetos multiplataforma

---

### Requisitos de versão do VS Code

**Requisitos mínimos:**

- Compatibilidade de versão do VS Code (verifique o marketplace de extensões para o mínimo atual)
- Espaço em disco suficiente para o cache de contexto

<Info>
  Os requisitos de versão específicos são mantidos na listagem do marketplace do VS Code. Verifique os detalhes da extensão para a compatibilidade atual.
</Info>

---

### Restrições do espaço de trabalho

**Foco em um único espaço de trabalho:**

- O Verdent opera dentro de um espaço de trabalho do VS Code por vez
- Não consegue modificar arquivos simultaneamente em várias janelas abertas do VS Code
- Espaços de trabalho multirraiz são suportados, mas o contexto fica limitado ao espaço de trabalho ativo atual

---

## Soluções alternativas para limitações comuns

<Tabs>
  <Tab title="Arquivos binários">
    ### Modificação de arquivos binários

    **Limitação:** não consegue editar imagens, PDFs ou binários compilados

    **Soluções alternativas:**

    - Referencie ferramentas externas em comandos bash: `bash("convert input.png -resize 50% output.png")`
    - Gere scripts que ferramentas externas possam executar
    - Documente etapas manuais para operações com arquivos binários

    **Exemplo:**

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

    # PDF to text
    bash("pdftotext document.pdf output.txt")
    ```
  </Tab>
  <Tab title="Arquivos grandes">
    ### Tratamento de arquivos grandes

    **Limitação:** arquivos com mais de 10.000 linhas sobrecarregam a janela de contexto

    **Soluções alternativas:**

    - Use intervalos de linha: `file_read("large.log", start_line=1000, max_lines=100)`
    - Faça uma busca primeiro: `grep_content("ERROR", glob="large.log")` para encontrar as seções relevantes
    - Divida os arquivos em módulos menores para facilitar o gerenciamento

    <Tip>
      Sempre use `grep_content` primeiro para identificar as seções relevantes e, em seguida, leia apenas esses intervalos de linha específicos.
    </Tip>
  </Tab>
  <Tab title="Janela de contexto">
    ### Esgotamento da janela de contexto

    **Limitação:** conversas longas enchem a janela de contexto

    **Soluções alternativas:**

    - Delegue ao subagente Explorer para pesquisa na base de código
    - Use o subagente Verifier para tarefas de validação isoladas
    - Inicie uma nova conversa para tarefas distintas
    - Use `todo_update` para acompanhar o progresso entre sessões

    **Prática recomendada:** delegue pesquisas em segundo plano a subagentes para preservar o contexto principal para o desenvolvimento ativo.
  </Tab>
  <Tab title="Diferenças de plataforma">
    ### Diferenças de comandos entre plataformas

    **Limitação:** os comandos bash diferem entre Windows e Unix

    **Soluções alternativas:**

    - Use ferramentas multiplataforma: scripts npm em vez de bash puro
    - Comandos condicionais: `bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi")`
    - AGENTS.md específico do projeto com observações de plataforma

    **Exemplo:**

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

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

---

## Melhorias futuras

<Note>
  As limitações estão sendo continuamente abordadas. Verifique as notas de versão do Verdent para atualizações sobre capacidades expandidas, limites aumentados e novas integrações.
</Note>

---

## Veja também

<CardGroup cols={2}>
  <Card title="Referência de ferramentas" icon="wrench" href="/docs/verdent-for-vscode/advanced-features/tool-reference">
    Capacidades completas das ferramentas
  </Card>
  <Card title="Práticas recomendadas" icon="lightbulb" href="/docs/verdent-for-vscode/best-practices/prompts">
    Otimize o uso do Verdent
  </Card>
</CardGroup>
