BuildSmith
O que a sua compilação fez e por que demorou tanto. Depois de cada compilação, a barra de status mostra o tempo e a variação em relação à anterior; a janela Linha do tempo da compilação mostra cada projeto em uma linha do tempo — quais rodaram em paralelo, quais esperaram e o caminho crítico que determinou o total.
Gratuito · Visual Studio 2022 e 2026 · 14 idiomas de interface · sem telemetria
Por que o BuildSmith

Para onde foi o tempo
A janela Saída diz que a compilação levou 1 min 48 s. A linha do tempo diz quais projetos levaram esse tempo, quais rodaram lado a lado e por qual cadeia de projetos a compilação inteira teve que esperar.
Comparada com uma compilação equivalente
Uma compilação Debug em main é comparada com a compilação Debug anterior em main — não com uma recompilação, uma compilação Release ou outro branch. Por isso ▲ 4.1 s quer dizer alguma coisa.
Discreto
Nenhuma janela abre sozinha, nada aparece de repente: uma linha na barra de status depois da compilação. Com a gravação desligada, o BuildSmith realmente dorme — nem sequer escuta os eventos de compilação.
Gratuito, sem pegadinhas
Sem assinatura, sem versão “pro”, sem coleta de dados, sem mensagens na janela Saída ou na inicialização. O histórico fica no seu computador. A única coisa que vamos pedir — depois que você o tiver usado por um tempo — é uma avaliação no Marketplace. Funciona no Visual Studio 2022 e 2026, x64 e ARM64.
Recursos
- O tempo na barra de status depois de cada compilação, com a variação em relação à compilação comparável anterior:
⏱ 1 min 48 s (▲ 4.1 s). - A janela Linha do tempo da compilação: uma barra por projeto na ordem em que começaram, o caminho crítico contornado, projetos atualizados hachurados, os que falharam em vermelho e a variação em relação à compilação anterior ao lado de cada barra.
- Nunca atualizados: projetos compilados em toda compilação incremental, embora a maior parte da solução estivesse atualizada — e quanto eles custam por compilação.
- Histórico de todas as compilações da solução, mantido por uma semana por padrão: pesquisa, intervalos de datas, um calendário e barras que mostram num relance qual compilação foi lenta.
- Rótulos — “antes da correção”, “novo SDK” — em uma de cinco cores ou na sua própria; uma compilação rotulada ou mantida nunca é excluída por idade.
- Comparar de 2 a 10 compilações: a tendência dos totais e uma tabela de projetos × compilações com variações coloridas, minigráficos e o caminho crítico — copiada como Markdown para um pull request.
- Desligue sem desinstalar: para uma solução ou em todo lugar; o histórico é mantido.
A compilação num relance
Abra Compilação › Linha do tempo da compilação (também em Exibir › Outras Janelas e na barra de ferramentas SmithWorks). A janela mostra a última compilação — ou qualquer compilação do histórico — com um resumo no topo e uma barra por projeto abaixo.

O tempo na barra de status
Depois de cada compilação, a barra de status do Visual Studio mostra o tempo e a variação em relação à compilação comparável anterior: ⏱ 1 min 48 s (▲ 4.1 s) — ▲ mais lenta, ▼ mais rápida. É a única coisa que o BuildSmith mostra por conta própria, e pode ser desligada nas configurações.
Comparável significa o mesmo tipo de compilação (Compilar ou Recompilar), a mesma configuração, a mesma plataforma e o mesmo branch Git. Se ainda não houver uma compilação assim, só o tempo é mostrado.
O cabeçalho
O topo da janela resume a compilação mostrada:
| Na tela | Significado |
|---|---|
| ✓ 1 min 48 s ▲ 4.1 s vs. anterior | O resultado (bem-sucedida ou com falha), o tempo total e um selo com a variação em relação à compilação comparável anterior; a dica dele diz quanto tempo aquela compilação levou e quando. |
| 14 projetos · 9 compilados · 5 atualizados · 1 com falha | Quantos projetos participaram, quantos foram realmente compilados, quantos foram ignorados por estarem atualizados e quantos falharam. |
| caminho crítico 1 min 31 s · Debug · Any CPU · main | A duração do caminho crítico, depois a configuração, a plataforma e o branch Git da compilação. |
| O seletor de compilação | Qualquer compilação registrada da solução: a linha do tempo muda para ela. |
| 🏷 ⏻ ⚙ | 🏷 rotula a compilação mostrada, ⏻ liga ou desliga a gravação, ⚙ abre as configurações. |
As barras
| Na tela | Significado |
|---|---|
| Barra azul | Um projeto que foi compilado, uma linha por projeto na ordem em que começaram: a barra começa onde o projeto realmente começou após o início da compilação e é tão longa quanto ele levou. Barras que se sobrepõem rodaram em paralelo, então você vê o quanto a compilação foi realmente paralela. |
| Contorno laranja | O caminho crítico: a cadeia de projetos, cada um esperando pelo anterior, que determinou o tempo total. Acelerar um deles acelera a compilação; os outros projetos rodaram em paralelo. |
| Traço hachurado | Atualizado: ignorado, nada nele mudou. |
| Barra vermelha | A compilação do projeto falhou. |
| ▲ 2.4 s | Ao lado de cada barra: o tempo dela e, quando for relevante, a variação em relação ao mesmo projeto na compilação comparável anterior. |
Passe o mouse sobre uma barra para ver os detalhes: quanto tempo o projeto levou, de quando a quando após o início da compilação, a variação em relação à compilação anterior e se ele estava no caminho crítico.
A janela pode ficar aberta enquanto você trabalha: ela passa sozinha para cada nova compilação. As abas Linha do tempo, Comparar e Histórico ficam no topo.
Nunca atualizados
Alguns projetos são compilados em toda compilação, mesmo quando nada neles mudou. Cada vez custa alguns segundos, e ninguém percebe. O BuildSmith percebe: acima da linha do tempo de uma compilação incremental, uma faixa diz quantos projetos assim existem e quanto custam por compilação. Ela se expande na lista de projetos; as linhas deles na linha do tempo ganham a marca ⟳.

