Integração com o Shell do Terminal
A Integração com o Shell do Terminal é um recurso chave que permite ao AI Cockpit Reasoning executar comandos em seu terminal e processar inteligentemente sua saída. Essa comunicação bidirecional entre a IA e seu ambiente de desenvolvimento desbloqueia poderosas capacidades de automação.
O que é Integração com o Shell?
A integração com o shell é ativada automaticamente no AI Cockpit Reasoning e se conecta diretamente ao ciclo de vida de execução de comandos do seu terminal, sem exigir nenhuma configuração de sua parte. Este recurso integrado permite que o AI Cockpit Reasoning:
- Execute comandos em seu nome através da ferramenta
execute_command
- Leia a saída do comando em tempo real sem copiar e colar manualmente
- Detecte e corrija erros automaticamente em aplicativos em execução
- Observe os códigos de saída do comando para determinar o sucesso ou a falha
- Rastreie as alterações do diretório de trabalho enquanto você navega em seu projeto
- Reaja inteligentemente à saída do terminal sem intervenção do usuário
Quando o AI Cockpit Reasoning precisa realizar tarefas como instalar dependências, iniciar um servidor de desenvolvimento ou analisar erros de compilação, a integração com o shell funciona nos bastidores para tornar essas interações suaves e eficazes.
Começando com a Integração com o Shell
A integração com o shell é integrada ao AI Cockpit Reasoning e funciona automaticamente na maioria dos casos. Se você vir mensagens de "Integração com o Shell Indisponível" ou tiver problemas com a execução de comandos, tente estas soluções:
- Atualize o VSCode/Cursor para a versão mais recente (VSCode 1.93+ necessário)
- Garanta que um shell compatível esteja selecionado: Paleta de Comandos (
Ctrl+Shift+P
ouCmd+Shift+P
) → "Terminal: Selecionar Perfil Padrão" → Escolha bash, zsh, PowerShell ou fish - Usuários do Windows PowerShell: Execute
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
e reinicie o VSCode - Usuários do WSL: Adicione
. "$(code --locate-shell-integration-path bash)"
ao seu~/.bashrc
Configurações de Integração do Terminal
O AI Cockpit Reasoning fornece várias configurações para ajustar a integração com o shell. Acesse-as na barra lateral do AI Cockpit Reasoning em Configurações → Terminal.
Configurações Básicas
Limite de Saída do Terminal

Controla o número máximo de linhas capturadas da saída do terminal. Quando excedido, mantém 20% do início e 80% do final com uma mensagem de truncamento no meio. Isso evita o uso excessivo de tokens, mantendo o contexto. Padrão: 500 linhas.
Limite de Caracteres do Terminal

Número máximo de caracteres a serem incluídos na saída do terminal ao executar comandos. Este limite tem precedência sobre o limite de linhas para evitar problemas de memória com linhas extremamente longas. Quando excedido, a saída será truncada. Padrão: 50000 caracteres.
Comprimir Saída da Barra de Progresso

