> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Recursos da extensão do VS Code

> Faça deploy, gerencie e monitore aplicações, bancos de dados e workspaces da Square Cloud pela barra lateral do VS Code.

## Deploy

### Enviar uma nova aplicação

Execute `Square Cloud: Enviar nova aplicação` pela paleta de comandos, pelo ícone de upload na barra de título da barra lateral ou por **Envie sua primeira aplicação** em uma conta vazia.

<Steps>
  <Step title="Escolha uma pasta">
    As pastas do seu workspace aberto aparecem primeiro; **Procurar...** escolhe qualquer outra pasta.
  </Step>

  <Step title="Confira a configuração">
    A pasta precisa ter um arquivo [`squarecloud.app` ou `squarecloud.config`](/pt-br/getting-started/config-file). Sem ele, nada é enviado e o erro traz um link para o guia do arquivo de configuração.
  </Step>

  <Step title="Confirme">
    Uma caixa de diálogo pergunta antes de qualquer coisa sair da sua máquina.
  </Step>

  <Step title="Compacte e envie">
    A pasta é compactada com as suas regras de ignore aplicadas, com uma contagem de arquivos ao vivo, e você pode cancelar até o envio começar. Os zips são limitados a 100 MB.
  </Step>
</Steps>

A notificação mostra o runtime detectado e oferece **Abrir painel** e **Copiar ID**. Se o arquivo de configuração declara um `SUBDOMAIN`, a aplicação responde em `https://<subdomain>.squareweb.app` assim que inicia.

### Fazer commit de alterações em uma aplicação existente

Abra o menu de ações de uma aplicação (clique com o botão direito no cartão dela ou use o botão ⋯) e escolha **Commit**. Escolha se quer reiniciar a aplicação depois e, em seguida, selecione um ou mais arquivos, ou uma pasta. Uma pasta é compactada com as mesmas regras de ignore e vai para dentro de uma pasta com o mesmo nome na aplicação.

<Tip>O *upload* cria uma nova aplicação, com um novo ID. O *commit* envia arquivos para uma aplicação que já existe e mantém o ID, o domínio e a configuração dela.</Tip>

### Regras de ignore

A extensão e a [CLI da Square Cloud](/pt-br/cli-reference/installation) leem o mesmo arquivo [`squarecloud.ignore`](/pt-br/getting-started/squarecloud-ignore), com a mesma sintaxe do `.gitignore` e os mesmos padrões: `node_modules`, `.git`, `.github`, `.vscode` e os lockfiles sempre ficam de fora, a menos que uma regra `!` os inclua de volta. Seu `.gitignore` não é lido, já que ele costuma listar arquivos que a aplicação precisa para rodar, como o `.env`.

## Aplicações

A barra lateral abre com a sua conta: nome, plano e um medidor de RAM com a memória do plano. Abaixo, cada aplicação é um cartão com uma etiqueta de status ao vivo (**Online**, **Offline**, **Verificando** enquanto o status carrega, ou âmbar enquanto uma ação que você clicou está a caminho), o uso de RAM e, enquanto ela roda, o de CPU. Clique em um cartão para ver o ID, a memória, o runtime, o cluster, o domínio e quando a aplicação foi iniciada.

* Ao passar o mouse sobre um cartão, aparecem os botões de iniciar ou parar, reiniciar e logs. A estrela ao lado do nome marca a aplicação como favorita e a mantém no topo.
* **Clique com o botão direito em um cartão, ou use o botão ⋯ dele, para abrir o menu completo de ações**, agrupado por finalidade, com as ações destrutivas por último.
* Com mais de 10 aplicações, a lista mostra 10 por vez com setas de anterior e próxima, e um filtro por nome, domínio ou ID encontra qualquer uma delas.
* Ações que não funcionariam não são oferecidas: as ferramentas da edge só aparecem para aplicações com domínio, e as métricas só para aplicações com 512 MB ou mais.

| Ação | O que faz |
| - | - |
| **Iniciar**, **Parar**, **Reiniciar** | Envia a ação e acompanha o status até ele mudar. Iniciar uma aplicação em execução, ou parar uma que já está parada, aparece como informação, não como erro. |
| **Exibir logs** | Busca os logs mais recentes em um canal de saída próprio, com as cores preservadas. |
| **Alternar stream em tempo real** | Abre um feed ao vivo da aplicação em um canal de saída; execute de novo para parar. Quando o servidor fecha a conexão, a extensão se reconecta sozinha. |
| **Exibir métricas de 24h** | Imprime as últimas 24 horas de CPU, RAM e rede em amostras de 5 minutos, além da amostra mais recente e das médias. Exige 512 MB ou mais. |
| **Baixar snapshot** | Gera um snapshot novo e salva o zip na pasta que você escolher. Uma aplicação grande pode levar alguns minutos para gerar um: a extensão avisa, e basta executar o comando de novo depois para salvá-lo. |
| **Restaurar snapshot** | Lista os snapshots armazenados, dos mais recentes para os mais antigos e com o tamanho de cada um, e restaura o que você escolher após uma confirmação. |
| **Variáveis de ambiente** | Lista, adiciona, edita e exclui variáveis, ou remove todas após uma confirmação. As alterações valem na hora. |
| **Vincular / Desvincular repositório do GitHub** | Vincula um repositório e uma branch pelo [GitHub App da Square Cloud](/pt-br/api-reference/endpoint/apps/deploy/github-app-link), para que cada push faça o deploy da aplicação. |
| **Logs / Erros / Desempenho da edge** | Para aplicações com domínio: escolha um período (1 hora, 6 horas, 24 horas ou 7 dias) e o relatório abre em um canal de saída. |
| **Limpar cache da edge** | Limpa todo o cache da edge da aplicação após uma confirmação. |
| **Excluir** | Pede que você digite o nome da aplicação, cria um snapshot de recuperação e depois exclui. Se esse snapshot ainda estiver sendo gerado, nada é excluído e a extensão pede que você tente de novo em alguns minutos. |

