LazowskiAnton · Extensions

PackageSmith

Le versioni dei pacchetti NuGet proprio dove sono scritte: la versione più recente dopo ogni riga di pacchetto, tutta la cronologia al passaggio del puntatore, l’aggiornamento con Ctrl+. e i pacchetti vulnerabili o deprecati segnalati prima che lo faccia la build.

Gratuito · Visual Studio 2022 e 2026 · 14 lingue dell’interfaccia · nessuna telemetria

Perché PackageSmith

Lo stesso file di progetto senza e con PackageSmith: le versioni più recenti dopo le righe dei pacchetti

Ciò che è vecchio, a colpo d’occhio

Non serve aprire la finestra NuGet per sapere cosa è vecchio: la versione più recente sta dopo ogni pacchetto, verde per una patch, gialla per una minor, arancione per una major.

Prima gli aggiornamenti sicuri

Una vulnerabilità nota è in rosso direttamente sulla riga, con la versione più vicina che la corregge; un pacchetto deprecato indica il suo sostituto.

Solo le tue origini

Le versioni arrivano dalle origini pacchetti del tuo NuGet.config: nuget.org o il feed della tua azienda. Vengono richiesti solo nomi e versioni dei pacchetti; nulla su di te o sul tuo progetto viene inviato.

Gratuito, senza condizioni

Nessun abbonamento, nessuna versione «pro», nessuna raccolta di dati, nessun messaggio nella finestra Output o all’avvio. 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à

Versioni a fine riga

Dopo ogni riga PackageReference, PackageVersion e package: nulla di vistoso se il pacchetto è aggiornato, altrimenti la versione più recente nel colore del salto. Le versioni non elencate non vengono mai proposte; le versioni preliminari solo ai pacchetti che ne usano già una, a meno che un’impostazione non dica altrimenti.

Un file Directory.Packages.props con le versioni più recenti, un pacchetto vulnerabile e uno deprecato
Dopo la rigaSignificato
✓ ultimaIl pacchetto è alla sua versione più recente.
→ 8.0.4 patchCambia solo il terzo numero: correzioni.
→ 6.5.1 minorCambia il secondo numero: nuove funzionalità, senza modifiche incompatibili previste.
→ 5.0.2 majorCambia il primo numero: è qui che stanno le modifiche incompatibili.
⚠ vulnerabile · altaLa versione in uso ha una vulnerabilità di sicurezza nota, con la sua gravità.
deprecato · usa …Gli autori hanno deprecato il pacchetto e indicano quello da usare al suo posto.

Una scheda al passaggio del puntatore

Posa il puntatore su una versione nel codice o sul testo dopo la riga: la scheda mostra la descrizione, la versione più recente di ogni linea più nuova (10.0.13, 9.0.10, 8.0.21 per un pacchetto alla 8.0.0) con la sua data, quante altre versioni più recenti ci sono, la vulnerabilità con l’aggiornamento più vicino che ne è privo e i pulsanti Aggiorna a …, Apri su nuget.org e Sito del progetto. Un clic su una qualsiasi versione dell’elenco la imposta.

La scheda di un pacchetto vulnerabile con la versione più recente di ogni linea

Aggiornamento con Ctrl+.

Cursore su una riga di pacchetto, Ctrl+.: la patch, la minor e la major più recenti vengono proposte separatamente, così l’aggiornamento sicuro è sempre a un tasto di distanza. Aggiorna tutti i pacchetti del file entro la loro versione major porta ogni pacchetto alla sua versione più recente della stessa major: le major restano una decisione a parte. Una versione presa da una proprietà ($(ContosoVersion)) viene aggiornata dove il file la definisce. Il file viene modificato come con una modifica manuale: Annulla funziona e Visual Studio ripristina i pacchetti come al solito.

La lampadina con gli aggiornamenti patch, minor e major di un pacchetto

Impostazioni

Strumenti → Opzioni → SmithWorks → PackageSmith. Ogni opzione ha una descrizione.

OpzionePredefinito
Mostra la versione più recente dopo ogni pacchettoattivo
Contrassegna i pacchetti aggiornati con "✓ ultima"attivo
Proponi versioni preliminari per ogni pacchettodisattivo
Contrassegna i pacchetti non trovati nelle tue originidisattivo
Segnala i pacchetti vulnerabili e deprecatiattivo
Scheda al passaggio del puntatoreattivo
Aggiorna con Ctrl+.attivo
Ricontrolla dopo1 ora
Offlinedisattivo
Chiedi una valutazione sul Marketplaceattivo

Le impostazioni sono salvate in %LocalAppData%\PackageSmith, le versioni memorizzate accanto a esse.

Pagina delle opzioni di PackageSmith
La pagina delle opzioni.

FAQ

PackageSmith invia dati?

Chiede alle tue origini pacchetti (da NuGet.config; nuget.org se manca) le versioni dei pacchetti presenti nei tuoi file: le stesse richieste che Visual Studio fa quando li ripristina. Non viene inviato nient’altro: nessuna telemetria, nessun nome di progetto, nulla su di te. Con Offline attivo non viene fatta alcuna richiesta.

Il feed della mia azienda richiede l’accesso. Funziona?

Non ancora: i feed che richiedono credenziali vengono saltati e i loro pacchetti restano senza note, così non compare nessuna risposta sbagliata. I feed v3 pubblici (nuget.org, feed aziendali aperti) funzionano.

Perché dopo alcuni pacchetti non c’è niente?

Non viene scritto nulla quando la versione è un intervallo o un carattere jolly ([1.0,2.0), 13.*), quando una proprietà è definita in un altro file o quando nessuna origine ha risposto. Attiva Contrassegna i pacchetti non trovati nelle tue origini per vedere i pacchetti che ogni origine ha dichiarato di non avere.

Funziona con la gestione centralizzata dei pacchetti?

Sì: le versioni vengono mostrate in Directory.Packages.props dopo ogni PackageVersion, e viene mostrato anche VersionOverride in un progetto.

L’aggiornamento ripristina i pacchetti?

PackageSmith modifica solo il file. Visual Studio ripristina i pacchetti dopo la modifica, come quando cambi la versione a mano.

Funziona insieme a LensSmith?

Sì. Entrambi scrivono a fine riga, quindi si dividono quello spazio: prima la versione, poi un avviso NuGet di LensSmith.

Dove segnalo un problema o suggerisco 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.1

1.0.0