Quando ativado, processa a saída do terminal com retornos de carro (\r) para simular como um terminal real exibiria o conteúdo. Isso remove os estados intermediários da barra de progresso, retendo apenas o estado final, o que economiza espaço de contexto para informações mais relevantes.
Configurações Avançadas
É necessário reiniciar o terminal para estas configurações
As alterações nas configurações avançadas do terminal só entram em vigor após reiniciar seus terminais. Para reiniciar um terminal:
- Clique no ícone da lixeira no painel do terminal para fechar o terminal atual
- Abra um novo terminal com Terminal → Novo Terminal ou Ctrl+` (crase)
Sempre reinicie todos os terminais abertos após alterar qualquer uma dessas configurações.
Herdar Variáveis de Ambiente

Quando ativado, o terminal herdará as variáveis de ambiente do processo pai do VSCode, como as configurações de integração do shell definidas pelo perfil do usuário. Isso alterna diretamente a configuração global do VSCode terminal.integrated.inheritEnv
.
Desativar Integração com o Shell do Terminal

Ative isso se os comandos do terminal não estiverem funcionando corretamente ou se você vir erros de 'Integração com o Shell Indisponível'. Isso usa um método mais simples para executar comandos, ignorando alguns recursos avançados do terminal.
Tempo Limite de Integração com o Shell do Terminal

Tempo máximo de espera para a inicialização da integração com o shell antes de executar comandos. Aumente este valor se você tiver erros de "Integração com o Shell Indisponível". Padrão: 15 segundos.
Atraso do Comando do Terminal

Adiciona uma pequena pausa após a execução de comandos para ajudar o AI Cockpit Reasoning a capturar toda a saída corretamente. Esta configuração pode impactar significativamente a confiabilidade da integração com o shell devido à implementação da integração do terminal pelo VSCode em diferentes sistemas operacionais e configurações de shell:
- Padrão: 0ms
- Valores Comuns:
- 0ms: Funciona melhor para alguns usuários com versões mais recentes do VSCode
- 50ms: Padrão histórico, ainda eficaz para muitos usuários
- 150ms: Recomendado para usuários do PowerShell
- Nota: Valores diferentes podem funcionar melhor dependendo do seu:
- Versão do VSCode
- Personalizações do shell (oh-my-zsh, powerlevel10k, etc.)
- Sistema operacional e ambiente
Solução Alternativa para Contador do PowerShell

Ajuda o PowerShell a executar o mesmo comando várias vezes seguidas. Ative isso se você notar que o AI Cockpit Reasoning não consegue executar comandos idênticos consecutivamente no PowerShell.
Limpar Marca de Fim de Linha do ZSH

Impede que o ZSH adicione caracteres especiais no final das linhas de saída que podem confundir o AI Cockpit Reasoning ao ler os resultados do terminal.
Integração com o Oh My Zsh

Faz com que o AI Cockpit Reasoning funcione melhor com o popular framework de personalização de shell Oh My Zsh. Ative isso se você usa o Oh My Zsh и tiver problemas com o terminal.
Integração com o Powerlevel10k

Melhora a compatibilidade se você usa o tema Powerlevel10k para ZSH. Ative isso se o seu prompt de terminal sofisticado causar problemas com o AI Cockpit Reasoning.
Manipulação de ZDOTDIR

Ajuda o AI Cockpit Reasoning a trabalhar com configurações personalizadas do ZSH sem interferir nas suas configurações e personalizações pessoais do shell.
Solução de Problemas de Integração com o Shell
Política de Execução do PowerShell (Windows)
O PowerShell restringe a execução de scripts por padrão. Para configurar:
- Abra o PowerShell como Administrador
- Verifique a política atual:
Get-ExecutionPolicy
- Defina a política apropriada:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Políticas comuns:
Restricted
: Nenhum script permitido (padrão)RemoteSigned
: Scripts locais podem ser executados; scripts baixados precisam de assinaturaUnrestricted
: Todos os scripts são executados com avisosAllSigned
: Todos os scripts devem ser assinados
Instalação Manual da Integração com o Shell
Se a integração automática falhar, adicione a linha apropriada à configuração do seu shell:
Bash (~/.bashrc
):
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"
Zsh (~/.zshrc
):
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"
PowerShell ($Profile
):
if ($env:TERM_PROGRAM -eq "vscode") { . "$(code --locate-shell-integration-path pwsh)" }
Fish (~/.config/fish/config.fish
):
string match -q "$TERM_PROGRAM" "vscode"; and . (code --locate-shell-integration-path fish)
Problemas de Personalização do Terminal
Se você usa ferramentas de personalização de terminal:
Powerlevel10k:
# Adicione antes de carregar o powerlevel10k no ~/.zshrc
typeset -g POWERLEVEL9K_TERM_SHELL_INTEGRATION=true
Alternativa: Ative a configuração de Integração com o Powerlevel10k no AI Cockpit Reasoning.
Verificando o Status da Integração com o Shell
Confirme se a integração com o shell está ativa com estes comandos:
Bash:
set | grep -i '[16]33;'
echo "$PROMPT_COMMAND" | grep vsc
trap -p DEBUG | grep vsc
Zsh:
functions | grep -i vsc
typeset -p precmd_functions preexec_functions
PowerShell:
Get-Command -Name "*VSC*" -CommandType Function
Get-Content Function:\Prompt | Select-String "VSCode"
Fish:
functions | grep -i vsc
functions fish_prompt | grep -i vsc
Indicadores visuais de integração ativa com o shell:
- Indicador de integração com o shell na barra de título do terminal
- Destaque de detecção de comando
- Atualizações do diretório de trabalho no título do terminal
- Relatório de duração do comando e código de saída
Métodos de Integração de Terminal WSL
Ao usar o Subsistema Windows para Linux (WSL), existem duas maneiras distintas de usar o VSCode com o WSL, cada uma com implicações diferentes para a integração do shell:
Método 1: VSCode Windows com Terminal WSL
Nesta configuração:
- O VSCode é executado nativamente no Windows
- Você usa o recurso de integração de terminal WSL no VSCode
- Os comandos do shell são executados através da ponte WSL
- Pode haver latência adicional devido à comunicação Windows-WSL
- Os marcadores de integração do shell podem ser afetados pela fronteira WSL-Windows: você deve garantir que
source "$(code --locate-shell-integration-path <shell>)"
seja carregado para o seu shell no ambiente WSL, pois pode não ser carregado automaticamente; veja acima.
Método 2: VSCode Executando Dentro do WSL
Nesta configuração:
- Você inicia o VSCode diretamente de dentro do WSL usando
code .
- O servidor VSCode é executado nativamente no ambiente Linux
- Acesso direto ao sistema de arquivos e ferramentas do Linux
- Melhor desempenho e confiabilidade para a integração do shell
- A integração do shell é carregada automaticamente, pois o VSCode é executado nativamente no ambiente Linux
- Abordagem recomendada para o desenvolvimento com WSL
Para uma integração ideal do shell com o WSL, recomendamos:
- Abra sua distribuição WSL
- Navegue até o diretório do seu projeto
- Inicie o VSCode usando
code .
- Use o terminal integrado no VSCode
Problemas Conhecidos e Soluções Alternativas
Integração do Shell do VS Code para Fish + Cygwin no Windows
Para os colegas usuários do Windows que executam o terminal Fish em um ambiente Cygwin, veja como funciona a integração do shell do VS Code:
-
(Opcional) Localize o Script de Integração do Shell: Abra seu terminal Fish dentro do VS Code e execute o seguinte comando:
code --locate-shell-integration-path fish
Isso exibirá o caminho para o script
shellIntegration.fish
. Anote este caminho. -
Atualize sua Configuração do Fish: Edite seu arquivo
config.fish
(geralmente localizado em~/.config/fish/config.fish
no diretório inicial do Cygwin). Adicione a seguinte linha, de preferência dentro de um blocoif status is-interactive
ou no final do arquivo:# Exemplo de estrutura do config.fish
if status is-interactive
# Suas outras configurações de shell interativo...
# localizar script de integração automaticamente:
string match -q "$TERM_PROGRAM" "vscode"; and . (code --locate-shell-integration-path fish)
# Ou se o acima falhar para você:
# Carregue o script de integração do shell do VS Code
# IMPORTANTE: Substitua o caminho de exemplo abaixo pelo caminho real que você encontrou na Etapa 1.
# Certifique-se de que o caminho esteja em um formato que o Cygwin possa entender (por exemplo, usando /cygdrive/c/...).
# source "/cygdrive/c/Users/SeuUsuario/.vscode/extensions/..../shellIntegration.fish"
endLembre-se de substituir o caminho de exemplo pelo caminho real da Etapa 1, formatado corretamente para o Cygwin.
-
Configure o Perfil do Terminal do VS Code: Abra seu arquivo
settings.json
do VS Code (Ctrl+Shift+P -> "Preferences: Open User Settings (JSON)"). Atualize ou adicione o perfil do Fish emterminal.integrated.profiles.windows
assim:{
// ... outras configurações ...
"terminal.integrated.profiles.windows": {
// ... outros perfis ...
// Recomendado: Use bash.exe para iniciar o fish como um shell de login
"fish": {
"path": "C:\\cygwin64\\bin\\bash.exe", // Ou o caminho do seu bash do Cygwin
"args": [
"--login", // Garante que os scripts de login sejam executados (importante para o ambiente Cygwin)
"-i", // Garante que o bash seja executado interativamente
"-c",
"exec fish" // Substitui o processo bash pelo fish
],
"icon": "terminal-bash" // Opcional: Use um ícone reconhecível
}
// Alternativa (se o acima falhar): Inicie o fish diretamente
"fish-direct": {
"path": "C:\\cygwin64\\bin\\fish.exe", // Certifique-se de que isso esteja no seu PATH do Windows ou forneça o caminho completo
// Use 'options' aqui em vez de 'args'; caso contrário, você pode encontrar o erro "terminal process terminated exit code 1".
"options": ["-l", "-c"], // Exemplo: flags de login e interativo.
"icon": "terminal-fish" // Opcional: Use um ícone do fish
}
},
// Opcional: Defina o fish como seu padrão, se desejar
// "terminal.integrated.defaultProfile.windows": "fish", // ou "fish-direct" dependendo do que você usa.
// ... outras configurações ...
}Nota: Usar
bash.exe --login -i -c "exec fish"
costuma ser mais confiável em ambientes Cygwin para garantir a configuração correta do ambiente antes dofish
iniciar. No entanto, se essa abordagem не funcionar, tente a configuração do perfilfish-direct
. -
Reinicie o VS Code: Feche e reabra completamente o Visual Studio Code para aplicar as alterações.
-
Verifique: Abra um novo terminal Fish no VS Code. Os recursos de integração do shell (como decorações de comando, melhor navegação no histórico de comandos, etc.) devem estar ativos agora. Você pode testar a funcionalidade básica executando comandos simples como
echo "Olá do Fish integrado!"
.
Esta configuração funciona de forma confiável em sistemas Windows usando Cygwin, Fish e o prompt Starship, e deve ajudar os usuários com configurações semelhantes.
Falhas na Integração do Shell Após o VSCode 1.98
Problema: Após as atualizações do VSCode para versões posteriores à 1.98, a integração do shell pode falhar com o erro "Sequência de escape de início de saída do VSCE (]633;C ou ]133;C) não recebida".
Soluções:
-
Definir Atraso do Comando do Terminal:
- Defina o Atraso do Comando do Terminal para 50ms nas configurações do AI Cockpit Reasoning
- Reinicie todos os terminais após alterar esta configuração
- Isso corresponde ao comportamento padrão mais antigo e pode resolver o problema, no entanto, alguns usuários relataram que um valor de 0ms funciona melhor. Esta é uma solução alternativa para problemas upstream do VSCode.
-
Reverter a Versão do VSCode:
- Baixe o VSCode v1.98 em Atualizações do VSCode
- Substitua sua instalação atual do VSCode
- Não é necessário fazer backup das configurações do AI Cockpit
-
Solução Alternativa Específica para WSL:
- Se estiver usando o WSL, certifique-se de iniciar o VSCode de dentro do WSL usando
code .
- Se estiver usando o WSL, certifique-se de iniciar o VSCode de dentro do WSL usando
-
Usuários de ZSH:
- Tente habilitar algumas ou todas as soluções alternativas relacionadas ao ZSH nas configurações do AI Cockpit Reasoning
- Essas configurações podem ajudar independentemente do seu sistema operacional
Problemas Conhecidos e Soluções Alternativas
Comportamento do Ctrl+C
Problema: Se um texto já estiver digitado no terminal quando o AI Cockpit Reasoning tentar executar um comando, o AI Cockpit Reasoning pressionará Ctrl+C primeiro para limpar a linha, o que pode interromper processos em execução.
Solução alternativa: Certifique-se de que o prompt do terminal esteja vazio (sem comandos parciais digitados) antes de pedir ao AI Cockpit Reasoning para executar comandos no terminal.
Problemas com Comandos de Múltiplas Linhas
Problema: Comandos que se estendem por várias linhas podem confundir o AI Cockpit Reasoning e podem mostrar a saída de comandos anteriores misturada com a saída atual.
Solução alternativa: Em vez de comandos de várias linhas, use o encadeamento de comandos com &&
para manter tudo em uma única linha (por exemplo, echo a && echo b
em vez de digitar cada comando em uma linha separada).
Problemas Específicos do PowerShell
- Conclusão Prematura: O PowerShell às vezes informa ao AI Cockpit Reasoning que um comando foi concluído antes que toda a saída tenha sido mostrada.
- Comandos Repetidos: O PowerShell pode se recusar a executar o mesmo comando duas vezes seguidas.
Solução alternativa: Habilite a configuração "Solução alternativa para contador do PowerShell" e defina um atraso de comando do terminal de 150ms nas configurações para dar mais tempo para os comandos serem concluídos.
Saída Incompleta do Terminal
Problema: Às vezes, o VS Code не mostra ou captura toda a saída de um comando.
Solução alternativa: Se você notar a falta de saída, tente fechar e reabrir a guia do terminal e, em seguida, execute o comando novamente. Isso atualiza a conexão do terminal.
Recursos para Solução de Problemas
Verificando os Logs de Depuração
Quando ocorrem problemas de integração com o shell, verifique os logs de depuração:
- Abra Ajuda → Alternar Ferramentas do Desenvolvedor → Console
- Defina "Mostrar Todos os Níveis" para ver todas as mensagens de log
- Procure por mensagens contendo
[Terminal Process]
- Verifique o conteúdo de
preOutput
nas mensagens de erro:preOutput
vazio (''
) significa que o VSCode não enviou dados- Isso indica um possível problema de integração do shell do VSCode ou um bug upstream que está fora do nosso controle
- A ausência de marcadores de integração do shell pode exigir o ajuste das configurações para contornar possíveis bugs upstream ou problemas de configuração da estação de trabalho local relacionados à inicialização do shell e ao carregamento de ganchos especiais de integração do shell pelo VSCode
Usando a Extensão de Teste de Integração do Terminal do VSCode
A Extensão de Teste de Integração do Terminal do VSCode ajuda a diagnosticar problemas de integração do shell testando diferentes combinações de configurações:
-
Quando os Comandos Travam:
- Se você vir avisos de "comando já em execução", clique em "Redefinir Estatísticas" para redefinir o estado do terminal
- Esses avisos indicam que a integração do shell не está funcionando
- Tente diferentes combinações de configurações até encontrar uma que funcione
- Se realmente travar, reinicie a extensão fechando a janela e pressionando F5
-
Testando Configurações:
- Tente sistematicamente diferentes combinações de:
- Atraso do Comando do Terminal
- Configurações de Integração do Shell
- Documente quais combinações têm sucesso ou falham
- Isso ajuda a identificar padrões em problemas de integração do shell
- Tente sistematicamente diferentes combinações de:
-
Relatando Problemas:
- Assim que encontrar uma configuração problemática
- Documente a combinação exata de configurações
- Anote seu ambiente (SO, versão do VSCode, shell e qualquer personalização de prompt do shell)
- Abra um problema com esses detalhes para ajudar a melhorar a integração do shell