Recentes e favoritosAté 3 projetos por janela
Project Launcher

Menos preparação.Mais desenvolvimento.

Projetos e terminais organizados para começar a trabalhar.

Um app de Windows que abre seus projetos no terminal, com o nome que não some.

App de desktopWindows TerminalFerramenta própria

  • Tauri 2.11
  • Rust
  • React 18.3
  • TypeScript 5.9
  • Vite 5.4
  • Tailwind 3.4
  • Framer Motion 11
Recentes e favoritosAté 3 projetos por janela
Project Launcher

Menos preparação.Mais desenvolvimento.

Projetos e terminais organizados para começar a trabalhar.

  • Tauri 2.11
  • Rust
  • React 18.3
  • TypeScript 5.9
  • Vite 5.4
  • Tailwind 3.4
  • Framer Motion 11

Um app de Windows que abre seus projetos no terminal, com o nome que não some.

App de desktopWindows TerminalFerramenta própria

  • Tauri 2.11
  • Rust
  • React 18.3
  • TypeScript 5.9
  • Vite 5.4
  • Tailwind 3.4
  • Framer Motion 11

O problema

O nome da aba que não some.

O .bat antigo abria os três painéis, mas a aba ficava "powershell.exe" e, a cada comando, o shell trocava o título por outro. A causa não era o .bat: é o shell que reescreve o título. O app passa as duas flags que seguram o nome.

  • --title "SOUZA-PAIOL"

    Dá o nome

    O nome do projeto vai para a aba e para cada painel, limpo de aspas e quebras e cortado em 40 caracteres.

  • --suppressApplicationTitle

    Segura o nome

    Proíbe o shell de reescrever o título. Sem ela, a primeira flag dura até o próximo comando.

Em números

Pequeno no tamanho, preciso no detalhe.

Cada casa acesa é um item que o código conhece: o marcador de uma stack, uma pasta que nem é aberta, um comando entre a interface e o Rust.

2.957linhas de código

  • Rust663
  • TypeScript e TSX2.070
  • CSS224
  1. Marcadores de stack16package.json · composer.json · artisan · Cargo.toml · go.mod · pyproject.toml · requirements.txt · Pipfile · Gemfile · pom.xml · build.gradle · build.gradle.kts · pubspec.yaml · Makefile · docker-compose.yml · index.php
  2. Extensões de código15.ts · .tsx · .js · .jsx · .php · .rs · .go · .py · .rb · .java · .cs · .lua · .vue · .svelte · .sql
  3. Nomes de parte21frontend · backend · client · server · api · web · www · site · app · apps · admin · painel · mobile · desktop · core · shared · services · packages · src · front · back
  4. Pastas ignoradas15node_modules · .git · .next · dist · build · target · vendor · .vscode · .idea · __pycache__ · .cache · coverage · out · bin · obj
  5. Comandos do Rust6scan_projects · launch_terminals · check_windows_terminal · generate_bat · open_folder · write_text_file
  6. Cores de aba8Violeta · Índigo · Ciano · Esmeralda · Âmbar · Rosa · Vermelho · Ardósia
  7. Atalhos6Ctrl+O · F5 · Ctrl+N · Ctrl+Enter · / · Esc
  8. Painéis por janela31 · 2 · 3

A varredura

Acha o projeto pelo que ele é.

O app não procura um package.json: procura o marcador de cada linguagem e de cada framework, até dois níveis abaixo da pasta raiz. Achou um projeto, não desce mais, frontend e backend não viram dois projetos.

D:\ProjetosExemplo

  1. MOTOR-DESIGN/package.jsonNode
  2. CINE-CREATOR-STUDIO/package.json + Cargo.tomlNode + Rust
  3. LOJA-COMPLETA/Um projeto: Node + PHP
  4. frontend/package.jsonParte
  5. backend/composer.jsonParte
  6. node_modules/Ignorada
  7. SCRIPTS/backup.pyCódigo
  8. CLIENTES/Desce
  9. SITE-INSTITUCIONAL/index.phpPHP
  10. FOTOS/Fica de fora
  • 16 marcadores de stack

    Um package.json é Node, um Cargo.toml é Rust, um composer.json é PHP, um artisan é Laravel… e as stacks se somam: Node + Rust.

    MARCADORES
  • Código solto também conta

    Sem marcador, mas com .ts, .py, .php ou outra das 15 extensões na raiz, a pasta entra como Código.

    EXT_CODIGO
  • Frente e verso numa entrada só

    Uma pasta com frontend/ e backend/ marcados vira um projeto só, com as duas stacks. São 21 nomes de parte reconhecidos.

    identificar_multipasta()
  • 15 pastas que nem abrem

    Pastas como node_modules, .git, dist, target e vendor: a varredura passa por cima.

    PASTAS_IGNORADAS
  • Até dois níveis

    Pasta comum é atravessada até dois níveis abaixo da raiz, e a varredura roda fora da interface, sem travar a janela.

    MAX_PROFUNDIDADE_SCAN = 2
O app com três projetos numa janela, ao lado do Windows Terminal aberto com os três painéis

Organização que vira fluxo

Escolha os projetos. Abra seu ambiente.

Até três terminais lado a lado ou empilhados, com cada projeto no seu diretório.

