BuildSmith
Cosa ha fatto la compilazione e perché ha richiesto quel tempo. Dopo ogni compilazione, la barra di stato ne mostra la durata e la differenza rispetto alla precedente; la finestra Sequenza temporale compilazione mostra ogni progetto su una sequenza temporale — quali sono stati eseguiti in parallelo, quali hanno atteso e il percorso critico che ha determinato il totale.
Gratuito · Visual Studio 2022 e 2026 · 14 lingue dell’interfaccia · nessuna telemetria
Perché BuildSmith

Dove è finito il tempo
La finestra Output dice che la compilazione ha richiesto 1 min 48 s. La sequenza temporale dice quali progetti l’hanno richiesto, quali sono stati eseguiti affiancati e quale catena di progetti l’intera compilazione ha dovuto attendere.
Confrontata con una compilazione simile
Una compilazione Debug su main viene confrontata con la precedente compilazione Debug su main — non con una ricompilazione, una compilazione Release o un altro branch. Così ▲ 4.1 s significa davvero qualcosa.
Silenziosa
Nessuna finestra si apre da sola, nulla compare all’improvviso: una sola riga nella barra di stato dopo la compilazione. Quando la registrazione è disattivata, BuildSmith dorme davvero — non ascolta nemmeno gli eventi di compilazione.
Gratuito, senza vincoli
Nessun abbonamento, nessuna versione «pro», nessuna raccolta di dati, nessun messaggio nella finestra Output o all’avvio. La cronologia resta sul tuo computer. L’unica cosa che ti chiederemo — dopo che l’avrai usata per un po’ — è una valutazione sul Marketplace. Funziona con Visual Studio 2022 e 2026, x64 e ARM64.
Funzionalità
- Il tempo nella barra di stato dopo ogni compilazione, con la differenza rispetto alla precedente compilazione comparabile:
⏱ 1 min 48 s (▲ 4.1 s). - La finestra Sequenza temporale compilazione: una barra per progetto nell’ordine di avvio, il percorso critico contornato, i progetti aggiornati tratteggiati, quelli non riusciti in rosso e la differenza rispetto alla compilazione precedente accanto a ogni barra.
- Mai aggiornati: i progetti compilati a ogni compilazione incrementale anche se la maggior parte della soluzione era aggiornata — e quanto costano a ogni compilazione.
- Cronologia di tutte le compilazioni della soluzione, conservata per una settimana per impostazione predefinita: ricerca, intervalli di date, un calendario e barre che mostrano a colpo d’occhio quale compilazione è stata lenta.
- Etichette — «prima della correzione», «nuovo SDK» — in uno dei cinque colori o in uno tuo; una compilazione con etichetta o mantenuta non viene mai eliminata per anzianità.
- Confronto da 2 a 10 compilazioni: l’andamento dei totali e una tabella progetti × compilazioni con differenze colorate, sparkline e percorso critico — copiata in Markdown per una pull request.
- Disattivala senza disinstallare: per una soluzione o ovunque; la cronologia resta.
La compilazione a colpo d’occhio
Apri Compila › Sequenza temporale compilazione (anche in Visualizza › Altre finestre e sulla barra degli strumenti SmithWorks). La finestra mostra l’ultima compilazione — o qualsiasi compilazione della cronologia — con un riepilogo in alto e una barra per progetto sotto.

