ScriptsGuia

A aba Problemas

Enquanto você digita, o editor junta tudo o que está errado no código antes de ele rodar — um nome que não existe, um tipo que não encaixa, um import de um script que não está lá, um pacote que não instalaria — e lista na aba Problemas embaixo do código. Cada linha diz a gravidade, o que está errado, quem achou e onde; um clique leva o cursor até o ponto.

5 min de leituraAntes: Escrevendo códigoAbrir no Waiso
O que você vai aprender
  • Ler uma linha de Problemas: gravidade, mensagem, origem e posição
  • Saltar de uma linha para o código e copiar uma mensagem
  • Diferenciar Problemas (antes da execução) do bloco de erro (depois da execução)

Antes da execução, não depois

O painel embaixo do código sempre tem Saída e Logs. Problemas entra como terceira aba só enquanto há algo a apontar, com a contagem ao lado do nome, e sai de novo quando a lista fica vazia. Se chegam problemas novos enquanto você está em outra aba, aparece um ponto nela — vermelho quando um deles é erro, âmbar nos outros casos.

broken.pyPlatform SDKImportar biblioteca
1import json2import requests3 4def total(orders):5    return sum(o["amount"] for o in order)6 7def main():8    orders = [{"amount": 10}, {"amount": 5}]9    return {"total": total(orders)}
SaídaLogs0Problemas3LimparRodar Ctrl ↵
"order" não está definidopyright5:37
"json" é importado mas nunca usadoruff F4011:8
Esperadas 2 linhas em branco, há 1ruff E3027:1
Uma linha por problema: o ícone da gravidade, a mensagem e, à direita, a origem e linha:coluna.

Leia e corrija uma lista

Cole um destes num script novo. Cada um tem um nome que não existe e algo sem uso; o TypeScript ainda atribui texto a um número.

greet.py
import json
def main(name: str = "Ana"):
    return {"greeting": f"Hello, {nme}"}
Saída esperadaA aba Problemas para a variante Python
✕ undefined name 'nme'                         pyflakes 3:35
⚠ 'json' imported but unused                    pyflakes 1:1
⚠ E302 expected 2 blank lines, found 0          pycodestyle 2:1
  1. Comece pelos erros

    Um ✕ vermelho é código quebrado — vai falhar quando rodar. Alertas ⚠ em âmbar e notas de informação em azul falam de estilo ou de código que não faz nada; a execução ainda funciona.

  2. Salte até a linha

    Clique em qualquer ponto da linha: o editor rola e põe o cursor naquela linha e coluna. Passe o mouse na posição à direita para ler por extenso — Linha 3, Coluna 35.

  3. Copie a mensagem

    O botão de copiar numa linha copia a mensagem — prático para colar no Chat IA ou numa busca.

  4. Corrija e veja sumir

    As linhas se atualizam enquanto você digita. Troque nme por name, tire o import sem uso, e a aba some.

De onde vêm os problemas

A origem aparece antes da posição em cada linha. Os problemas das conferências do próprio editor vêm primeiro, depois os do servidor de linguagem.

OrigemO que aponta
installUm pacote que o editor não conseguiu instalar para um import, como nome@versão: mensagem, na linha do import
importsUm import de script do projeto que falharia — inexistente, de outra linguagem, um círculo, fundo demais — com as palavras que uma execução usaria (veja Importe os seus scripts)
pyflakes, pycodestylePython: nomes indefinidos, imports e variáveis sem uso, e regras de estilo como E302
typescriptTypeScript e JavaScript: erros de tipo, nomes desconhecidos, código sem uso
clangdC e C++: erros e alertas de compilação antes de o worker compilar

Gravidades

ÍconeGravidadeSignificado
✕ vermelhoErroCódigo quebrado que não vai rodar do jeito que está
⚠ âmbarAlertaQuestões de estilo e prováveis enganos
ⓘ azulInfoNotas que dá para ignorar
○ cinzaDicaSugestões como código sem uso

Limites

  • Problemas nunca bloqueiam Salvar nem Rodar: você decide. Uma execução com erro em Problemas muito provavelmente vai falhar.
  • As linhas do servidor de linguagem precisam dele conectado; desconectado, só ficam as linhas de imports e install.
  • As mensagens vêm das ferramentas de cada linguagem e ficam em inglês.