01 / Selecione e organize02 / Abra os terminaisLado a lado ou empilhadoExportação em .bat

Cada janela do app vira uma aba do Windows Terminal, com até três painéis. A divisão segue a conta do .bat original: o i-ésimo painel pega restantes ÷ (restantes + 1) do anterior (2/3 e depois 1/2) e os três ficam com um terço exato.

ROBLOX-APP-ASSETSPS D:\Projetos\ROBLOX-APP-ASSETS>
CINE-CREATOR-STUDIOPS D:\Projetos\CINE-CREATOR-STUDIO>
MOTOR-DESIGNPS D:\Projetos\MOTOR-DESIGN>
  1. new-tab -d D:\Projetos\ROBLOX-APP-ASSETSO 1º projeto abre a aba.
  2. split-pane -V -s 0.6667 -d D:\Projetos\CINE-CREATOR-STUDIOO 2º divide e fica com 2/3 do espaço.
  3. split-pane -V -s 0.5000 -d D:\Projetos\MOTOR-DESIGNO 3º divide esse ao meio: três terços.

O vocabulário do terminal é invertido: painéis lado a lado são uma divisão vertical (-V). O app traduz, você escolhe pelo desenho, não pelo termo.

A execução

Uma chamada por painel.

Um comando gigante, encadeado com ponto e vírgula, às vezes perde os títulos. O app faz o caminho estável: uma chamada do wt.exe por painel, todas mirando a mesma janela, com a pausa que a janela precisa para nascer.

  1. 0ms

    01Abre a aba

    wt -w PL-1a2b3c new-tab -d D:\Projetos\ROBLOX-APP-ASSETS --title ROBLOX-APP-ASSETS --suppressApplicationTitle --tabColor #8b5cf6 powershell.exe -NoExit
  2. 800ms

    02Divide em 2/3

    wt -w PL-1a2b3c split-pane -V -s 0.6667 -d D:\Projetos\CINE-CREATOR-STUDIO --title CINE-CREATOR-STUDIO --suppressApplicationTitle --tabColor #8b5cf6 powershell.exe -NoExit
  3. 1100ms

    03Divide ao meio

    wt -w PL-1a2b3c split-pane -V -s 0.5000 -d D:\Projetos\MOTOR-DESIGN --title MOTOR-DESIGN --suppressApplicationTitle --tabColor #8b5cf6 powershell.exe -NoExit
O app com a janela de três projetos e o Windows Terminal aberto com os três painéis nomeados
O resultado: três painéis, cada um com o nome do seu projeto.

Por que não um comando só

O Windows Terminal tem um bug intermitente de perder títulos quando vários new-tab e split-pane vêm numa única invocação. Chamadas em sequência, com -w apontando a mesma janela, são o caminho estável, e o app ainda confere cada pasta antes de chamar.

microsoft/terminal#6586

Para levar

Vira um .bat e vira atalho.

O botão do rodapé gera um .bat com o mesmo comando, para fixar na barra de tarefas, pôr na inicialização do Windows ou agendar. E o app inteiro se usa sem tirar a mão do teclado.

abrir-janela-1.bat

  1. @echo off
  2. chcp 65001 >nul
  3. title Lancador - Janela 1
  4. rem Gerado pelo ProjectLauncher
  5. rem --title nomeia a aba/painel
  6. rem --suppressApplicationTitle impede o shell de sobrescrever o nome
  7. set "WT=%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe"
  8. if not exist "%WT%" (
  9. echo ERRO: Windows Terminal nao encontrado em %WT%
  10. pause
  11. exit /b 1
  12. )
  13. rem --- Janela 1 ---
  14. start "" "%WT%" -w PL-BAT-0 new-tab -d D:\Projetos\ROBLOX-APP-ASSETS --title ROBLOX-APP-ASSETS --suppressApplicationTitle --tabColor #8b5cf6 powershell.exe -NoExit
  15. timeout /t 1 /nobreak >nul
  16. start "" "%WT%" -w PL-BAT-0 split-pane -V -s 0.6667 -d D:\Projetos\CINE-CREATOR-STUDIO --title CINE-CREATOR-STUDIO --suppressApplicationTitle --tabColor #8b5cf6 powershell.exe -NoExit
  17. timeout /t 1 /nobreak >nul
  18. exit

Buscar projeto…/

Atalhos

  • Escolher a pasta raizCtrlO
  • Varrer de novoF5
  • Nova janelaCtrlN
  • Abrir tudoCtrlEnter
  • Focar a busca/
  • Limpar a buscaEsc

Opções

  • PowerShell ou CMD, sem o painel fechar sozinho-NoExit/k
  • Abrir maximizada--maximized
  • Uma janela por grupo ou todas como abas-w
  • Cor da aba, que vai junto para o terminal8

As tecnologias

Do que é feito, peça por peça

Um programa de Windows pequeno: a janela é feita como um site, e o Rust por trás acha os projetos e abre o terminal já arrumado. Escolha uma peça para ver o que ela faz aqui e em que arquivo está.

12tecnologias, em 3 camadas

Tela

Núcleo

Windows

As telas

O app, janela por janela.

Da primeira janela vazia aos três terminais abertos, com o nome de cada projeto na aba.