A regra: um projeto é apontado quando foi compilado em cada uma das últimas 3 a 5 compilações incrementais da mesma configuração e branch, enquanto mais da metade da solução estava atualizada. Recompilações não contam — nelas tudo é compilado de propósito.
As causas comuns:
- um arquivo com Copiar para Diretório de Saída: Copiar sempre — Copiar se for mais novo basta;
- uma etapa de pré-compilação ou pós-compilação que mexe em um arquivo do qual o projeto depende;
- código gerado em toda compilação, mesmo quando a origem dele não mudou.
Corrigir isso economiza esse tempo em toda compilação. A faixa pode ser desligada nas configurações: Apontar projetos que nunca estão atualizados.
Histórico
A aba Histórico lista as compilações registradas da solução, das mais recentes para as mais antigas, agrupadas por dia. Cada linha mostra a hora, o tipo de compilação, a configuração e o branch, o rótulo e uma barra proporcional ao tempo da compilação — uma compilação lenta salta aos olhos.

Encontrar uma compilação
Digite na caixa de pesquisa — cada palavra precisa aparecer no rótulo, no branch, na configuração ou no tipo de compilação. Restrinja por data com Hoje, Ontem e hoje, 7 dias ou Todas, ou escolha datas no calendário (Datas…). Só com rótulo deixa as compilações que você rotulou.
Abrir, rotular, manter, excluir
Clique em uma compilação (ou pressione Enter) para abri-la na linha do tempo. O clique com o botão direito oferece Abrir na linha do tempo, Rotular…, Manter (nunca excluir) e Excluir. A tecla Delete exclui a compilação, com Desfazer por alguns segundos. O menu ⋯ exclui compilações anteriores a uma data e limpa o histórico desta solução ou de todas as soluções.
Marque compilações para compará-las ou excluir várias de uma vez. Marcar as rotuladas marca todas as compilações mostradas que têm rótulo — o jeito mais rápido de comparar “antes” e “depois”.
Por quanto tempo as compilações são mantidas
As compilações ficam só neste computador, em %LocalAppData%\BuildSmith, um histórico por solução — por 1 dia, 3 dias, 1 semana (padrão), 2 semanas ou 1 mês. Compilações mais antigas são excluídas quando a solução é aberta ou quando uma compilação termina. As rotuladas e as mantidas ficam, não importa a idade.
Rótulos
🏷 no cabeçalho (ou Rotular… no menu do histórico) dá a uma compilação um texto curto e uma cor: uma de cinco, ou uma sua, escolhida em um pequeno seletor com paleta e cores recentes. Os rótulos usados recentemente são oferecidos de novo com um clique, então uma série de compilações pode compartilhar o mesmo rótulo.
Uma compilação rotulada nunca é excluída por idade (a menos que você desligue Manter compilações rotuladas). Manter (nunca excluir) fixa uma compilação sem rótulo.
Gravação
⏻ no cabeçalho escolhe se as compilações são gravadas:
| Opção | O que acontece |
|---|---|
| Gravar compilações | O padrão: cada compilação é cronometrada e guardada no histórico. |
| Não para esta solução | Esta solução deixa de ser gravada; as outras continuam. As configurações listam essas soluções, com Gravar novamente. |
| Desativado em todos os lugares | O BuildSmith dorme em todas as soluções. |
Dormindo, o BuildSmith realmente não faz nada: não assina os eventos de compilação, não escreve nada na barra de status nem no disco. O histórico é mantido, e a janela oferece Gravar compilações novamente.
Comparar compilações
A aba Comparar coloca compilações lado a lado: a correção ajudou, qual projeto ficou mais lento depois da atualização, como o tempo de compilação variou ao longo da semana.

