Solução de problemas
Python não foi encontrado
Isso é emitido pela extensão de marketplace novalang.novalang de Martin
Maboya, não pela toolchain deste repositório. A NovaLang oficial executa
nova lsp e não depende de Python.
- Desabilite/desinstale a extensão conflitante.
- Instale o VSIX
novalang-project.novalang-toolchain. - Confirme
nova lsp --help. - Recarregue a janela do VS Code.
Instalar Python apenas mascara a causa e inicia um servidor de outro projeto.
nova não é reconhecido
Feche e reabra terminal e VS Code. No PowerShell:
Test-Path "$env:USERPROFILE\.cargo\bin\nova.exe"
& "$env:USERPROFILE\.cargo\bin\nova.exe" --version
Get-Command nova -All
Se o executável direto funcionar, corrija o Path ou configure
novalang.server.path com o caminho absoluto.
Acesso negado. (os error 5) em nova fmt . ou nova lint .
Versões antigas tratavam . como arquivo e tentavam abrir o diretório. A CLI
atual expande diretórios recursivamente. Atualize/reinstale e confirme qual
executável está sendo usado:
Get-Command nova -All
nova --version
cargo install --path crates/novacli --locked --force
nova fmt . --check
nova lint .
Se persistir, tente um arquivo específico. Um erro só nesse arquivo indica permissão, bloqueio por antivírus/sincronização ou atributo do sistema:
nova fmt .\main.nova --check
Get-Item .\main.nova | Format-List FullName,Attributes
Não execute como administrador antes de identificar o caminho bloqueado.
thread 'main' has overflowed its stack
Atualize para a versão atual, que contém correções de regressão no pipeline. Depois elimine cache antigo e compare os backends:
nova clean .
nova run . --no-cache
nova run . --backend interp
Se apenas um backend falhar, preserve o menor programa que reproduz o erro,
rode com --no-cache e abra um issue informando versão, sistema, comando,
fonte e saída. Não aumente RUST_MIN_STACK como correção permanente: isso pode
apenas esconder recursão infinita.
O LSP fecha ou não aparece em Problems
- Confirme a extensão correta e o modo de linguagem NovaLang.
- Execute NovaLang: Show Language Server Command.
- Copie o comando mostrado e rode
nova lsp --helpno terminal. - Configure caminho absoluto para
nova.exe. - Execute NovaLang: Restart Language Server e Reload Window.
- Veja Output → NovaLang.
Mensagens como Pending response rejected since connection got disposed
normalmente são consequência de o processo servidor ter encerrado; procure a
primeira mensagem anterior no log.
Se aparecer this.outputChannel.error is not a function ou
this.traceOutputChannel.onDidChangeLogLevel is not a function, há
incompatibilidade entre a versão do VS Code e a biblioteca cliente empacotada,
ou um VSIX antigo ainda está ativo. Instale o VSIX corrigido mais recente,
confirme VS Code 1.85 ou superior, desinstale versões duplicadas e recarregue a
janela.
O build não substitui target/debug/nova.exe
O processo LSP pode manter o arquivo aberto no Windows. Reinicie/desabilite a extensão ou use outro diretório:
$env:CARGO_TARGET_DIR = Join-Path $env:TEMP "novalang-build"
cargo build -p novacli
Para instalar, use cargo install, que grava em .cargo\bin.
Cache suspeito
nova run . --no-cache
nova build . --no-cache -o target/app.novabc
nova clean .
nova clean . --deps também remove dependências instaladas e exige novo
nova install.
Relatório útil
Inclua:
nova version;- sistema operacional e versão do VS Code;
- saída de
nova <comando> --help; - comando exato e menor fonte que reproduz;
- primeiro erro do log, não apenas as mensagens de reinício;
- indicação de backend VM ou interpretador.