Il tempo nella barra di stato
Dopo ogni compilazione, la barra di stato di Visual Studio ne mostra la durata e la differenza rispetto alla precedente compilazione comparabile: ⏱ 1 min 48 s (▲ 4.1 s) — ▲ più lenta, ▼ più veloce. È l’unica cosa che BuildSmith mostra di sua iniziativa, e si può disattivare nelle impostazioni.
Comparabile significa stesso tipo di compilazione (Compila o Ricompila), stessa configurazione, stessa piattaforma e stesso branch Git. Se una compilazione simile non esiste ancora, viene mostrata solo la durata.
L’intestazione
La parte superiore della finestra riassume la compilazione mostrata:
| Sullo schermo | Significato |
|---|---|
| ✓ 1 min 48 s ▲ 4.1 s rispetto alla precedente | Il risultato (riuscita o non riuscita), la durata totale e un badge con la differenza rispetto alla precedente compilazione comparabile; la sua descrizione comando indica quanto è durata quella compilazione e quando. |
| 14 progetti · 9 compilati · 5 aggiornati · 1 non riusciti | Quanti progetti hanno partecipato, quanti sono stati davvero compilati, quanti sono stati saltati perché aggiornati e quanti non sono riusciti. |
| percorso critico 1 min 31 s · Debug · Any CPU · main | La lunghezza del percorso critico, poi la configurazione, la piattaforma e il branch Git della compilazione. |
| Il selettore di compilazione | Qualsiasi compilazione registrata della soluzione: la sequenza temporale passa a quella. |
| 🏷 ⏻ ⚙ | 🏷 assegna un’etichetta alla compilazione mostrata, ⏻ attiva o disattiva la registrazione, ⚙ apre le impostazioni. |
Le barre
| Sullo schermo | Significato |
|---|---|
| Barra blu | Un progetto che è stato compilato, una riga per progetto nell’ordine di avvio: la barra inizia dove il progetto è davvero iniziato dopo l’avvio della compilazione ed è lunga quanto è durato. Le barre che si sovrappongono sono state eseguite in parallelo, così vedi quanto è stata davvero parallela la compilazione. |
| Contorno arancione | Il percorso critico: la catena di progetti, ognuno in attesa del precedente, che ha determinato la durata totale. Velocizzarne uno velocizza la compilazione; gli altri progetti sono stati eseguiti in parallelo. |
| Tratto tratteggiato | Aggiornato: saltato, non è cambiato nulla. |
| Barra rossa | La compilazione del progetto non è riuscita. |
| ▲ 2.4 s | Accanto a ogni barra: la sua durata e, quando è rilevante, la differenza rispetto allo stesso progetto nella precedente compilazione comparabile. |
Passa il mouse su una barra per i dettagli: quanto è durato il progetto, da quando a quando dopo l’avvio della compilazione, la differenza rispetto alla compilazione precedente e se era sul percorso critico.
La finestra può restare aperta mentre lavori: passa da sola a ogni nuova compilazione. Le schede Sequenza temporale, Confronto e Cronologia sono in alto.
Mai aggiornati
Alcuni progetti vengono compilati a ogni compilazione, anche quando non è cambiato nulla. Ogni volta costa qualche secondo, e nessuno se ne accorge. BuildSmith sì: sopra la sequenza temporale di una compilazione incrementale, una striscia dice quanti progetti di questo tipo ci sono e quanto costano a ogni compilazione. Si espande nell’elenco dei progetti; le loro righe nella sequenza temporale ricevono il segno ⟳.

La regola: un progetto viene segnalato quando è stato compilato in ognuna delle ultime 3–5 compilazioni incrementali della stessa configurazione e dello stesso branch, mentre più di metà della soluzione era aggiornata. Le ricompilazioni non contano — lì tutto viene compilato di proposito.
Le cause più comuni:
- un file con Copia nella directory di output: Copia sempre — basta Copia se più recente;
- un’istruzione pre-compilazione o post-compilazione che modifica un file da cui dipende il progetto;
- codice generato a ogni compilazione, anche quando la sua origine non è cambiata.
Risolverlo fa risparmiare quel tempo a ogni compilazione. La striscia si può disattivare nelle impostazioni: Segnala i progetti mai aggiornati.
Cronologia
La scheda Cronologia elenca le compilazioni registrate della soluzione, dalla più recente, raggruppate per giorno. Ogni riga mostra l’ora, il tipo di compilazione, la configurazione e il branch, l’etichetta e una barra proporzionale alla durata — una compilazione lenta salta subito all’occhio.