Escolher as compilações
Marque de 2 a 10 compilações em Histórico e pressione ⇄ Comparar N. Sem marcações, Comparar mostra a compilação exibida contra a comparável anterior. As compilações aparecem como chips no topo; ✕ tira uma da comparação.
A tendência e a tabela
Um pequeno gráfico mostra o tempo total de cada compilação. Abaixo, uma tabela de projetos × compilações: cada célula é colorida pela variação em relação à primeira compilação — mais quente é mais lento, verde é mais rápido — com um minigráfico, a variação e ● onde o projeto estava no caminho crítico. Projetos sem variação relevante ficam recolhidos em … mais N sem variação notável.
Só os projetos que importam para você
Projetos: … filtra a tabela: Todos os projetos (N), Alterados de forma notável (N), No caminho crítico (N) ou Só os marcados, com uma caixa de pesquisa. O filtro é lembrado por solução, e a tendência passa a somar o tempo dos projetos filtrados — a tendência dos seus projetos, não da solução inteira.
Um projeto ao longo das compilações
Clique em um projeto para ver as barras dele em cada compilação comparada; uma barra contornada significa que ele estava no caminho crítico daquela compilação. ‹ Todos os projetos volta.
Copiar como Markdown
⧉ Copiar coloca a tabela como você a vê — as mesmas compilações, o mesmo filtro — na área de transferência como uma tabela Markdown, pronta para um pull request ou um chat. Na visão de um único projeto, copia esse projeto.
Configurações
Ferramentas › Opções › SmithWorks › BuildSmith (ou ⚙ na janela Linha do tempo da compilação). Cada opção tem uma breve descrição do que faz.
| Opção | Padrão |
|---|---|
| Gravar compilações | ativado |
| Não gravadas para: | Nenhuma solução está desativada. |
| Manter compilações por: | 1 semana |
| Manter compilações rotuladas | ativado |
| Tempo na barra de status | ativado |
| Apontar projetos que nunca estão atualizados | ativado |
| Pedir uma avaliação no Marketplace | ativado |
Limpar todo o histórico (N soluções, tamanho)… exclui as compilações registradas de todas as soluções e pergunta se deve manter as rotuladas e as mantidas. Na parte de baixo: Restaurar padrões, Documentação, Avaliar no Marketplace e Enviar comentários.
As configurações e o histórico ficam em %LocalAppData%\BuildSmith.

Perguntas frequentes
O BuildSmith envia algum dado?
Não. Os tempos de compilação vêm dos eventos de compilação do Visual Studio e ficam no seu computador, em %LocalAppData%\BuildSmith. Sem requisições de rede, sem telemetria.
Por que não aparece a variação ao lado do tempo?
Ainda não há uma compilação comparável: o mesmo tipo (Compilar ou Recompilar), configuração, plataforma e branch. Compile mais uma vez e a variação aparece.
O que é exatamente o caminho crítico?
A cadeia de projetos pela qual a compilação teve que esperar: cada um só começou depois que o anterior terminou. A duração dele é o menor tempo que a compilação poderia ter com esses projetos, não importa quantos núcleos você tenha. Acelerar um projeto fora do caminho crítico não encurta a compilação.
A janela continua vazia depois de uma compilação.
Verifique se a gravação está ligada (⏻ na janela, Gravar compilações nas configurações) e se esta solução não está na lista Não gravadas para. Compilações iniciadas fora do Visual Studio (dotnet build na linha de comando) não são gravadas.
O BuildSmith deixa a compilação mais lenta?
Não. Ele escuta o início e o fim de cada projeto, que o Visual Studio informa de qualquer forma, e grava um pequeno arquivo depois da compilação. Não altera a compilação nem o log dela.
Quanto espaço em disco o histórico ocupa?
Muito pouco: uma compilação é uma lista curta de projetos com seus tempos. As configurações mostram o tamanho ao lado de Limpar todo o histórico, e as compilações antigas vão embora sozinhas depois do período escolhido.
Onde relato um problema ou sugiro um recurso?
Abra uma issue no repositório Feedback no GitHub — há formulários para bugs e ideias (troque nomes privados). Você também pode usar a aba Q&A no Marketplace.
Histórico de alterações
1.0.0
- Primeira versão: o tempo de compilação e sua variação na barra de status, a janela Linha do tempo da compilação com o caminho crítico, os projetos que nunca estão atualizados, o histórico com pesquisa, datas e rótulos, a comparação de até 10 compilações com cópia em Markdown, a gravação ligada e desligada por solução, a barra de ferramentas SmithWorks, um pedido único de avaliação.