ColorSmith
Campioni di colore e un vero selettore di colori per l’editor di Visual Studio. Un campione appare solo dove il codice definisce davvero un colore, mai sulla parola «red» nel testo di una pagina o su #123 in un commento.
Gratuito · Visual Studio 2022 e 2026 · 14 lingue dell’interfaccia · nessuna telemetria
Perché un’altra estensione per i colori
Rilevamento intelligente
Ogni linguaggio ha il proprio lexer: stringhe, commenti e codice vengono distinti. Un nome di colore ottiene un campione solo in un contesto di colore (Foreground="Red", color: red), non nel testo normale.
Un selettore che vale la pena aprire
HEX, RGB, HSL e OKLCH, contagocce con lente, tinte chiare e scure, colori del file, preferiti, contrasto WCAG. Il risultato viene riscritto nella notazione già usata dal codice.
Gratuito, senza condizioni
Nessun abbonamento, nessuna prova, nessun promemoria insistente, nessuna telemetria. Le impostazioni restano sul tuo computer.
Parla la tua lingua
Inglese, ceco, tedesco, spagnolo, francese, italiano, giapponese, coreano, polacco, portoghese (Brasile), russo, turco, cinese (semplificato e tradizionale). Segue la lingua di Visual Studio.
Funzionalità
- Campioni nell’editor per colori hex, funzioni CSS (
rgb(),hsl(),hwb(),oklch(),oklab()), colori con nome, membri .NET (Colors.Red,Brushes.Teal,SKColors.Gold) e chiamate con argomenti letterali (Color.FromArgb(255, 61, 139, 255),new Color32(…),QColor(…),RGB(…)). - Quattro modalità di visualizzazione: un quadrato prima del valore, un quadrato nel margine, una sottolineatura (predefinita) o lo sfondo del valore stesso. Solo la prima sposta il testo.
- Fai clic su un campione per aprire il selettore; la modifica sostituisce il valore sul posto, mantenendone la notazione.
- Scheda colore al passaggio del mouse: valori in più spazi colore, il colore con nome più vicino e il contrasto su bianco e su nero.
- Valori composti: CSS
light-dark()(campione diviso),color-mix()(risultato calcolato), sfumature CSS e pennelli sfumatura XAML. - Risorse:
{StaticResource AccentBrush},{DynamicResource …},{ThemeResource …}evar(--accent)vengono risolti dai file XAML e CSS della soluzione; i valori dei temi chiaro e scuro danno un campione diviso. - Classi di colore Tailwind CSS:
bg-sky-500,hover:text-white/80,bg-[#1da1f2]. - Sostituisci nella soluzione: cambia un colore ovunque, ogni posizione nella propria notazione, con la ricerca opzionale di «tonalità simili».
- Anteprima colore in IntelliSense: quando nell’elenco di completamento è selezionato un colore, sopra il cursore compare un’etichetta con quel colore.
Linguaggi
| Linguaggio | Cosa ottiene un campione |
|---|---|
| C#, Visual Basic, F# | stringhe hex, Colors.X / Brushes.X / Color.X, Color.FromArgb / FromRgb con letterali, Unity Color / Color32, SkiaSharp, MAUI |
| C / C++ | stringhe hex, RGB(), D2D1::ColorF, QColor, IM_COL32 |
| JavaScript / TypeScript | stringhe hex e CSS, nomi assegnati a destinazioni di colore (fillStyle = 'red'), new THREE.Color(), classi Tailwind in JSX |
| Python | stringhe hex, matplotlib "tab:blue", QColor(…), nomi solo come argomenti di colore (color="red", Tkinter bg=) |
| XAML / AXAML | proprietà di colore, setter, risorse <Color>, pennelli sfumatura, riferimenti a risorse, MAUI AppThemeBinding |
| CSS / SCSS / LESS | solo valori delle dichiarazioni, variabili, light-dark(), color-mix(), sfumature, var() |
| HTML / Vue / SVG / Razor | attributi style, attributi di colore, blocchi <style> e <script>, blocchi C# Razor, classi Tailwind |
Selettore di colori
Fai clic su un campione o su Modifica nella scheda colore. Il selettore si apre accanto al valore e mostra in quale notazione lo riscriverà (Color.FromArgb() nell’esempio).
- Area saturazione/valore, barre di tonalità e alfa.
- Inserimento in HEX, RGB, HSL e OKLCH; la riga sotto mostra esattamente cosa verrà scritto nel codice.
- Il contagocce preleva un colore in qualsiasi punto dello schermo. Una lente mostra i pixel sotto il cursore; le frecce lo spostano di un pixel, Shift+frecce di dieci.
- Copia come HEX per XAML/.NET o CSS,
rgb(),hsl(),oklch(),Color.FromArgb, UnityColoro0xAARRGGBB. - Tinte chiare e scure del colore corrente, colori in questo file, preferiti (pulsante a stella) e colori recenti.
- Contrasto (WCAG) del colore usato come testo sullo sfondo dell’editor, sul bianco o sul nero, con i contrassegni AA / AAA / Grande.
- Il colore con nome più vicino (≈ DodgerBlue); fai clic per usare il nome esatto.
- Enter applica, Esc annulla; anche un clic fuori dal selettore applica. Le sezioni si possono comprimere e il selettore le ricorda. Il pulsante ? apre questa pagina.
I colori composti e quelli delle risorse sono di sola lettura nel selettore: modifica i colori al loro interno, oppure la risorsa dove è definita.

Scheda colore
Passa il mouse su un colore per vederne la scheda. Nelle modalità sottolineatura e sfondo la scheda ha anche dei pulsanti: Modifica apre il selettore, Copia copia il valore, Sostituisci colore nella soluzione… avvia una sostituzione in tutta la soluzione. Alt+clic su un campione copia il valore senza aprire nulla.


light-dark(): entrambi i valori e un campione diviso.
Come funziona il rilevamento
ColorSmith non cerca nel testo con un’unica grande espressione regolare. Ogni file viene suddiviso in stringhe, commenti e codice dal lexer del suo linguaggio, e un valore diventa un colore solo se il contesto non lascia dubbi. Nel dubbio, nessun campione.
| Ottiene un campione | Resta testo normale |
|---|---|
Foreground="Red", color: red; | <p>Red is my favorite color</p> |
"#3D8BFF", // #3D8BFF | // fixed in #123 (hex brevi nei commenti) |
Color.FromArgb(255, 61, 139, 255) | Color.FromArgb(alpha, r, g, b) (valore sconosciuto) |
bg-sky-500, text-white/80 | text-lg, border-2, bg-cover |
color="red" in Python | status = "red", (255, 0, 0) |
a { color: navy } | selettori #main, .red, font-family: Red Hat |
Hex a 8 cifre
#XXXXXXXX indica alfa all’inizio in .NET, XAML e Qt (#AARRGGBB) e alfa alla fine in CSS e JavaScript (#RRGGBBAA). Per le stringhe C#, VB e C++ l’ordine è un’impostazione, perché Unity e il codice orientato al web usano alfa alla fine.
Sostituisci nella soluzione
Aprilo con la lampadina (Ctrl+.) su un colore o con il pulsante nella scheda colore. Trova il colore in ogni notazione nella cartella della soluzione (escluse bin, obj e node_modules), ti lascia scegliere le posizioni e riscrive ciascuna nella propria notazione. I file modificati si aprono senza essere salvati, con un passaggio di annullamento per file, così puoi rivedere tutto prima di salvare.
Impostazioni
Strumenti → Opzioni → SmithWorks → ColorSmith. Ogni opzione ha una descrizione subito sotto.
| Opzione | Predefinito |
|---|---|
| Mostra campioni di colore | attivo |
| Modalità di visualizzazione | Sottolineatura |
| Dimensione del campione | Medio |
| Anteprima colore in IntelliSense | attivo |
| Sostituisci nella soluzione | attivo |
| Colori hex nei commenti | attivo |
| Classi Tailwind CSS | attivo |
| Colori delle risorse | attivo |
| Hex a 8 cifre in C#, VB e C++ | #AARRGGBB |
| Dimensione massima del file (KB) | 4096 |
| Linguaggi | tutti attivi |
Le impostazioni sono salvate in %LocalAppData%\ColorSmith, insieme ai preferiti e ai colori recenti del selettore.

FAQ
Perché il mio colore non ha un campione?
Molto probabilmente il contesto è ambiguo: un nome fuori da un contesto di colore, una chiamata con un argomento variabile, un hex breve in un commento o un valore costruito con var()/calc(). Verifica anche che il linguaggio sia attivo nelle impostazioni e che il file non superi il limite di dimensione.
I colori possono apparire come icone nell’elenco di IntelliSense?
No. Visual Studio non consente a un’estensione di cambiare le icone degli elementi di completamento di altri provider. ColorSmith mostra invece un’etichetta colorata sopra il cursore.
Il campione sposta il mio codice?
Solo nella modalità «quadrato prima del valore». Le modalità margine, sottolineatura e sfondo non spostano mai il testo.
Posso modificare un colore di risorsa dove viene usato?
Non ancora. La scheda mostra il valore di ogni tema con file e riga; modificalo nella definizione.
ColorSmith invia dati?
No. Nessuna telemetria e nessun accesso alla rete.
Dove segnalo un problema o suggerisco una funzionalità?
Apri una issue nel repository Feedback su GitHub: ci sono moduli per bug e idee. Puoi anche usare la scheda Q&A nel Marketplace.
Registro modifiche
1.0.2
- Feedback: un pulsante nella barra del titolo del selettore e un collegamento «Invia feedback» nelle impostazioni aprono il repository Feedback su GitHub.
- Le impostazioni sono state spostate in Strumenti → Opzioni → SmithWorks → ColorSmith, accanto alle altre estensioni SmithWorks.
1.0.1
- Il pulsante Impostazioni (ingranaggio) nella barra del titolo del selettore apre Strumenti → Opzioni → ColorSmith.
- Una richiesta una tantum, facile da ignorare, di valutare l’estensione dopo un lungo utilizzo, e un collegamento «Valuta nel Marketplace» nelle impostazioni.
1.0.0
- Prima versione pubblica.
- Pulsante di aiuto nel selettore e collegamento Documentazione nelle impostazioni.