Trovare una compilazione
Digita nella casella di ricerca — ogni parola deve trovarsi nell’etichetta, nel branch, nella configurazione o nel tipo di compilazione. Restringi per data con Oggi, Ieri e oggi, 7 giorni o Tutte, oppure scegli le date nel calendario (Date…). Solo con etichetta lascia le compilazioni a cui hai assegnato un’etichetta.
Aprire, etichettare, conservare, eliminare
Fai clic su una compilazione (o premi Enter) per aprirla nella sequenza temporale. Con il clic destro: Apri nella sequenza temporale, Etichetta…, Conserva (non eliminare mai) ed Elimina. Il tasto Delete elimina la compilazione, con Annulla per qualche secondo. Il menu ⋯ elimina le compilazioni più vecchie di una data, cancella la cronologia di questa soluzione o di tutte le soluzioni.
Seleziona le compilazioni per confrontarle o per eliminarne diverse insieme. Seleziona quelle con etichetta seleziona ogni compilazione mostrata che ha un’etichetta — il modo più rapido per confrontare «prima» e «dopo».
Per quanto tempo vengono mantenute le compilazioni
Le compilazioni vengono mantenute solo su questo computer, in %LocalAppData%\BuildSmith, una cronologia per soluzione — per 1 giorno, 3 giorni, 1 settimana (predefinito), 2 settimane o 1 mese. Le compilazioni più vecchie vengono eliminate all’apertura della soluzione o alla fine di una compilazione. Quelle con etichetta e quelle mantenute restano, per quanto vecchie siano.
Etichette
🏷 nell’intestazione (o Etichetta… nel menu della cronologia) assegna a una compilazione un breve testo e un colore: uno dei cinque, o uno tuo da un piccolo selettore con tavolozza e colori recenti. Le etichette usate di recente vengono riproposte con un clic, così una serie di compilazioni può condividere la stessa etichetta.
Una compilazione con etichetta non viene mai eliminata per anzianità (a meno che tu non disattivi Conserva le compilazioni con etichetta). Conserva (non eliminare mai) blocca una compilazione senza etichetta.
Registrazione
⏻ nell’intestazione sceglie se le compilazioni vengono registrate:
| Scelta | Cosa succede |
|---|---|
| Registra le compilazioni | L’impostazione predefinita: ogni compilazione viene cronometrata e conservata nella cronologia. |
| Non per questa soluzione | Questa soluzione non viene più registrata; le altre sì. Le impostazioni elencano queste soluzioni, con Registra di nuovo. |
| Disattiva ovunque | BuildSmith dorme in tutte le soluzioni. |
Mentre dorme, BuildSmith non fa davvero nulla: non si iscrive agli eventi di compilazione, non scrive nulla nella barra di stato né su disco. La cronologia resta, e la finestra propone Registra di nuovo le compilazioni.
Confrontare le compilazioni
La scheda Confronto mette le compilazioni una accanto all’altra: la correzione è servita, quale progetto è rallentato dopo l’aggiornamento, come è andata la durata della compilazione nel corso della settimana.

