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

# Interface WebIDE da VM LabEx

> O WebIDE LabEx fornece um ambiente de desenvolvimento moderno, semelhante ao VS Code, para tarefas de codificação. Construído no Ubuntu 22.04, ele oferece uma interface familiar para escrever, compilar e executar código em várias linguagens de programação.

## Visualização do WebIDE

<img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/webide.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=da64f20fc4317410e337993b75c16904" alt="WebIDE Preview" width="960" height="640" data-path="images/webide.png" />

O ambiente WebIDE é particularmente útil para:

1. Escrever e depurar código em várias linguagens de programação (Java, JavaScript, Python, etc.)
2. Projetos de desenvolvimento web com recursos de visualização ao vivo, consulte [Crie Sua Primeira Página HTML no WebIDE
   ](https://labex.io/tutorials/html-create-your-first-html-page-in-webide-451041)
3. Gerenciar arquivos e diretórios de projetos por meio de uma interface intuitiva
4. Operações de terminal integradas para tarefas de linha de comando

## Layout do Ambiente

A interface WebIDE consiste em vários componentes principais:

1. Barra Lateral Esquerda:
   * Explorador de arquivos para navegação no projeto
   * Funcionalidade de pesquisa
   * Controle de origem para operações Git
   * Painel de extensões
2. Área do Editor: Principal espaço de trabalho de codificação
3. Painel Inferior: Terminal, problemas e saída
4. Barra de Status: Acesso rápido às configurações e visualização ao vivo
5. Barra de Menu Superior: Arquivo, Editar, Exibir e outras opções

## Acesso ao Terminal

Você pode abrir o terminal de duas maneiras:

1. Clique no ícone <i className="fa-regular fa-circle-xmark" /> no canto inferior esquerdo e mude para a aba Terminal;
   <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-fOGlaC78@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=d39064241ec13475b8a5f07b9b5b6c0e" alt="Terminal Access" width="1860" height="806" data-path="images/screenshot-20241022-fOGlaC78@2x.png" />
2. Use o menu superior: Terminal > Novo Terminal
   <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-wyYSNaTb@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=891ad0b51501dc8941fe3c726f853a92" alt="Terminal Access" width="1204" height="584" data-path="images/screenshot-20241022-wyYSNaTb@2x.png" />

## Visualizar HTML

Para visualizar seu arquivo HTML:

1. No WebIDE, clique no botão "Go Live" no canto inferior direito.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/461shots_so.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=d5a94c83ffb5faa003192de94eaed9c8" alt="Go Live button in WebIDE" width="1920" height="1080" data-path="images/461shots_so.png" />
2. Uma nova aba do navegador será aberta com sua página HTML renderizada.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/429shots_so.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=e49e551fb117a34bfb487062a3310348" alt="HTML page rendered in browser tab" width="1920" height="1080" data-path="images/429shots_so.png" />
3. Ou, você pode clicar na aba "Web 8080" para abrir a visualização.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/236shots_so.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=86e55e8dcc899fedd7bd3d130ce392b3" alt="WebIDE Web 8080 tab preview" width="1920" height="1080" data-path="images/236shots_so.png" />
4. Se seu projeto estiver em um subdiretório, você pode acessá-lo clicando no nome do subdiretório no explorador, então ele visualizará automaticamente o arquivo `index.html` nesse diretório.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20250110-11-19-17-1N4fwHBz.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=ef3a2f7bbd795218b50d9b95086b1ed4" alt="WebIDE subdirectory preview" width="425" height="169" data-path="images/20250110-11-19-17-1N4fwHBz.png" />
5. Se seu projeto tiver vários arquivos HTML, incluindo `index.html`, você pode anexar o nome do arquivo à URL para visualizá-lo diretamente. Por exemplo, `https://xxx.labex.io/another-file.html`.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20250113-09-42-31-4EbLwccE.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=07166edb93053840f14d3f73923e2d0e" alt="WebIDE multiple HTML files preview" width="851" height="311" data-path="images/20250113-09-42-31-4EbLwccE.png" />
6. Você pode abrir a visualização em uma nova aba clicando no botão "Abrir em Nova Aba". Ele abrirá a visualização em uma nova aba do navegador.
   <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20250113-09-48-45-BnqYObPj.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=7ba9545421a5bd671ec47a8989342134" alt="WebIDE Open in New Tab" width="872" height="191" data-path="images/20250113-09-48-45-BnqYObPj.png" />

"Go Live" irá automaticamente:

* Iniciar um servidor web
* Fornecer atualizações em tempo real conforme você modifica seu código

> Dicas: A VM LabEx hospeda a visualização na porta 8080. Você pode compartilhar o link da visualização com outras pessoas para mostrar seu trabalho. Depois que sua VM do laboratório for interrompida, o link da visualização não funcionará mais.

## Cenários de Uso

<AccordionGroup>
  <Accordion title="Exemplo de Desenvolvimento Java" icon="coffee">
    <Card title="Seu Primeiro Laboratório Java" icon="flask-conical" href="https://labex.io/labs/java-your-first-java-lab-411751">
      Este é um laboratório Java de exemplo que demonstra como escrever, compilar e
      executar um programa Java simples usando o WebIDE LabEx.
    </Card>

    Trabalhando com projetos Java no WebIDE:

    <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20241016-13-50-50-DprQuVyZ.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=188bffef44632334239fd25e7710a872" alt="Java Development" width="1203" height="696" data-path="images/20241016-13-50-50-DprQuVyZ.png" />

    1. Crie um novo arquivo Java via o explorador
    2. Escreva seu código Java com destaque de sintaxe
    3. Compile e execute no terminal:

    ```bash theme={null}
    javac MyClass.java
    java MyClass
    ```

    4. Visualize erros de compilação e avisos em tempo real
  </Accordion>

  <Accordion title="Exemplo de Desenvolvimento Web" icon="globe">
    <Card title="Seu Primeiro Laboratório HTML" icon="flask-conical" href="https://labex.io/labs/html-your-first-html-lab-92740">
      Este é um laboratório HTML de exemplo que demonstra como criar uma página web
      simples usando o WebIDE LabEx.
    </Card>

    Para tarefas de desenvolvimento frontend:

    <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20240725-14-54-07-RbKQNn37@2x.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=d86a1ee42ec3fc28320706c8e2af29ad" alt="Go Live Button" width="2402" height="2020" data-path="images/20240725-14-54-07-RbKQNn37@2x.png" />

    1. Crie arquivos HTML, CSS e JavaScript
    2. Clique no botão "Go Live" no canto inferior direito
    3. Acesse sua página web através de:
       * Aba Web 8080 no topo da VM LabEx
       * Crie novas abas de visualização de porta usando o botão +

    Observação: Seu projeto é implantado automaticamente em uma URL pública no servidor LabEx, tornando-o acessível através das abas Web.
  </Accordion>

  <Accordion title="Exemplo de Desenvolvimento Python" icon="code">
    <Card title="Crie um Processador de Etiqueta de Nome de Astronauta" icon="flask-conical" href="https://labex.io/labs/python-create-an-astronaut-name-tag-processor-393083">
      Este é um desafio Python de exemplo que demonstra como processar nomes de
      astronautas usando o WebIDE LabEx.
    </Card>

    Para programação Python:

    <img src="https://mintcdn.com/huhuhang/lbTGZZG7azHYkwfT/images/20241008-16-18-06-HuMxDYQy.png?fit=max&auto=format&n=lbTGZZG7azHYkwfT&q=85&s=d88a4be0db03de93afc0ea7c2a0962bc" alt="Python Development" width="946" height="641" data-path="images/20241008-16-18-06-HuMxDYQy.png" />

    1. Crie um arquivo Python no explorador
    2. Escreva seu código Python com:
       * Destaque de sintaxe
       * Conclusão de código
       * Detecção de erros
    3. Execute seu script no terminal:

    ```bash theme={null}
    python3 script.py
    ```

    4. Use o depurador integrado para execução passo a passo
  </Accordion>
</AccordionGroup>

## Perguntas Frequentes

<AccordionGroup>
  <Accordion title="Como acesso minha aplicação web?" icon="globe">
    A VM LabEx implanta automaticamente seus projetos web:

    <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-Sgt0GGyu@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=79d82dcc58719cf5b4b19530b488fcbe" alt="Web Preview" width="1287" height="379" data-path="images/screenshot-20241022-Sgt0GGyu@2x.png" />

    1. Porta padrão 8080:
       * Clique na aba "Web 8080" no topo da VM LabEx
       * Sua aplicação estará acessível através de uma URL pública

    2. Portas personalizadas:
       * Clique no botão + para criar novas abas de visualização de porta
       * Cada porta recebe sua própria URL pública
       * Útil para executar vários serviços (por exemplo, frontend e backend)

    Observação: Ao contrário do desenvolvimento local, você não acessa o localhost diretamente, pois o LabEx é executado na nuvem.
  </Accordion>

  <Accordion title="Quais são os atalhos de teclado essenciais?" icon="keyboard">
    Atalhos comuns no WebIDE:

    * **Operações de Arquivo**
      * Novo Arquivo: Ctrl+N
      * Salvar: Ctrl+S
      * Encontrar: Ctrl+F
      * Substituir: Ctrl+H

    * **Controles do Painel**
      * Alternar Barra Lateral: Ctrl+B
      * Alternar Terminal: Ctrl+\`
      * Paleta de Comandos: Ctrl+Shift+P

    * **Recursos do Editor**
      * Multi-cursor: Alt+Clique
      * Selecionar Todas as Ocorrências: Ctrl+Shift+L
      * Formatar Documento: Shift+Alt+F
  </Accordion>

  <Accordion title="Posso instalar ferramentas ou pacotes adicionais?" icon="wrench">
    Sim, você pode instalar ferramentas adicionais usando o gerenciador de pacotes do Ubuntu:

    ```bash theme={null}
    sudo apt update
    sudo apt install package-name
    ```

    Para gerenciadores de pacotes específicos da linguagem:

    * Node.js/npm:

    ```bash theme={null}
    npm install package-name
    ```

    * Python/pip:

    ```bash theme={null}
    pip install package-name
    ```

    Lembre-se que as instalações são temporárias e serão redefinidas quando sua sessão terminar.
  </Accordion>

  <Accordion title="Como lido com uploads e downloads de arquivos?" icon="upload">
    O WebIDE oferece várias maneiras de gerenciar arquivos:

    1. **Upload de Arquivos:**

       * Arraste e solte arquivos no explorador
       * Use o upload/download após clicar com o botão direito no explorador

           <img src="https://mintcdn.com/huhuhang/q4ekfuwM7mDVAiiH/images/screenshot-20241022-j7Pl3YZQ@2x.png?fit=max&auto=format&n=q4ekfuwM7mDVAiiH&q=85&s=ab2b59536671cb0184c1f57d3a981fec" alt="Upload Files" width="1412" height="1250" data-path="images/screenshot-20241022-j7Pl3YZQ@2x.png" />

    2. **Download de Arquivos:**
       * Clique com o botão direito no arquivo no explorador
       * Selecione "Download"

    3. **Copiar/Colar:**
       * O conteúdo do texto pode ser copiado diretamente entre sua máquina local e o WebIDE
       * Arquivos binários devem usar os recursos de upload/download

    Lembre-se que todos os arquivos são temporários e serão perdidos quando sua sessão terminar.
  </Accordion>
</AccordionGroup>
