Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

the-spanish-guy/visualgcode

Repository files navigation

VisuAlg IDE Logo

VisuAlg IDE

Uma IDE moderna e poderosa para a linguagem VisuAlg

License: GPL v3 GitHub release Build Status

📥 Download✨ Features🚀 Desenvolvimento🤝 Contribuir


📖 Sobre

VisuAlg IDE é uma IDE moderna e multiplataforma para a linguagem VisuAlg (português estruturado), reconstruída do zero com tecnologias web atuais.

O que é VisuAlg?

VisuAlg (Visualizador de Algoritmos) é um interpretador criado originalmente pelos professores Cláudio Morgado de Souza e Antonio Carlos Nicolodi. Ele permite escrever e executar algoritmos em uma linguagem próxima do Portugol — uma pseudo-linguagem algorítmica com comandos em português, ideal para ensino de lógica de programação.

Por que uma nova IDE?

O VisuAlg original é uma ferramenta muito utilizada no Brasil, presente em livros didáticos e cursos de algoritmos. Porém, tinha limitações:

❌ Disponível apenas para Windows
❌ Interface ultrapassada
❌ Recursos de debug limitados
❌ Sem suporte a workspaces com múltiplos arquivos

Esta VisuAlg IDE traz:

Multiplataforma — Windows, Linux e macOS
Interface moderna — Usa o Editor Monaco (mesmo do VS Code)
Debug avançado — Breakpoints, step-by-step, tabela de rastreamento
Recursos educacionais — Explicação de erros em português, autocomplete
Open source — Código aberto sob GPL v3

🎯 Público-alvo

  • Estudantes aprendendo lógica de programação
  • Professores que ensinam algoritmos
  • Escolas que usam VisuAlg em suas aulas
  • Qualquer pessoa que queira uma IDE moderna para português estruturado

✨ Features

  • Tema dark
  • Múltiplas abas
  • Syntax highlighting
  • Explorador de arquivos
  • Salvar/abrir arquivos .alg
  • Sugestões de variáveis declaradas
  • Atalhos de teclado (F5, F9, F10, Ctrl+S, etc.)
  • Snippets de estruturas — se, para, enquanto, etc.
  • Debug com atalhos, tabela de reastreamento e highlitht de linha atual
  • Explicação de erros em português com mensagens amigáveis para iniciantes

📸 Screenshots

Interface Principal

Screenshot principal

Debug em Ação

Debug

Tabela de Rastreamento

Rastreamento


📥 Download

Instaladores Oficiais

Baixe a versão mais recente em Releases:

Plataforma Download Tipo
Windows VisuAlg-IDE-Setup-x.x.x.exe Instalador
Windows VisuAlg-IDE-Portable-x.x.x.exe Portátil (sem instalação)
Linux VisuAlg-IDE-x.x.x.AppImage AppImage
macOS VisuAlg-IDE-x.x.x.dmg DMG

Instalação

Windows

  1. Baixe o instalador .exe
  2. Execute (pode aparecer aviso do Windows Defender — clique em "Mais informações" → "Executar mesmo assim")
  3. Siga o assistente de instalação

Linux

# Dê permissão de execução
chmod +x VisuAlg-IDE-*.AppImage
# Execute
./VisuAlg-IDE-*.AppImage

macOS

  1. Abra o arquivo .dmg
  2. Arraste o app para a pasta Aplicativos
  3. Na primeira execução, vá em Preferências do Sistema → Segurança e clique em "Abrir mesmo assim"

🚀 Desenvolvimento

Pré-requisitos

  • Node.js 20+
  • npm ou yarn
  • Git

Setup Local

# Clone o repositório
git clone https://github.com/the-spanish-guy/visualgcode.git
cd visualgcode
# Instale as dependências
npm install
# Rode em modo desenvolvimento
npm run dev

A IDE abrirá automaticamente em modo hot-reload — qualquer mudança no código recarrega instantaneamente.

Estrutura do Projeto

visualgcode/
├── src/
│ ├── main/ # Processo principal do Electron
│ │ ├── main.ts # Entry point, window management
│ │ └── preload.ts # Bridge segura entre main e renderer
│ ├── renderer/ # Interface React
│ │ ├── components/ # Componentes UI
│ │ ├── styles/ # CSS Modules
│ │ ├── App.tsx # Componente raiz
│ │ └── main.tsx # Entry point React
│ ├── interpreter/ # Engine do VisuAlg
│ │ ├── Lexer.ts # Análise léxica
│ │ ├── Parser.ts # Análise sintática
│ │ └── Evaluator.ts # Execução e runtime
│ └── typings/ # Declarações TypeScript
├── dist/ # Build output
├── release/ # Instaladores gerados
└── .github/workflows/ # CI/CD automático

🤝 Contribuir

Este é um projeto open source então contribuições são muito bem-vindas!

Como Contribuir

  1. Fork o repositório
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Add: Minha nova feature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

Diretrizes

  • Formae o código antes de abrir a PR (npm run lint && npm run format)
  • Teste suas mudanças antes de abrir PR
  • Descreva claramente o que foi feito no PR

Reportar Bugs

Encontrou um bug? Abra uma issue com:

  • Descrição clara do problema
  • Passos para reproduzir
  • Comportamento esperado vs. atual
  • Screenshots (se aplicável)
  • Versão da IDE e sistema operacional

📄 Licença

Este projeto está licenciado sob a GNU General Public License v3.0 — veja o arquivo LICENSE para detalhes.


Feito por the spanish guy com 🖤

 /> フ
 | _ _|
 /` ミ__^ノ
 /   |
 / ヽ  ノ ╱|、
 /  | | | ( ̊ˎ 。7
/ ̄|  | | | |、 ̃〵
( ̄ヽ__ ヽ_)__) じしˍ,)ノ
\二)

Se este projeto te ajudou, considere dar uma ⭐ no repositório!

AltStyle によって変換されたページ (->オリジナル) /