## Bancos de dados

A seção **Bancos de dados** lista seus bancos de dados gerenciados com o tipo e a memória de cada um. Clique com o botão direito em um deles, ou use o botão ⋯, para **Iniciar**, **Parar**, **Baixar certificado TLS** e **Excluir** (digite o nome para confirmar). O certificado é salvo como um arquivo `.pem` que só você pode ler.

**Criar banco de dados** fica no menu `...` da barra lateral, na paleta de comandos e na seção Bancos de dados vazia. Informe um nome, um tipo (`mongo`, `mysql`, `redis` ou `postgres`), a memória em MB e uma versão. Assim que o banco de dados é criado, a URL de conexão dele, com a senha incluída, é copiada para a sua área de transferência, com um botão **Copiar senha**.

<Warning>A Square Cloud mostra as credenciais de um banco de dados novo uma única vez. Guarde-as em um lugar seguro.</Warning>

## Workspaces

A seção **Workspaces** mostra todos os workspaces que são seus ou dos quais você participa, com a quantidade de membros e de aplicações de cada um. Clique com o botão direito em um deles, ou use o botão ⋯, para **Sair do workspace** ou **Excluir workspace** (só o dono pode excluir). **Criar workspace** fica no menu `...` da barra lateral, na paleta de comandos e na seção Workspaces vazia.

Para entrar no workspace de outra pessoa, use **Copiar meu código de convite** no menu `...` da barra lateral. Ele copia o seu código de convite pessoal: envie-o para o dono do workspace, que o usa para adicionar você.

## Status e problemas

* A saúde da plataforma fica no rodapé da barra lateral. Quando a Square Cloud relata problemas, um banner no topo mostra a mensagem e um link para a [página de status](https://status.squarecloud.app/).
* **Cada problema tem seu próprio estado ilustrado:** sem conexão, uma pausa por rate limit com contagem regressiva até a nova tentativa automática, manutenção, uma autorização que exige conectar de novo, um erro inesperado e uma conta sem plano. Cada um oferece o botão que ajuda: **Tentar novamente**, **Conectar conta**, **Status do serviço** ou **Ver planos**.
* Se uma atualização falha enquanto seus dados estão na tela, um pequeno banner avisa e mantém os últimos dados carregados.
* O **item da barra de status** mostra se há uma conta conectada, quantas aplicações estão online e se a Square Cloud está offline, pausando requisições ou instável. Passe o mouse sobre ele para ver a conta, o plano e o status do serviço; clique nele para atualizar.

<Frame>
  <img src="https://raw.githubusercontent.com/squarecloudofc/vscode-extension/main/resources/readme/states.png" alt="Estados ilustrados na barra lateral: offline, rate limit com contagem regressiva, um código de login expirado e uma conta sem plano" />
</Frame>

## IntelliSense do arquivo de configuração

O `squarecloud.app` e o `squarecloud.config` têm suporte completo no editor, sem precisar instalar mais nada.

<Frame>
  <img src="https://raw.githubusercontent.com/squarecloudofc/vscode-extension/main/resources/readme/intellisense.png" alt="Um arquivo squarecloud.app no VS Code com um erro sublinhado e a lista de runtimes oferecida pelo autocompletar" />
</Frame>

* **Validação enquanto você digita:** chaves obrigatórias ausentes e duplicadas, tamanho dos valores, um arquivo em `MAIN` que não existe, um `MEMORY` abaixo do mínimo ou acima do que seu plano tem livre, caracteres inválidos no `SUBDOMAIN` e valores desconhecidos de `RUNTIME` ou `VERSION` são sublinhados como erros.
* **Autocompletar:** todas as chaves em uma linha vazia e, depois do `=`, os arquivos de código-fonte para `MAIN`, os runtimes para `RUNTIME`, `recommended` e `latest` para `VERSION`, `true` e `false` para `AUTORESTART` e tamanhos de memória para `MEMORY`.
* **Correções rápidas:** a lâmpada em uma linha de `AUTORESTART`, `VERSION` ou `RUNTIME` define um valor válido com um clique.
* **Destaque de sintaxe e ícones** para `squarecloud.app`, `squarecloud.config` e `squarecloud.ignore`.

Veja o [guia do arquivo de configuração](/pt-br/getting-started/config-file) para conhecer todas as chaves.