Scegliere le compilazioni
Seleziona da 2 a 10 compilazioni in Cronologia e premi ⇄ Confronta N. Senza selezioni, la scheda Confronto mette la compilazione mostrata a confronto con la precedente comparabile. Le compilazioni compaiono come chip in alto; ✕ ne toglie una dal confronto.
L’andamento e la tabella
Un piccolo grafico mostra la durata totale di ogni compilazione. Sotto, una tabella progetti × compilazioni: ogni cella è colorata in base alla differenza rispetto alla prima compilazione — più caldo è più lento, verde è più veloce — con una sparkline, la differenza e ● dove il progetto era sul percorso critico. I progetti senza differenze rilevanti sono raccolti in … altri N senza variazioni notevoli.
Solo i progetti che ti interessano
Progetti: … filtra la tabella: Tutti i progetti (N), Cambiati in modo notevole (N), Sul percorso critico (N) o Solo quelli selezionati, con una casella di ricerca. Il filtro viene ricordato per soluzione, e l’andamento somma allora la durata dei progetti filtrati — l’andamento dei tuoi progetti, non dell’intera soluzione.
Un progetto attraverso le compilazioni
Fai clic su un progetto per vederne le barre in ogni compilazione confrontata; una barra contornata indica che era sul percorso critico di quella compilazione. ‹ Tutti i progetti torna indietro.
Copiare come Markdown
⧉ Copia mette negli Appunti la tabella così come la vedi — le stesse compilazioni, lo stesso filtro — come tabella Markdown, pronta per una pull request o una chat. Nella vista di un singolo progetto copia quel progetto.
Impostazioni
Strumenti › Opzioni › SmithWorks › BuildSmith (o ⚙ nella finestra Sequenza temporale compilazione). Ogni opzione ha una breve descrizione di cosa fa.
| Opzione | Predefinito |
|---|---|
| Registra le compilazioni | attivo |
| Non registrate per: | Nessuna soluzione è disattivata. |
| Conserva le compilazioni per: | 1 settimana |
| Conserva le compilazioni con etichetta | attivo |
| Tempo nella barra di stato | attivo |
| Segnala i progetti mai aggiornati | attivo |
| Chiedi una valutazione sul Marketplace | attivo |
Cancella tutta la cronologia (N soluzioni, dimensione)… elimina le compilazioni registrate di tutte le soluzioni e chiede se conservare quelle con etichetta e quelle conservate. In basso: Ripristina predefiniti, Documentazione, Valuta nel Marketplace e Invia feedback.
Le impostazioni e la cronologia sono salvate in %LocalAppData%\BuildSmith.

FAQ
BuildSmith invia dei dati?
No. Le durate vengono prese dagli eventi di compilazione di Visual Studio e conservate sul tuo computer, in %LocalAppData%\BuildSmith. Nessuna richiesta di rete, nessuna telemetria.
Perché accanto alla durata non c’è la differenza?
Non c’è ancora una compilazione comparabile: stesso tipo (Compila o Ricompila), configurazione, piattaforma e branch. Compila ancora una volta e la differenza compare.
Che cos’è esattamente il percorso critico?
La catena di progetti che la compilazione ha dovuto attendere: ognuno è partito solo dopo la fine del precedente. La sua lunghezza è la durata minima che la compilazione potrebbe avere con questi progetti, indipendentemente da quanti core hai. Velocizzare un progetto fuori dal percorso critico non accorcia la compilazione.
La finestra resta vuota dopo una compilazione.
Verifica che la registrazione sia attiva (⏻ nella finestra, Registra le compilazioni nelle impostazioni) e che questa soluzione non sia nell’elenco Non registrate per. Le compilazioni avviate fuori da Visual Studio (dotnet build dalla riga di comando) non vengono registrate.
BuildSmith rallenta la compilazione?
No. Ascolta l’inizio e la fine di ogni progetto, che Visual Studio segnala comunque, e scrive un piccolo file dopo la compilazione. Non modifica la compilazione né il suo log.
Quanto spazio su disco occupa la cronologia?
Pochissimo: una compilazione è un breve elenco di progetti con le loro durate. Le impostazioni mostrano la dimensione accanto a Cancella tutta la cronologia, e le compilazioni vecchie se ne vanno da sole dopo il periodo scelto.
Dove posso segnalare un problema o suggerire una funzionalità?
Apri una issue nel repository Feedback su GitHub: ci sono moduli per bug e idee (cambia i nomi privati). Puoi anche usare la scheda Q&A nel Marketplace.
Registro modifiche
1.0.0
- Prima versione: la durata della compilazione e la sua differenza nella barra di stato, la finestra Sequenza temporale compilazione con il percorso critico, i progetti mai aggiornati, la cronologia con ricerca, date ed etichette, il confronto fino a 10 compilazioni con copia in Markdown, la registrazione attivabile per soluzione, la barra degli strumenti SmithWorks, una sola richiesta di valutazione.